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,
},
};
当尝试使用 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,
},
};