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
2 - Balance
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
4 - LACP (802.3AD)
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