Add interface/sub-interface config documentation
This commit is contained in:
@ -188,3 +188,78 @@ vxlan_tunnels:
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Interfaces
|
### Interfaces
|
||||||
|
|
||||||
|
Interfaces and their sub-interfaces are configured very similarly. Interface names MUST either
|
||||||
|
exist as a PHY in VPP (ie. `HundredGigabitEthernet12/0/0`) or as a specified `BondEthernetN` or
|
||||||
|
`vxlan_tunnel0` device. The configuration allows the following fields:
|
||||||
|
|
||||||
|
* ***description***: A string, no longer than 64 characters, and excluding the single quote '
|
||||||
|
and double quote ". This string is currently not used anywhere, and serves for enduser
|
||||||
|
documentation purposes.
|
||||||
|
* ***lcp***: A Linux Control Plane interface pair _LIP_. If specified, the interface will be
|
||||||
|
presented in Linux under this name. Its name may be at most 15 characters long, and match
|
||||||
|
the regular expression `[a-z]+[a-z0-9-]*`. In sub-interfaces, a _LIP_ may only be specified
|
||||||
|
if its direct parent has an _LIP_ as well. In the case of a QinQ or QinAD sub-interface, there
|
||||||
|
must exist an intermediary interface with the correct encapsulation, and it too must have a
|
||||||
|
_LIP_.
|
||||||
|
* ***mtu***: An integer value between [128,9216], noting the MTU of the interface. The MTU for
|
||||||
|
a PHY will be set as its Max Frame Size in addition to its packet MTU. Parents must always have
|
||||||
|
a larger MTU than any of their children (this is done to satisfy Linux Control Plane).
|
||||||
|
* ***addresses***: A list of between one and six IPv4 or IPv6 addresses including prefixlen
|
||||||
|
in CIDR format. VPP requires IP addresses to be unique in the entire dataplane, with one
|
||||||
|
notable exception: Multiple IP addresses in the same prefix/len can be added on one and the
|
||||||
|
same interface.
|
||||||
|
* ***l2xc***: A Layer2 Cross Connect interface name. An `l2xc` will be configured, after which
|
||||||
|
this interface cannot have any L3 configuration (IP addresses or LCP), and neither can the
|
||||||
|
target interface.
|
||||||
|
|
||||||
|
Further, top-level interfaces, that is to say those that do not have an encapsulation, are permitted
|
||||||
|
to have any number of sub-interfaces specified by `subid`, an integer between [0,2G), which further
|
||||||
|
allow the following field:
|
||||||
|
* ***encapsulation***: An encapsulation for the sub-interface:
|
||||||
|
* ***dot1q***: An outer Dot1Q tag, an integer between [1,4096).
|
||||||
|
* ***dot1ad***: An outer Dot1AD tag, an integer between [1,4096).
|
||||||
|
* ***inner-dot1q***: An inner Dot1Q tag, an integer between [1,4096).
|
||||||
|
* ***exact-match***: A boolean, signalling the sub-interface should match on the exact number
|
||||||
|
of tags specified. This is required for any L3 interface (carrying an IP address or LCP),
|
||||||
|
but allowed to be False for L2 interfaces (ie. bridge-domain members or L2XC targets).
|
||||||
|
* It is forbidden to specify both `dot1q` and `dot1ad` field.
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
```
|
||||||
|
interfaces:
|
||||||
|
HundredGigabitEthernet12/0/0:
|
||||||
|
lcp: "ice0"
|
||||||
|
mtu: 9000
|
||||||
|
addresses: [ 192.0.2.1/30, 2001:db8:1::1/64 ]
|
||||||
|
sub-interfaces:
|
||||||
|
1234:
|
||||||
|
mtu: 9000
|
||||||
|
lcp: "ice0.dot1q"
|
||||||
|
addresses: [ 192.0.2.5/30, 2001:db8:2::1/64 ]
|
||||||
|
1235:
|
||||||
|
mtu: 1500
|
||||||
|
lcp: "ice0.qinq"
|
||||||
|
addresses: [ 192.0.2.9/30, 2001:db8:3::1/64 ]
|
||||||
|
encapsulation:
|
||||||
|
dot1q: 1234
|
||||||
|
inner-dot1q: 1000
|
||||||
|
exact-match: True
|
||||||
|
|
||||||
|
BondEthernet0:
|
||||||
|
mtu: 9000
|
||||||
|
lcp: "bond0"
|
||||||
|
sub-interfaces:
|
||||||
|
100:
|
||||||
|
mtu: 2500
|
||||||
|
l2xc: BondEthernet0.200
|
||||||
|
encapsulation:
|
||||||
|
dot1q: 100
|
||||||
|
exact-match: False
|
||||||
|
200:
|
||||||
|
mtu: 2500
|
||||||
|
l2xc: BondEthernet0.100
|
||||||
|
encapsulation:
|
||||||
|
dot1q: 200
|
||||||
|
exact-match: False
|
||||||
|
```
|
||||||
|
Reference in New Issue
Block a user