[dpdk-dev] discussion about VLAN API
Thomas Monjalon
thomas at monjalon.net
Tue Aug 4 12:02:03 CEST 2020
Hi,
We have a quite complex API for VLAN filter/push/pop,
per port, per queue or per flow.
These are the old per-port functions:
rte_eth_dev_vlan_filter
rte_eth_dev_set_vlan_strip_on_queue
rte_eth_dev_set_vlan_ether_type
rte_eth_dev_set_vlan_offload
rte_eth_dev_get_vlan_offload
rte_eth_dev_set_vlan_pvid
In rte_eth_dev_data:
struct rte_vlan_filter_conf vlan_filter_conf
In rte_eth_txmode struct:
uint16_t pvid;
hw_vlan_reject_tagged : 1,
hw_vlan_reject_untagged : 1,
hw_vlan_insert_pvid : 1;
Configurartion flags:
ETH_VLAN_STRIP_OFFLOAD
ETH_VLAN_FILTER_OFFLOAD
ETH_VLAN_EXTEND_OFFLOAD
ETH_QINQ_STRIP_OFFLOAD
RX offload capabilities:
DEV_RX_OFFLOAD_VLAN_STRIP
DEV_RX_OFFLOAD_VLAN_FILTER
DEV_RX_OFFLOAD_VLAN_EXTEND
DEV_RX_OFFLOAD_QINQ_STRIP
TX offload capabilities:
DEV_TX_OFFLOAD_VLAN_INSERT
Types:
ETH_VLAN_TYPE_UNKNOWN
ETH_VLAN_TYPE_INNER
ETH_VLAN_TYPE_OUTER
rte_flow configuration:
RTE_FLOW_ITEM_TYPE_VLAN
RTE_FLOW_ACTION_TYPE_OF_POP_VLAN
RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN
RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID
RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP
What can be done to simplify this mess?
Wouldn't it be simpler to keep only rte_flow?
More information about the dev
mailing list