Bgp optional params
include collections
include order
object optional_parameter = {
type this = struct {
param_type: stream_pos,
param_len: stream_pos,
param_name: stream_data
}
This optional parameter may be used to authenticate a BGP
peer. The Parameter Value field contains a 1-octet
Authentication Code followed by a variable length
Authentication Data.
0 1 2 3 4 5 6 7 8
+-+-+-+-+-+-+-+-+
| Auth. Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Authentication Data |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Authentication Code:
This 1-octet unsigned integer indicates the
authentication mechanism being used. Whenever an
authentication mechanism is specified for use within
BGP, three things must be included in the
specification:
- the value of the Authentication Code which indicates
use of the mechanism,
- the form and meaning of the Authentication Data, and
- the algorithm for computing values of Marker fields.
Note that a separate authentication mechanism may be
used in establishing the transport level connection.
Authentication Data:
The form and meaning of this field is a variable-
length field depend on the Authentication Code.
The minimum length of the OPEN message is 29 octets (including message header).
b. Capabilities Optional Parameter (Parameter Type 2): https://www.iana.org/assignments/capability-codes/capability-codes.xhtml This is an Optional Parameter that is used by a BGP speaker to convey to its BGP peer the list of capabilities supported by the speaker.
The parameter contains one or more triples
+------------------------------+
| Capability Code (1 octet) |
+------------------------------+
| Capability Length (1 octet) |
+------------------------------+
| Capability Value (variable) |
+------------------------------+
The use and meaning of these fields are as follows:
Capability Code:
Capability Code is a one octet field that unambiguously
identifies individual capabilities.
Capability Length:
Capability Length is a one octet field that contains the length
of the Capability Value field in octets.
instance idx : unbounded_sequence
instance arr : array(idx,this)
}