Intel® Ethernet Controller E810 eSwitch Switchdev Mode

Technology and Configuration Guide

ID Date Version Classification
645272 12/31/2023 1.3 Public
Document Table of Contents

Limitations and Troubleshooting

  • When changing the mode to/from switchdev on the PF or applying configurations to the VF, if there is any limitation, check the dmesg log for informational and warning messages with the PCI address of that PF/VF.
  • If any VFs are already bound to a PF and you try to change eSwitch mode for that PF, the device rejects the devlink command with the error Operation not supported and logs an informational message stating DMESG: ice <pci/0000:xx:xx.x>: Changing eSwitch mode is allowed only if there is no VFs created.
  • If ADQ is enabled on the PF that has eSwitch mode set as switchdev, the device rejects the devlink command with the error Operation not supported and logs an informational message stating DMESG: ice <pci/0000:xx:xx.x: TC MQPRIO offload not supported, switchdev is enabled.
  • eSwitch switchdev mode does not support trusted VFs and rejects the command with the error Operation not supported.
  • Enabling L2 forwarding is not supported with switchdev mode. If you try to enable L2 offload on a port that is in switchdev mode, the command should be rejected with message Could not change any device features and log an informational message such as DMESG: ice <pci/0000:xx:xx.x>: MACVLAN offload cannot be configured - switchdev is enabled.
  • Switch filter must be maintained if the PF is reset (PFR). In case of a Global Reset (GLOBR) or Embedded Management Processor Reset (EMPR), the device must be able to relearn the switch filters, through the slow path learning mechanism, and offload to hardware.
  • Hardware offloaded Flow table supports the maximum number of rules (32K entry) and maximum number of recipes (64). The total number of offloaded flows in hardware depends on the number of tuple's field/filters used in the flow.
  • The default OVS max-idle (aging) time is 10 seconds. Therefore, all the hardware offloaded flows are deleted after the max-idle time expires. However, the next packet follows slow path learning and the flows are offloaded again to the hardware; this happens continuously. The max-idle time is configurable in the range of 10000 - 36000000 (in ms). The recommended value is 36000000 (10 hours). ovs-vsctl set Open_vSwitch . other_config:max-idle=36000000
  • After configuring SR-IOV VFs in switchdev mode, confirm that all interfaces (PF and VFs) are connected to same switch instance by reading the unique phys_​switch_​id as follows: cat /sys/class/net/$<PF1>/phys_switch_id

    or

    cat /sys/class/net/$<VF_PR>/phys_switch_id

    The phys_​switch_​id entry must show the same value for all interfaces belonging to the same switchdev instance.

  • When eSwitch mode is set as switchdev, then the host admin can read the interface port name within the Ethernet controller for associated interfaces by using PF or VF_​PR as follows: cat /sys/class/net/$<PF1>/phys_port_name

    or

    cat /sys/class/net/$<VF_PR>/phys_port_name
  • The packets are passed through the slow path when the hardware offload feature is not enabled. In this case, the TC-Flower rule action drop configuration must be applied on the tunnel created on the VF. For example: ip netns exec ns1 tc filter add dev vxlan100 protocol ip parent ffff: flower src_ip 172.31.100.12 dst_ip 172.31.100.11 action drop