Broadcom KNET network interfaces (“bcm-knet”) are an alternative for the “tun” interface type for the linux representation of the switch ports. They directly forward the packets in the kernel to and from the switch, reducing overhead and improving throughput and latency when communicating from the switch itself.

Due to the nature of the implementation, these can only be used when running baseboxd on the switch itself. When running baseboxd off-switch, only the tap interfaces are available.

Checking currently used network interface implementation

To check which network interface implementation is used, check the output of

ethtool -i port1

If the default Broadcom KNET network interface implementation is used, it will show

driver: bcm-knet

If the old tap interface implementation is used, it will show

driver: tun

Disabling use of Broadcom KNET network interfaces

To disable the use of Broadcom KNET network interfaces and switch to tap interfaces, edit /etc/default/baseboxd and change

# Use KNET interfaces:
# FLAGS_use_knet=true

to

# Use KNET interfaces:
FLAGS_use_knet=false

and reboot the switch.

Enabling use of Broadcom KNET network interfaces

To enable the use of Broadcom KNET network interfaces again, edit /etc/default/baseboxd and change

# Use KNET interfaces:
FLAGS_use_knet=false

to

# Use KNET interfaces:
FLAGS_use_knet=true

and reboot the switch.