DPDK SRIOV 多 vlan 流量通过 SRIOV 直通的单个 VF

DPDK SRIOV multiple vlan traffic over single VF of SRIOV passthrough

当尝试使用 RTE API 进行 VLAN 卸载和 VLAN 过滤时,我观察到同时发送了 VLAN 标记和未标记的数据包。

API的使用:

rte_eth_dev_set_vlan_offload ,
rte_eth_dev_vlan_filter

DPDK - 18.08
RHEL - 7.6
Driver - igb_uio

有没有办法只允许发送 VLAN 标记的数据包?

此致,

不确定我是否理解正确 - 您是在尝试从 tx 数据包中剥离 vlan 标签?你为什么要卸载它?如果您从其他地方转发数据包,则它们的标签已经被 rx offload 剥离。如果您自己创建它们,那么 - 您一切尽在掌握。

无论如何,如果你想卸载 tx vlan insertion:

rte_eth_dev_set_vlan_offload 仅设置 RX 卸载标志。

您可能必须在端口配置中手动设置 tx 卸载标志,就像 DPDK 流过滤示例代码中的这个删节片段:

struct rte_eth_conf port_conf = {
    .txmode = {
        .offloads =
            DEV_TX_OFFLOAD_VLAN_INSERT,
    },
};