Interfaces Configuration
Configuration Syntax and Commands
The following sections describe the interface configuration syntax and commands.
MTU Profile Configuration
This section describes how to configure MTU profiles.
Syntax:
set forwarding-options mtu-profile <attribute> <value>
Attribute | Description |
---|---|
mtu-profile <mtu-profile-name> |
MTU profile name |
mtu-size <mtu-size> |
MTU size. Range: 64 to 9216 bytes |
mtu-type <mtu-type> |
Specify the MTU type:
|
action <mtu-action> |
Specify the MTU action. The following options are supported: |
Example 1: Configuration of the MTU Profile for the Physical Port
{ "ietf-restconf:data": { "rtbrick-config:forwarding-options": { "mtu-profile": [ { "mtu-profile-name": "portMtu", "size": 5000, "type": "physical", "action": "redirect-to-cpu" } ] } } }
Example 2: MTU Profile Configuration of Type IPv4
{ "ietf-restconf:data": { "rtbrick-config:forwarding-options": { "mtu-profile": [ { "mtu-profile-name": "ipv4Mtu", "size": 1300, "type": "ipv4", "action": "redirect-to-cpu" } ] } } }
Example 3: MTU Profile Configuration of Type IPv6
{ "ietf-restconf:data": { "rtbrick-config:forwarding-options": { "mtu-profile": [ { "mtu-profile-name": "ipv6Mtu", "size": 1400, "type": "ipv6", "action": "redirect-to-cpu" } ] } } }
Example 4: Configuration of the MTU Profile for PPPoE
{ "ietf-restconf:data": { "rtbrick-config:forwarding-options": { "mtu-profile": [ { "mtu-profile-name": "pppoeMtu", "size": 1492, "type": "pppoe", "action": "redirect-to-cpu" } ] } } }
Enabling Hostpath Fragmentation
This section describes how to enable or disable fragmentation by CPU. It is necessary to configure MTU profile action "redirect-to-cpu" so that fragmentation takes place. By default, fragmentation is disabled.
Syntax:
set forwarding-options fragmentation ipv4 state <value>
Attribute | Description |
---|---|
disabled | cpu |
Enables fragmentation of IPv4 packets. |
Example: Configuration of Hostpath Fragmentation
{ "ietf-restconf:data": { "rtbrick-config:forwarding-options": { "fragmentation": { "ipv4": { "state": "cpu" } } } } }
Physical Interface Configuration
This section describes configuration options at the physical interface (IFP) level.
Syntax:
set interface <interface-name> <attribute> <value>
Attribute | Description |
---|---|
<interface-name> |
Name of the interface. Example: ifp-0/0/1. |
admin-status <down|up> |
Administrative state of the interface. |
auto-negotiation true |
Enable auto-negotiation. Note: To disable auto-negotiation, use the |
holddown <disable|enable> |
Enable or disable the holddown timer feature. By default, the feature is enabled. |
holddown-down-delay <…> |
Configure the down delay time in milliseconds (ms). |
holddown-up-delay <…> |
Configure the down delay time in milliseconds (ms). |
class-of-service <profile-name> |
Apply class-of-service profile name. |
description |
Configure physical interface description. |
host-if <container-interface> |
Configure a host interface. For example, if the container interface eth1 connects to the host interface vethXYZ123, use this command option to bound hostif-0/0/1 to eth1. Please note the Linux virtual ethernet (veth) interface needs to be created separately. It cannot be created via RBFS configuration. |
forward-error-correction <fec-type> |
Configure Forward Error Correction (FEC) on the physical interface. FEC allows you to send the required information to correct errors through the link along with the payload data. A benefit of "forward" in FEC is that errors detected at the receiver do not need to be retransmitted. Currently, the supported FEC types are: base-r, rsfec, none. NOTE: |
link-training true |
Enable link training. Note: To disable link training, use the |
master <true|false> |
Memif role, master or slave, applicable only to memif interface. One end needs to be configured as master, and the other one as slave. |
memif-id <id> |
Configure memif ID, applicable only to memif interface. Needs to match on both ends. |
mtu-profile <mtu-profile-name> |
Attach MTU profile to a physical interface. This is a mandatory attribute. |
mru <size> |
Maximum receive unit size on the physical interface. |
speed <speed> |
Configure speed mode for the interface. Port speed refers to the maximum amount of data transmitted. The speed value is specified in Gigabits per second (Gbps). Currently, RBFS supports 10G and 100G ports, and you can make the following changes:
|
Example 1: Physical Interface Configuration
{ "rtbrick-config:interface": [ { "name": "ifp-0/0/1", "description": "Link to leaf1", "speed": "10G", "mtu-profile": "portMtu", "mru": 5000 } ] }
Example 2: Memory Interface Configuration
A End:
{ "rtbrick-config:interface": [ { "name": "ifp-0/0/1", "description": "Master", "memif-id": 11, "master": "true", } ] }
B End:
{ "rtbrick-config:interface": [ { "name": "ifp-0/0/1", "description": "Slave", "memif-id": 11, "master": "false", } ] }
Example 3: Host Interface Configuration
{ "rtbrick-config:interface": [ "name": "ifp-0/0/1", "description": "Represents eth1 as ifp-0/0/1 in RBFS", "host-if": "eth1", ] }
Example 4: MRU Configuration for Physical Interface
{ "rtbrick-config:interface": [ { "name": "ifp-0/0/7", "mru": 5000 } ] }
Example 5: FEC Configuration for Physical Interface
{ "rtbrick-config:interface": [ { "name": "ifp-0/0/40", "forward-error-correction": "base-r" } ] }
Logical Interface Configuration
This section describes configuration options at the logical interface (IFL) level.
Syntax:
set interface <interface-name> unit <unit-id> <attribute> <value>
Attribute | Description |
---|---|
unit <unit-id> |
Create a logical interface (also referred to as a sub-interface) under the physical interface. |
admin-status <down|up> |
Administrative state of the logical interface. |
class-of-service <profile-name> |
Apply class-of-service profile name. |
description <description> |
Description of the logical interface. |
inner-vlan <inner-vlan-id> |
Inner VLAN ID. |
instance <instance> |
Assign the logical interface to an instance. |
ipv4-admin-status <down|up> |
Enable or disable IPv4. |
ipv4-mtu-profile <ipv4-mtu-profile> |
Attach IPv4 MTU profile to an L3 interface. |
ipv6-admin-status <down|up> |
Enable or disable IPv6. |
ipv6-mtu-profile <ipv6-mtu-profile> |
Attach IPv6 MTU profile to an L3 interface. |
ip-mtu-profile <ip-mtu-profile> |
Attach IP MTU profile to an L3 interface. |
mpls-admin-status <down | up> |
Enable or disable MPLS. |
mpls-mtu <mpls-mtu-size> |
MPLS maximum transmission unit size. |
neighbor <ipv4 | ipv6> <ip-address> mac <mac-address> |
Configure a static IPv4 or IPv6 neighbor. |
unnumbered interface <loopback-interface-name> |
Configure an un-numbered interface. |
vlan <outer-vlan-id> |
Outer VLAN ID. |
vlan-encapsulation <802.1ad | 802.1q> |
Specify the outer VLAN tag. |
Example 1: Logical Interface Configuration with IPv4 MTU Profile
{ "rtbrick-config:interface": [ { "name": "ifp-0/0/1", "unit": [ { "unit-id": 1, "description": "VLAN 101", "instance": "default", "ipv4-mtu-profile": "ipv4Mtu" } ] } ] }
Example 2: Logical Interface Configuration with IPv6 MTU Profile
{ "rtbrick-config:interface": [ { "name": "ifp-0/0/1", "unit": [ { "unit-id": 1, "description": "VLAN 101", "instance": "default", "ipv6-mtu-profile": "ipv6Mtu" } ] } ] }
Example 3: Logical Interface Configuration with IP MTU Profile
{ "rtbrick-config:interface": [ { "name": "ifp-0/0/1", "unit": [ { "unit-id": 1, "description": "VLAN 101", "instance": "default", "ip-mtu-profile": "ipMtu" } ] } ] }
Interface Address Configuration
This section describes how to configure interface IP addresses.
Syntax:
set interface <interface-name> unit <unit-id> address <afi> <attribute> <value>
Attribute | Description |
---|---|
<afi> |
Address family identifier (AFI). Supported values: ipv4 and ipv6 |
<prefix4|prefix6> |
Assign IPv4 or IPv6 address to the interface unit. |
community <community-value> |
Configure list of communities associated with the address. |
extended-community <community-value> |
Configure list of extended communities associated with the address. |
label <label-value> |
Configure label associated with the address. |
secondary true |
Enable a secondary IPv4 address.
Note: To disable the |
Broadcast and network IP addresses cannot be configured on logical (IFL) interfaces. |
Example: Interface Address Configuration
{ "rtbrick-config:interface": [ { "name": "lo-0/0/1", "unit": [ { "unit-id": 1, "address": { "ipv4": [ { "prefix4": "198.51.100.103/24", "label": 12346 } ] } } ] } ] }
Global Interface Configuration
This section describes a configuration option applied globally to all interfaces.
Syntax:
set global interface all <attribute> <value>
Attribute | Description |
---|---|
admin-status <up|down> |
Configure state of the interface. |
|
Example: Enabling or Disabling all Interfaces
{ "ietf-restconf:data": { "rtbrick-config:global": { "interface": { "all": { "admin-status": "down" } } } } }
Interface Holddown Configuration
By default, the Interface Hold-down feature is enabled. You can disable the feature if you want. It is allowed to configure timer value for options such as 'holddown down delay' and 'holddown up delay'.
Syntax:
set interface <interface-name> <attribute> <value>
Attribute | Description |
---|---|
<interface-name> |
Name of the interface. Example: ifp-0/0/1. |
holddown <disable|enable> |
Enable or disable the holddown timer feature. By default, the feature is enabled. |
holddown-down-delay |
Configure the down delay time in milliseconds (ms). The allowed values include 0, 100, 200, 500, 1000, 2000, 5000, and 10000. It overrides the default delay of '0' milliseconds. |
holddown-up-delay |
Configure the up delay time milliseconds (ms). The allowed values include 0, 100, 200, 500, 1000, 2000, 5000, and 10000. |
Enabling Gratuitous ARP on Interface
You can enable or disable the sending of Gratuitous ARP (GARP) on an interface. This section describes enabling or disabling GARP on an interface.
Syntax:
set interface <interface-name> unit <unit-id> gratitous-arp <enable|disable>
Attribute | Description |
---|---|
interface <interface-name> |
Name of the interface. Examples: ifp-0/0/1. |
gratitous-arp |
Specify enable or disable. |
Example: Enabling Gratitous ARP
supervisor@rtbrick.net: cfg> set interface hostif-0/0/0 unit 100 gratitous-arp enable|disable