Command reference. Startup
Startup commands are used to initialize Bison Router subsystems options which cannot be changed after starting Bison Router. The following commands can only be used in the Startup section of the configuration file, and are not intended for use with the rcli configuration tool.
port
The port
configuration command is used to set up port parameters.
port <dpdk_port_number> mtu <mtu_size> tpid <tpid_value> state enabled flags [flag, ...] [bond_slaves <slave>,...]
Description
Item | Description |
---|---|
port | Port number |
mtu | Maximum transmission unit (maximum packet size) |
tpid | TPID value |
bond_slaves | Ports numbers to be bonded |
Note
Bison Router port’s tpid value must match the tpid value of the switch port to which the Bison Router port is connected. The default value is 0x8100.
Flags
- qinq_enabled
- extend_vlan_offload
Example
This example shows how to add a port and setup the maximum transmission unit value for it:
port 2 mtu 1500 tpid 0x8100 state enabled
A command with multiple flags:
port 0 mtu 1500 tpid 0x8100 state enabled flags qinq_enabled,extend_vlan_offload
bond port
This command creates a new bonding (link aggregation group) port.
bond port mode <mode> bond_slaves <slave_port,...> primary port <port_number> policy <transmit_policy>
Note
To complete the port configuration, use the port
command after the bond port
command. This sequence is mandatory.
Note
bond_slaves
value must match in both commands.
Example
bond port mode 4 bond_slaves 0,1 primary port 1 policy 2
port 2 mtu 1500 tpid 0x8100 state enabled bond_slaves 0,1
Description
Item | Description | Value |
---|---|---|
mode | Bonding port operation mode |
In this mode all packets transmitted will be balanced
across the available slaves using one of three
available transmit policies: l2, l2+l3 or l3+l4
This mode provides auto negotiation/configuration
of peers and well as link status changes
and well as link status changes monitoring using out
of band LACP (link aggregation control protocol)
messages. For further details of LACP specification,
see the IEEE 802.3ad/8021AX standards.
It is also described here
|
bond_slaves | Ports to be bonded | |
primary port | Primary port number | |
policy | Transmission policy number | 0 - BALANCE_XMIT_POLICY_LAYER2 |
1 - BALANCE_XMIT_POLICY_LAYER23 | ||
2 - BALANCE_XMIT_POLICY_LAYER34 |
Note
The numbering of the bonding ports begins with the next number after the last physical port number, i.e. if there are 2 physical ports and their numbers are 0, 1, then the bonding port number will be 3. If there are 4 physical ports and their numbers are 0,1,2,3 and you bond 0 and 1, then the number of this bonding port will be 4.
rx_queue
The rx_queue
command is used to configure receive queues.
rx_queue port <port_number> queue <queue_number> lcore <lcore>
Description
Item | Description |
---|---|
port_number | Port number |
queue_number | RX queue number |
lcore | Logical core (lcore) number |
Example
This example shows how to distribute port 1
traffic between lcore 1
and lcore 2
:
rx_queue port 1 queue 1 lcore 2
rx_queue port 1 queue 2 lcore 1
rx_queues
The rx_queues
command is used to configure multiple receive queues for the given port.
rx_queues port <port_number> queues <number_of_queues> lcores <lcore_range>
Description
Item | Description |
---|---|
port_number | Port number |
number_of_queues | Number of RX queues to set up |
lcore_range | Logical cores to process the queues |
Example
This example sets up three RX queues with number 0 - 2 for port 0. RX queue number 0 will be processed by lcore 1, RX queue 1 by lcore 2, and so on.
rx_queues port 0 queues 3 lcores 1-3
sysctl
The sysctl
command is used to set
or get
the values of variables that control the behavior of the system.
sysctl set <name> <value>
Description
Item | Description |
---|---|
sysctl | System control |
set / get | Set variable value / display variable value |
name | Variable name |
Example
This example shows how to configure the total number of mbufs equal to 32768
:
sysctl set mbuf 32768