From: Chaoyong He <chaoyong.he@corigine.com>
To: Ferruh Yigit <ferruh.yigit@amd.com>
Cc: oss-drivers <oss-drivers@corigine.com>,
Niklas Soderlund <niklas.soderlund@corigine.com>,
"dev@dpdk.org" <dev@dpdk.org>
Subject: RE: [PATCH v2 00/25] add the extend rte_flow offload support of nfp PMD
Date: Tue, 25 Oct 2022 03:17:04 +0000 [thread overview]
Message-ID: <SJ0PR13MB554534645868C6982A7B408C9E319@SJ0PR13MB5545.namprd13.prod.outlook.com> (raw)
In-Reply-To: <64271a72-1d8e-617a-c395-909abee39b39@amd.com>
[-- Attachment #1: Type: text/plain, Size: 2187 bytes --]
> On 10/22/2022 9:24 AM, Chaoyong He wrote:
> > This is the third patch series to add the support of rte_flow offload
> > for nfp PMD, includes:
> > Add the offload support of decap/encap of VXLAN Add the offload
> > support of decap/encap of GENEVE Add the offload support of
> > decap/encap of NVGRE
> >
> > Changes since v1
> > - Delete the modificaiton of release note.
> > - Modify the commit title.
> > - Rebase to the lastest logic.
> >
> > Chaoyong He (25):
> > net/nfp: support IPv4 VXLAN flow item
> > net/nfp: support IPv6 VXLAN flow item
> > net/nfp: prepare for IPv4 tunnel encap flow action
> > net/nfp: prepare for IPv6 tunnel encap flow action
> > net/nfp: support IPv4 VXLAN encap flow action
> > net/nfp: support IPv6 VXLAN encap flow action
> > net/nfp: prepare for IPv4 UDP tunnel decap flow action
> > net/nfp: prepare for IPv6 UDP tunnel decap flow action
> > net/nfp: support IPv4 VXLAN decap flow action
> > net/nfp: support IPv6 VXLAN decap flow action
> > net/nfp: support IPv4 GENEVE encap flow action
> > net/nfp: support IPv6 GENEVE encap flow action
> > net/nfp: support IPv4 GENEVE flow item
> > net/nfp: support IPv6 GENEVE flow item
> > net/nfp: support IPv4 GENEVE decap flow action
> > net/nfp: support IPv6 GENEVE decap flow action
> > net/nfp: support IPv4 NVGRE encap flow action
> > net/nfp: support IPv6 NVGRE encap flow action
> > net/nfp: prepare for IPv4 GRE tunnel decap flow action
> > net/nfp: prepare for IPv6 GRE tunnel decap flow action
> > net/nfp: support IPv4 NVGRE flow item
> > net/nfp: support IPv6 NVGRE flow item
> > net/nfp: support IPv4 NVGRE decap flow action
> > net/nfp: support IPv6 NVGRE decap flow action
> > net/nfp: support new tunnel solution
> >
>
> Hi Chaoyong,
>
> './devtools/check-doc-vs-code.sh' tools reports some inconsistency, can you
> please fix it?
Sorry, I can't quite understand the logic of this script.
I'm quite sure I have listed the items and actions we supported in the file 'doc/guides/nics/features/nfp.ini'.
And seems it report for every nic which support rte_flow?
[-- Attachment #2: full.log --]
[-- Type: application/octet-stream, Size: 32162 bytes --]
rte_flow doc out of sync for bnxt
item (typeof(item->type))bnxt_last)
item bnxt_end) {
item case any:
item case eth:
item case gre:
item case ipv4:
item case ipv6:
item case tcp:
item case udp:
item case vlan:
item case vxlan:
item case port_id: {
item case port_representor: {
item case represented_port: {
item if (tunnel->type !
item } else if (item->type
item any
item eth
item gre
item icmp
item icmp6
item ipv4
item ipv6
item port_id
item port_representor
item represented_port
item tcp
item udp
item vlan
item vxlan
action (typeof(action_item->type))bnxt_last)
action (typeof(action_item->type))bnxt_end) {
action bnxt_vxlan_decap) {
action case rss:
action action_item.type
action case count:
action case drop:
action case mark:
action case port_id: {
action case port_representor: {
action case represented_port: {
action case rss:
action case vf:
action count
action dec_ttl
action drop
action jump
action mark
action of_pop_vlan
action of_push_vlan
action of_set_vlan_pcp
action of_set_vlan_vid
action pf
action port_id
action port_representor
action represented_port
action rss
action sample
action set_ipv4_dst
action set_ipv4_src
action set_tp_dst
action set_tp_src
action vf
action vxlan_decap
action vxlan_encap
rte_flow doc out of sync for cnxk
item any
item arp_eth_ipv4
item e_tag
item esp
item eth
item geneve
item gre
item gre_key
item gtpc
item gtpu
item higig2
item icmp
item ipv4
item ipv6
item ipv6_ext
item ipv6_frag_ext
item mark
item mpls
item nvgre
item raw
item sctp
item tcp
item udp
item vlan
item vxlan
item vxlan_gpe
action meter) {
action actions->type !
action case count:
action case drop:
action case flag:
action case mark:
action case meter:
action case of_pop_vlan:
action case of_push_vlan:
action case of_set_vlan_pcp:
action case of_set_vlan_vid:
action case pf:
action case port_id:
action case queue:
action case represented_port:
action case rss:
action case security:
action case vf:
action drop)
action * flag vs rte_flow_action_type_mark
action * mark.
action if (action->type !
action if (action_fate_green
action if (action_fate_red
action if (action_fate_yellow
action count
action drop
action flag
action mark
action meter
action of_pop_vlan
action of_push_vlan
action of_set_vlan_pcp
action of_set_vlan_vid
action pf
action port_id
action queue
action represented_port
action rss
action security
action vf
rte_flow doc out of sync for cxgbe
item eth);
item ipv4);
item ipv6);
item tcp);
item "no eth "
item "no eth found");
item "no ipv4 "
item "no ipv6 "
item "no tcp or "
item "udp found");
item udp);
item i->type !
item eth
item ipv4
item ipv6
item tcp
item udp
item vlan
action case count:
action case drop:
action case mac_swap:
action case of_pop_vlan:
action case of_push_vlan:
action case of_set_vlan_pcp:
action case of_set_vlan_vid:
action case queue:
action case set_ipv4_dst:
action case set_ipv4_src:
action case set_ipv6_dst:
action case set_ipv6_src:
action case set_mac_dst:
action case set_mac_src:
action case set_tp_dst:
action case set_tp_src:
action case mac_swap:
action case of_pop_vlan:
action case of_push_vlan:
action case of_set_vlan_pcp:
action case of_set_vlan_vid:
action case set_ipv4_dst:
action case set_ipv4_src:
action case set_ipv6_dst:
action case set_ipv6_src:
action case set_mac_dst:
action case set_mac_src:
action case set_tp_dst:
action case set_tp_src:
action if (action->type !
action count
action drop
action mac_swap
action of_pop_vlan
action of_push_vlan
action of_set_vlan_pcp
action of_set_vlan_vid
action queue
action set_ipv4_dst
action set_ipv4_src
action set_ipv6_dst
action set_ipv6_src
action set_mac_dst
action set_mac_src
action set_tp_dst
action set_tp_src
rte_flow doc out of sync for dpaa2
item eth);
item eth);
item eth);
item ipv4)) {
item ipv6)) {
item case eth:
item case gre:
item case icmp:
item case ipv4:
item case ipv6:
item case raw:
item case sctp:
item case tcp:
item case udp:
item case vlan:
item eth)) {
item gre)) {
item icmp)) {
item proto.type
item sctp)) {
item tcp)) {
item udp)) {
item vlan)) {
item case eth:
item case gre:
item case icmp:
item case ipv4:
item case ipv6:
item case raw:
item case sctp:
item case tcp:
item case udp:
item case vlan:
item eth,
item gre,
item icmp,
item if (proto.type
item if (type
item ipv4,
item ipv6,
item proto.type
item sctp,
item tcp,
item udp,
item vlan,
item #define dpaa2_flow_item_type_generic_ip (meta + 1)
item eth
item gre
item icmp
item ipv4
item ipv6
item meta
item raw
item sctp
item tcp
item udp
item vlan
action flow->action
action case port_id:
action case queue:
action case represented_port:
action case rss:
action case port_id:
action case queue:
action case represented_port:
action case rss:
action if (action->type
action port_id,
action queue,
action represented_port,
action rss
action } else if (action->type
action drop
action port_id
action queue
action represented_port
action rss
rte_flow doc out of sync for e1000
item item->type !
item item->type
item } else if (item->type
item eth
item ipv4
item ipv6
item raw
item sctp
item tcp
item udp
action act->type !
action if (act->type
action drop
action queue
action rss
rte_flow doc out of sync for enic
item eth,
item geneve,
item ipv4,
item ipv6,
item udp,
item vlan,
item vxlan,
item if (item->type
item case gtp:
item case gtpc:
item case gtpu:
item case ipv4:
item case ipv6:
item if (item->type
item ecpri
item eth
item geneve
item geneve_opt
item gtp
item gtpc
item gtpu
item ipv4
item ipv6
item raw
item sctp
item tcp
item udp
item vlan
item vxlan
action case count:
action case count: {
action case drop: {
action case flag: {
action case jump: {
action case mark: {
action case of_pop_vlan: {
action case of_push_vlan: {
action case of_set_vlan_pcp: {
action case of_set_vlan_vid: {
action case passthru: {
action case port_id: {
action case port_representor: {
action case queue: {
action case represented_port: {
action case rss: {
action case vxlan_decap: {
action case vxlan_encap: {
action count,
action drop,
action flag,
action jump,
action mark,
action of_pop_vlan,
action of_push_vlan,
action of_set_vlan_pcp,
action of_set_vlan_vid,
action passthru,
action port_id,
action queue,
action rss,
action vxlan_decap,
action vxlan_encap,
action count
action drop
action flag
action jump
action mark
action of_pop_vlan
action of_push_vlan
action of_set_vlan_pcp
action of_set_vlan_vid
action passthru
action port_id
action port_representor
action queue
action represented_port
action rss
action vxlan_decap
action vxlan_encap
rte_flow doc out of sync for hinic
item item->type !
item if (item->type
item any
item eth
item icmp
item icmp6
item ipv4
item ipv6
item tcp
item udp
item vxlan
action act->type !
action if (act->type
action drop
action queue
rte_flow doc out of sync for hns3
item if (pattern->type
item case eth:
item case geneve:
item case ipv4:
item case ipv6:
item case nvgre:
item case sctp:
item case tcp:
item case udp:
item case vlan:
item case vxlan:
item case vxlan_gpe:
item eth,
item geneve,
item icmp
item icmp,
item if (item->type
item if (type
item ipv4,
item ipv6
item ipv6,
item nvgre,
item sctp,
item tcp,
item udp,
item vlan
item vlan,
item vxlan,
item vxlan_gpe
item eth
item geneve
item icmp
item ipv4
item ipv6
item nvgre
item sctp
item tcp
item udp
item vlan
item vxlan
item vxlan_gpe
action case count:
action case drop:
action case flag:
action case mark:
action case queue:
action case rss:
action if (actions->type
action if (action->type !
action count
action drop
action flag
action mark
action queue
action rss
rte_flow doc out of sync for i40e
item bit_ull(ah))
item bit_ull(esp) | \
item bit_ull(gtpc))
item bit_ull(ipv6) | \
item bit_ull(ipv6))
item bit_ull(ipv6_frag_ext))
item bit_ull(l2tpv3oip) |\
item bit_ull(sctp) | \
item bit_ull(udp) | \
item bit_ull(vlan))
item if (l3
item } else if (l3
item if (l3
item if (next_type
item } else if (l3
item else if (item_type
item else if (l3
item if (item_type
item } else if (l3
item case esp:
item case eth:
item case gre:
item case gtpc:
item case gtpu:
item case ipv4:
item case ipv6:
item case l2tpv3oip:
item case mpls:
item case nvgre:
item case raw:
item case sctp:
item case tcp:
item case udp:
item case vlan:
item case vxlan:
item if (item->last && item->type !
item if (last_item_type
item case esp:
item case gtpc:
item case gtpu:
item case l2tpv3oip:
item esp,
item eth,
item gre,
item gtpc,
item gtpu,
item if (pattern_hdrs && last_item_type !
item ipv4,
item ipv6,
item l2tpv3oip,
item mpls,
item nvgre,
item raw,
item sctp,
item tcp,
item udp,
item vlan,
item vxlan,
item #define i40e_hash_eth_next_allow (bit_ull(ipv4) | \
item #define i40e_hash_gtpu_next_allow (bit_ull(ipv4) | \
item #define i40e_hash_ip_next_allow (bit_ull(tcp) | \
item #define i40e_hash_udp_next_allow (bit_ull(gtpu) | \
item #define i40e_hash_void_next_allow bit_ull(eth)
item ah
item esp
item eth
item gre
item gtpc
item gtpu
item ipv4
item ipv6
item ipv6_frag_ext
item l2tpv3oip
item mpls
item nvgre
item raw
item sctp
item tcp
item udp
item vlan
item vxlan
action case rss:
action case drop:
action case flag:
action case mark:
action case passthru:
action case queue:
action case rss:
action if ((actions + i)->type
action drop
action flag
action mark
action passthru
action pf
action queue
action rss
action vf
rte_flow doc out of sync for iavf
item ipv6_frag_ext)) {
item else if (l3
item if (l3
item case ah:
item case ecpri:
item case esp:
item case eth:
item case gre:
item case gtp_psc:
item case gtpu:
item case ipv4:
item case ipv6:
item case ipv6_frag_ext:
item case l2tpv2:
item case l2tpv3oip:
item case pfcp:
item case ppp:
item case raw:
item case raw: {
item case sctp:
item case tcp:
item case udp:
item case vlan:
item if (item->last && !(item_type
item ah,
item arp_eth_ipv4,
item ecpri,
item esp,
item eth,
item gre,
item gtp_psc,
item gtpc,
item gtpu,
item icmp,
item icmp6,
item ipv4,
item ipv6,
item ipv6_frag_ext,
item l2tpv2,
item l2tpv3oip,
item pfcp,
item ppp,
item raw,
item sctp,
item tcp,
item udp,
item vlan,
item ah
item arp_eth_ipv4
item ecpri
item esp
item eth
item gre
item gtp_psc
item gtpc
item gtpu
item icmp
item icmp6
item ipv4
item ipv6
item ipv6_frag_ext
item l2tpv2
item l2tpv3oip
item pfcp
item ppp
item raw
item sctp
item tcp
item udp
item vlan
action case count:
action case drop:
action case mark:
action case passthru:
action case port_representor:
action case queue:
action case rss:
action if (act->type !
action count
action drop
action mark
action passthru
action port_representor
action queue
action rss
action security
rte_flow doc out of sync for ice
item ipv6_frag_ext)) {
item l4
item if (l3
item if (l4
item l4
item l4
item } else if (l3
item item->type
item case ah:
item case any:
item case esp:
item case eth:
item case gtp_psc:
item case gtpu:
item case ipv4:
item case ipv6:
item case ipv6_frag_ext:
item case l2tpv3oip:
item case nvgre:
item case pfcp:
item case pppoe_proto_id:
item case pppoed:
item case pppoes:
item case raw:
item case raw: {
item case sctp:
item case tcp:
item case udp:
item case vlan:
item case vxlan:
item if (item->last && !(item_type
item ah,
item any,
item arp_eth_ipv4,
item esp,
item eth,
item gtp_psc,
item gtpu,
item icmp,
item icmp6,
item ipv4,
item ipv6,
item ipv6_frag_ext,
item l2tpv3oip,
item nvgre,
item pfcp,
item pppoe_proto_id,
item pppoed,
item pppoes,
item raw,
item sctp,
item tcp,
item udp,
item vlan,
item vxlan,
item ah
item any
item arp_eth_ipv4
item esp
item eth
item gtp_psc
item gtpu
item icmp
item icmp6
item ipv4
item ipv6
item ipv6_frag_ext
item l2tpv3oip
item nvgre
item pfcp
item pppoe_proto_id
item pppoed
item pppoes
item raw
item sctp
item tcp
item udp
item vlan
item vxlan
action case count:
action case drop:
action case mark:
action case passthru:
action case port_representor:
action case queue:
action case represented_port:
action case rss:
action if (act->type !
action count
action drop
action mark
action passthru
action port_representor
action queue
action represented_port
action rss
rte_flow doc out of sync for igc
item eth
item ipv4
item ipv6
item tcp
item udp
action case queue:
action case rss:
action queue
action rss
rte_flow doc out of sync for ipn3ke
item eth),
item ipv4,
item mpls),
item nvgre),
item tcp),
item udp),
item udp,
item vlan),
item case eth:
item case ipv4:
item case mpls:
item case nvgre:
item case tcp:
item case udp:
item case vlan:
item case vxlan:
item * eth
item * ipv4
item * mpls
item * nvgre
item * tcp
item * udp
item * vlan
item * vxlan
item eth
item ipv4
item mpls
item nvgre
item tcp
item udp
item vlan
item vxlan
action case drop:
action case mark:
action drop
action mark
rte_flow doc out of sync for ixgbe
item item->type
item item->type !
item item->type !
item item->type !
item (item->type !
item if (item->type
item if (next->type !
item while (item->type !
item item->type
item if ((item->type !
item e_tag
item eth
item fuzzy
item ipv4
item ipv6
item nvgre
item raw
item sctp
item tcp
item udp
item vlan
item vxlan
action act->type !
action act->type !
action * special case for flow action type security
action if ((act->type !
action * special case for flow action type security.
action drop
action mark
action pf
action queue
action rss
action security
action vf
rte_flow doc out of sync for mlx4
item ipv4),
item tcp),
item .type
item .type
item if ((item->type !
item eth
item ipv4
item tcp
item udp
item vlan
action .type
action case drop:
action case queue:
action case rss:
action drop
action queue
action rss
rte_flow doc out of sync for mlx5
item mlx5_vlan;
item .type
item mlx5_tag,
item mlx5_tunnel) {
item mlx5_tag,
item mlx5_tag;
item mlx5_tx_queue,
item mlx5_tunnel;
item *all_ports
item if (items->type
item node->type
item eth : rte_flow_item_type_end;
item vlan : rte_flow_item_type_end;
item mlx5_tag;
item item->type
item type
item case conntrack:
item case ecpri:
item case esp:
item case eth:
item case flex:
item case geneve:
item case geneve_opt:
item case gre:
item case gre_key:
item case gre_option:
item case gtp:
item case gtp_psc:
item case icmp6:
item case icmp:
item case integrity:
item case ipv4:
item case ipv6:
item case ipv6_frag_ext:
item case mark:
item case meta:
item case mlx5_tag:
item case mlx5_tunnel:
item case mlx5_tx_queue:
item case mpls:
item case nvgre:
item case port_id:
item case represented_port:
item case tag:
item case tcp:
item case udp:
item case vlan:
item case vxlan:
item case vxlan_gpe:
item if (item && item->type
item if (tunnel_item->type
item if (type
item mlx5_assert(prev_item->type
item item->type !
item * represented_port and is meaningless without them.
item case esp:
item case eth:
item case geneve:
item case gre:
item case gre_key:
item case gtp:
item case icmp6:
item case icmp:
item case ipv4:
item case ipv6:
item case ipv6_frag_ext:
item case mpls:
item case nvgre:
item case tcp:
item case udp:
item case vlan:
item case vxlan:
item case vxlan_gpe:
item dport
item esw_mgr_port
item if (item->type
item if (item->type !
item item.type
item mlx5_assert(item->type
item mlx5_end
item mlx5_tag,
item mlx5_tunnel,
item mlx5_tx_queue,
item mlx5_vlan,
item conntrack
item ecpri
item esp
item eth
item flex
item geneve
item geneve_opt
item gre
item gre_key
item gre_option
item gtp
item gtp_psc
item icmp
item icmp6
item integrity
item ipv4
item ipv6
item ipv6_frag_ext
item mark
item meta
item mpls
item nvgre
item port_id
item represented_port
item tag
item tcp
item udp
item vlan
item vxlan
item vxlan_gpe
action mlx5_count;
action mlx5_tag;
action of_set_vlan_pcp);
action of_set_vlan_vid);
action .type
action conntrack;
action inc_tcp_ack ?
action inc_tcp_seq ?
action mlx5_age;
action mlx5_copy_mreg,
action sample,
action set_ipv4_src ?
action set_ipv6_src ?
action set_mac_src ?
action set_tp_src ?
action set_ttl ?
action mlx5_jump;
action mlx5_tunnel_set) {
action .type
action if (act->type
action jump,
action mlx5_copy_mreg,
action mlx5_default_miss,
action mlx5_mark,
action mlx5_tag,
action mlx5_tag;
action rss;
action mlx5_tunnel_set;
action mlx5_tag;
action case drop:
action case jump:
action case mark:
action case meter:
action case modify_field:
action case nvgre_encap:
action case of_push_vlan:
action case of_set_vlan_vid:
action case port_id:
action case queue:
action case raw_decap:
action case raw_encap:
action case represented_port:
action case rss:
action case set_tag:
action case vxlan_encap:
action if (action->type !
action if (actions->type
action if (actions->type !
action if (ptr->type
action (enum rte_flow_action_type)mlx5_rss,
action (action + 1, of_set_vlan_pcp)))
action (action + 1, of_set_vlan_vid)))
action (enum rte_flow_action_type)mlx5_count;
action .type
action act_data.type
action case age:
action case conntrack:
action case count:
action case dec_tcp_ack:
action case dec_tcp_seq:
action case dec_ttl:
action case drop:
action case flag:
action case inc_tcp_ack:
action case inc_tcp_seq:
action case jump:
action case mark:
action case meter:
action case mlx5_age:
action case mlx5_copy_mreg:
action case mlx5_count:
action case mlx5_default_miss:
action case mlx5_jump:
action case mlx5_mark:
action case mlx5_rss:
action case mlx5_tag:
action case mlx5_tunnel_set:
action case modify_field:
action case nvgre_decap:
action case nvgre_encap:
action case of_pop_vlan:
action case of_push_vlan:
action case of_set_vlan_pcp:
action case of_set_vlan_vid:
action case port_id:
action case queue:
action case raw_decap:
action case raw_encap:
action case represented_port:
action case rss:
action case sample:
action case set_ipv4_dscp:
action case set_ipv4_dst:
action case set_ipv4_src:
action case set_ipv6_dscp:
action case set_ipv6_dst:
action case set_ipv6_src:
action case set_mac_dst:
action case set_mac_src:
action case set_meta:
action case set_tag:
action case set_tp_dst:
action case set_tp_src:
action case set_ttl:
action case vxlan_decap:
action case vxlan_encap:
action if (qrss->type
action } else if (qrss->type
action /* count mlx5_tag. */
action case age:
action case conntrack:
action case count:
action case dec_tcp_ack:
action case dec_tcp_seq:
action case dec_ttl:
action case flag:
action case inc_tcp_ack:
action case inc_tcp_seq:
action case mark:
action case mlx5_rss:
action case modify_field:
action case nvgre_decap:
action case nvgre_encap:
action case of_pop_vlan:
action case of_push_vlan:
action case of_set_vlan_pcp:
action case of_set_vlan_vid:
action case port_id:
action case port_id: {
action case queue:
action case raw_decap:
action case raw_encap:
action case represented_port:
action case represented_port: {
action case rss:
action case set_ipv4_dscp:
action case set_ipv4_dst:
action case set_ipv4_src:
action case set_ipv6_dscp:
action case set_ipv6_dst:
action case set_ipv6_src:
action case set_mac_dst:
action case set_mac_src:
action case set_meta:
action case set_tag:
action case set_tp_dst:
action case set_tp_src:
action case set_ttl:
action case vxlan_decap:
action case vxlan_encap:
action for (; app_actions->type !
action if (action->type !
action } else if (action->type
action * see @count
action age
action conntrack
action count
action dec_tcp_ack
action dec_tcp_seq
action dec_ttl
action drop
action flag
action inc_tcp_ack
action inc_tcp_seq
action jump
action mark
action meter
action modify_field
action nvgre_decap
action nvgre_encap
action of_pop_vlan
action of_push_vlan
action of_set_vlan_pcp
action of_set_vlan_vid
action port_id
action queue
action raw_decap
action raw_encap
action represented_port
action rss
action sample
action set_ipv4_dscp
action set_ipv4_dst
action set_ipv4_src
action set_ipv6_dscp
action set_ipv6_dst
action set_ipv6_src
action set_mac_dst
action set_mac_src
action set_meta
action set_tag
action set_tp_dst
action set_tp_src
action set_ttl
action vxlan_decap
action vxlan_encap
rte_flow doc out of sync for mvpp2
item { eth, mrvl_parse_eth },
item { ipv4, mrvl_parse_ip4 },
item { ipv6, mrvl_parse_ip6 },
item { raw, mrvl_parse_raw },
item { tcp, mrvl_parse_tcp },
item { udp, mrvl_parse_udp },
item { vlan, mrvl_parse_vlan },
item eth
item ipv4
item ipv6
item raw
item tcp
item udp
item vlan
action if (action->type
action drop
action meter
action queue
rte_flow doc out of sync for nfp
item geneve),
item gre),
item ipv4,
item ipv6),
item pmd_drv_log(debug, "eth detected");
item pmd_drv_log(debug, "geneve detected");
item pmd_drv_log(debug, "gre detected");
item pmd_drv_log(debug, "gre_key detected");
item pmd_drv_log(debug, "ipv4 detected");
item pmd_drv_log(debug, "ipv6 detected");
item pmd_drv_log(debug, "port_id detected");
item pmd_drv_log(debug, "sctp detected");
item pmd_drv_log(debug, "tcp detected");
item pmd_drv_log(debug, "udp detected");
item pmd_drv_log(debug, "vlan detected");
item pmd_drv_log(debug, "vxlan detected");
item sctp,
item udp,
item case eth:
item case geneve:
item case gre:
item case gre_key:
item case ipv4:
item case ipv6:
item case port_id:
item case sctp:
item case tcp:
item case udp:
item case vlan:
item case vxlan:
item case geneve:
item case gre:
item case vxlan:
item if (item->type
item eth
item geneve
item gre
item gre_key
item ipv4
item ipv6
item port_id
item sctp
item tcp
item udp
item vlan
item vxlan
action " of_push_vlan");
action " port_id");
action " raw_encap");
action " vxlan_encap");
action * of_set_vlan_pcp and
action * of_set_vlan_vid
action ((action + 2)->type !
action pmd_drv_log(debug, "count detected");
action pmd_drv_log(debug, "drop detected");
action pmd_drv_log(debug, "jump detected");
action pmd_drv_log(debug, "of_pop_vlan detected");
action pmd_drv_log(debug, "of_push_vlan detected");
action pmd_drv_log(debug, "of_set_vlan_pcp detected");
action pmd_drv_log(debug, "of_set_vlan_vid detected");
action pmd_drv_log(debug, "port_id detected");
action pmd_drv_log(debug, "process count");
action pmd_drv_log(debug, "process drop");
action pmd_drv_log(debug, "process jump");
action pmd_drv_log(debug, "process of_pop_vlan");
action pmd_drv_log(debug, "process of_push_vlan");
action pmd_drv_log(debug, "process port_id");
action pmd_drv_log(debug, "process raw_encap");
action pmd_drv_log(debug, "process set_ipv4_dscp");
action pmd_drv_log(debug, "process set_ipv4_dst");
action pmd_drv_log(debug, "process set_ipv4_src");
action pmd_drv_log(debug, "process set_ipv6_dscp");
action pmd_drv_log(debug, "process set_ipv6_dst");
action pmd_drv_log(debug, "process set_ipv6_src");
action pmd_drv_log(debug, "process set_mac_dst");
action pmd_drv_log(debug, "process set_mac_src");
action pmd_drv_log(debug, "process set_tp_dst");
action pmd_drv_log(debug, "process set_tp_src");
action pmd_drv_log(debug, "process set_ttl");
action pmd_drv_log(debug, "process tunnel_decap");
action pmd_drv_log(debug, "process vxlan_encap");
action pmd_drv_log(debug, "raw_decap detected");
action pmd_drv_log(debug, "raw_encap detected");
action pmd_drv_log(debug, "set_ipv4_dscp detected");
action pmd_drv_log(debug, "set_ipv4_dst detected");
action pmd_drv_log(debug, "set_ipv4_src detected");
action pmd_drv_log(debug, "set_ipv6_dscp detected");
action pmd_drv_log(debug, "set_ipv6_dst detected");
action pmd_drv_log(debug, "set_ipv6_src detected");
action pmd_drv_log(debug, "set_mac_dst detected");
action pmd_drv_log(debug, "set_mac_src detected");
action pmd_drv_log(debug, "set_tp_dst detected");
action pmd_drv_log(debug, "set_tp_src detected");
action pmd_drv_log(debug, "set_ttl detected");
action pmd_drv_log(debug, "vxlan_decap detected");
action pmd_drv_log(debug, "vxlan_encap detected");
action case count:
action case drop:
action case jump:
action case of_pop_vlan:
action case of_push_vlan:
action case of_set_vlan_pcp:
action case of_set_vlan_vid:
action case port_id:
action case raw_decap:
action case raw_encap:
action case set_ipv4_dscp:
action case set_ipv4_dst:
action case set_ipv4_src:
action case set_ipv6_dscp:
action case set_ipv6_dst:
action case set_ipv6_src:
action case set_mac_dst:
action case set_mac_src:
action case set_tp_dst:
action case set_tp_src:
action case set_ttl:
action case vxlan_decap:
action case vxlan_encap:
action if (((action + 1)->type !
action count
action drop
action nvgre_decap
action nvgre_encap
action of_pop_vlan
action of_push_vlan
action of_set_vlan_pcp
action of_set_vlan_vid
action port_id
action raw_decap
action raw_encap
action set_ipv4_dscp
action set_ipv4_dst
action set_ipv4_src
action set_ipv6_dscp
action set_ipv6_dst
action set_ipv6_src
action set_mac_dst
action set_mac_src
action set_tp_dst
action set_tp_src
action set_ttl
action vxlan_decap
action vxlan_encap
rte_flow doc out of sync for qede
item case ipv4:
item case ipv6:
item case tcp:
item case udp:
item ipv4
item ipv6
item tcp
item udp
action case drop:
action case queue:
action drop
action queue
rte_flow doc out of sync for sfc
item rte_bit64(ipv4) |
item rte_bit64(ipv6);
item rte_bit64(vlan), 0
item sfc_build_set_overflow(eth,
item sfc_build_set_overflow(ipv4,
item sfc_build_set_overflow(ipv6,
item sfc_build_set_overflow(udp,
item sfc_build_set_overflow(vlan,
item sfc_build_set_overflow(vxlan,
item case eth:
item case geneve:
item case ipv4:
item case ipv6:
item case mark:
item case nvgre:
item case udp:
item case vlan:
item case vxlan:
item item->type !
item case port_representor:
item case represented_port:
item exp_items
item ft_ctx->item.type
item if (item->type
item if (tunnel->type !
item eth
item geneve
item ipv4
item ipv6
item mark
item nvgre
item port_id
item port_representor
item pppoed
item pppoes
item represented_port
item tcp
item udp
item vlan
item vxlan
action (1ul << drop);
action (1ul << flag);
action (1ul << rss) |
action if (action->type !
action sfc_build_set_overflow(drop,
action sfc_build_set_overflow(flag,
action sfc_build_set_overflow(mark,
action sfc_build_set_overflow(queue,
action sfc_build_set_overflow(rss,
action case count:
action case drop:
action case flag:
action case jump:
action case mark:
action case queue:
action case rss:
action if (action->type
action sfc_build_set_overflow(count,
action sfc_build_set_overflow(dec_ttl,
action sfc_build_set_overflow(drop,
action sfc_build_set_overflow(flag,
action sfc_build_set_overflow(mark,
action sfc_build_set_overflow(of_dec_nw_ttl,
action sfc_build_set_overflow(of_pop_vlan,
action sfc_build_set_overflow(of_push_vlan,
action sfc_build_set_overflow(of_set_vlan_pcp,
action sfc_build_set_overflow(of_set_vlan_vid,
action sfc_build_set_overflow(pf,
action sfc_build_set_overflow(port_id,
action sfc_build_set_overflow(port_representor,
action sfc_build_set_overflow(represented_port,
action sfc_build_set_overflow(set_mac_dst,
action sfc_build_set_overflow(set_mac_src,
action sfc_build_set_overflow(vf,
action sfc_build_set_overflow(vxlan_decap,
action sfc_build_set_overflow(vxlan_encap,
action action->type !
action case count:
action case dec_ttl:
action case drop:
action case flag:
action case jump:
action case mark:
action case of_dec_nw_ttl:
action case of_pop_vlan:
action case of_push_vlan:
action case of_set_vlan_pcp:
action case of_set_vlan_vid:
action case pf:
action case port_id:
action case port_representor:
action case represented_port:
action case set_mac_dst:
action case set_mac_src:
action case vf:
action case vxlan_decap:
action case vxlan_encap:
action const uint32_t fate_actions_mask
action const uint32_t mark_actions_mask
action ft_ctx->action.type
action count
action dec_ttl
action drop
action flag
action jump
action mark
action of_dec_nw_ttl
action of_pop_vlan
action of_push_vlan
action of_set_vlan_pcp
action of_set_vlan_vid
action pf
action port_id
action port_representor
action queue
action represented_port
action rss
action set_mac_dst
action set_mac_src
action vf
action vxlan_decap
action vxlan_encap
rte_flow doc out of sync for tap
item ipv6),
item tcp),
item .type
item ipv4,
item ipv6),
item vlan,
item eth
item ipv4
item ipv6
item tcp
item udp
item vlan
action drop :
action passthru;
action { .type
action drop
action passthru
action queue
action rss
rte_flow doc out of sync for txgbe
item item->type
item item->type !
item item->type !
item item->type !
item if (item->type
item if (next->type !
item item->type !
item while (item->type !
item item->type
item e_tag
item eth
item fuzzy
item ipv4
item ipv6
item nvgre
item raw
item sctp
item tcp
item udp
item vlan
item vxlan
action act->type !
action act->type !
action * special case for flow action type security
action * special case for flow action type security.
action drop
action mark
action pf
action queue
action rss
action security
action vf
next prev parent reply other threads:[~2022-10-25 3:17 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-18 3:22 [PATCH " Chaoyong He
2022-10-18 3:22 ` [PATCH 01/25] net/nfp: add the offload support of IPv4 VXLAN item Chaoyong He
2022-10-18 3:22 ` [PATCH 02/25] net/nfp: add the offload support of IPv6 " Chaoyong He
2022-10-18 3:22 ` [PATCH 03/25] net/nfp: prepare for the encap action of IPv4 tunnel Chaoyong He
2022-10-18 3:22 ` [PATCH 04/25] net/nfp: prepare for the encap action of IPv6 tunnel Chaoyong He
2022-10-18 3:22 ` [PATCH 05/25] net/nfp: add the offload support of IPv4 VXLAN encap action Chaoyong He
2022-10-18 3:22 ` [PATCH 06/25] net/nfp: add the offload support of IPv6 " Chaoyong He
2022-10-18 3:22 ` [PATCH 07/25] net/nfp: prepare for the decap action of IPv4 UDP tunnel Chaoyong He
2022-10-18 3:22 ` [PATCH 08/25] net/nfp: prepare for the decap action of IPv6 " Chaoyong He
2022-10-18 3:22 ` [PATCH 09/25] net/nfp: add the offload support of IPv4 VXLAN decap action Chaoyong He
2022-10-18 3:22 ` [PATCH 10/25] net/nfp: add the offload support of IPv6 " Chaoyong He
2022-10-18 3:22 ` [PATCH 11/25] net/nfp: add the offload support of IPv4 GENEVE encap action Chaoyong He
2022-10-18 3:22 ` [PATCH 12/25] net/nfp: add the offload support of IPv6 " Chaoyong He
2022-10-18 3:22 ` [PATCH 13/25] net/nfp: add the offload support of IPv4 GENEVE item Chaoyong He
2022-10-18 3:22 ` [PATCH 14/25] net/nfp: add the offload support of IPv6 " Chaoyong He
2022-10-18 3:22 ` [PATCH 15/25] net/nfp: add the offload support of IPv4 GENEVE decap action Chaoyong He
2022-10-18 3:22 ` [PATCH 16/25] net/nfp: add the offload support of IPv6 " Chaoyong He
2022-10-18 3:22 ` [PATCH 17/25] net/nfp: add the offload support of IPv4 NVGRE encap action Chaoyong He
2022-10-18 3:22 ` [PATCH 18/25] net/nfp: add the offload support of IPv6 " Chaoyong He
2022-10-18 3:22 ` [PATCH 19/25] net/nfp: prepare for the decap action of IPv4 GRE tunnel Chaoyong He
2022-10-18 3:22 ` [PATCH 20/25] net/nfp: prepare for the decap action of IPv6 " Chaoyong He
2022-10-18 3:22 ` [PATCH 21/25] net/nfp: add the offload support of IPv4 NVGRE item Chaoyong He
2022-10-18 3:22 ` [PATCH 22/25] net/nfp: add the offload support of IPv6 " Chaoyong He
2022-10-18 3:22 ` [PATCH 23/25] net/nfp: add the offload support of IPv4 NVGRE decap action Chaoyong He
2022-10-18 3:22 ` [PATCH 24/25] net/nfp: add the offload support of IPv6 " Chaoyong He
2022-10-18 3:22 ` [PATCH 25/25] net/nfp: add the support of new tunnel solution Chaoyong He
2022-10-21 13:37 ` [PATCH 00/25] add the extend rte_flow offload support of nfp PMD Ferruh Yigit
2022-10-21 13:39 ` Ferruh Yigit
2022-10-22 8:24 ` [PATCH v2 " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 01/25] net/nfp: support IPv4 VXLAN flow item Chaoyong He
2022-10-22 8:24 ` [PATCH v2 02/25] net/nfp: support IPv6 " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 03/25] net/nfp: prepare for IPv4 tunnel encap flow action Chaoyong He
2022-10-22 8:24 ` [PATCH v2 04/25] net/nfp: prepare for IPv6 " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 05/25] net/nfp: support IPv4 VXLAN " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 06/25] net/nfp: support IPv6 " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 07/25] net/nfp: prepare for IPv4 UDP tunnel decap " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 08/25] net/nfp: prepare for IPv6 " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 09/25] net/nfp: support IPv4 VXLAN " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 10/25] net/nfp: support IPv6 " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 11/25] net/nfp: support IPv4 GENEVE encap " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 12/25] net/nfp: support IPv6 " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 13/25] net/nfp: support IPv4 GENEVE flow item Chaoyong He
2022-10-22 8:24 ` [PATCH v2 14/25] net/nfp: support IPv6 " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 15/25] net/nfp: support IPv4 GENEVE decap flow action Chaoyong He
2022-10-22 8:24 ` [PATCH v2 16/25] net/nfp: support IPv6 " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 17/25] net/nfp: support IPv4 NVGRE encap " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 18/25] net/nfp: support IPv6 " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 19/25] net/nfp: prepare for IPv4 GRE tunnel decap " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 20/25] net/nfp: prepare for IPv6 " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 21/25] net/nfp: support IPv4 NVGRE flow item Chaoyong He
2022-10-22 8:24 ` [PATCH v2 22/25] net/nfp: support IPv6 " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 23/25] net/nfp: support IPv4 NVGRE decap flow action Chaoyong He
2022-10-22 8:24 ` [PATCH v2 24/25] net/nfp: support IPv6 " Chaoyong He
2022-10-22 8:24 ` [PATCH v2 25/25] net/nfp: support new tunnel solution Chaoyong He
2022-10-24 15:09 ` Ferruh Yigit
2022-10-25 1:44 ` Chaoyong He
2022-10-25 8:18 ` Ferruh Yigit
2022-10-24 15:07 ` [PATCH v2 00/25] add the extend rte_flow offload support of nfp PMD Ferruh Yigit
2022-10-25 3:17 ` Chaoyong He [this message]
2022-10-25 3:29 ` Chaoyong He
2022-10-25 7:58 ` [PATCH v3 00/26] " Chaoyong He
2022-10-25 7:58 ` [PATCH v3 01/26] net/nfp: fix the app stuck by CPP bridge service Chaoyong He
2022-10-25 7:58 ` [PATCH v3 02/26] net/nfp: support IPv4 VXLAN flow item Chaoyong He
2022-10-25 7:58 ` [PATCH v3 03/26] net/nfp: support IPv6 " Chaoyong He
2022-10-25 7:58 ` [PATCH v3 04/26] net/nfp: prepare for IPv4 tunnel encap flow action Chaoyong He
2022-10-25 7:58 ` [PATCH v3 05/26] net/nfp: prepare for IPv6 " Chaoyong He
2022-10-25 7:58 ` [PATCH v3 06/26] net/nfp: support IPv4 VXLAN " Chaoyong He
2022-10-25 7:58 ` [PATCH v3 07/26] net/nfp: support IPv6 " Chaoyong He
2022-10-25 7:59 ` [PATCH v3 08/26] net/nfp: prepare for IPv4 UDP tunnel decap " Chaoyong He
2022-10-25 7:59 ` [PATCH v3 09/26] net/nfp: prepare for IPv6 " Chaoyong He
2022-10-25 7:59 ` [PATCH v3 10/26] net/nfp: support IPv4 VXLAN " Chaoyong He
2022-10-25 7:59 ` [PATCH v3 11/26] net/nfp: support IPv6 " Chaoyong He
2022-10-25 7:59 ` [PATCH v3 12/26] net/nfp: support IPv4 GENEVE encap " Chaoyong He
2022-10-25 7:59 ` [PATCH v3 13/26] net/nfp: support IPv6 " Chaoyong He
2022-10-25 7:59 ` [PATCH v3 14/26] net/nfp: support IPv4 GENEVE flow item Chaoyong He
2022-10-25 7:59 ` [PATCH v3 15/26] net/nfp: support IPv6 " Chaoyong He
2022-10-25 7:59 ` [PATCH v3 16/26] net/nfp: support IPv4 GENEVE decap flow action Chaoyong He
2022-10-25 7:59 ` [PATCH v3 17/26] net/nfp: support IPv6 " Chaoyong He
2022-10-25 7:59 ` [PATCH v3 18/26] net/nfp: support IPv4 NVGRE encap " Chaoyong He
2022-10-25 7:59 ` [PATCH v3 19/26] net/nfp: support IPv6 " Chaoyong He
2022-10-25 7:59 ` [PATCH v3 20/26] net/nfp: prepare for IPv4 GRE tunnel decap " Chaoyong He
2022-10-25 7:59 ` [PATCH v3 21/26] net/nfp: prepare for IPv6 " Chaoyong He
2022-10-25 7:59 ` [PATCH v3 22/26] net/nfp: support IPv4 NVGRE flow item Chaoyong He
2022-10-25 7:59 ` [PATCH v3 23/26] net/nfp: support IPv6 " Chaoyong He
2022-10-25 7:59 ` [PATCH v3 24/26] net/nfp: support IPv4 NVGRE decap flow action Chaoyong He
2022-10-25 7:59 ` [PATCH v3 25/26] net/nfp: support IPv6 " Chaoyong He
2022-10-25 7:59 ` [PATCH v3 26/26] net/nfp: support new solution for tunnel decap action Chaoyong He
2022-10-25 11:42 ` [PATCH v3 00/26] add the extend rte_flow offload support of nfp PMD Ferruh Yigit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=SJ0PR13MB554534645868C6982A7B408C9E319@SJ0PR13MB5545.namprd13.prod.outlook.com \
--to=chaoyong.he@corigine.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@amd.com \
--cc=niklas.soderlund@corigine.com \
--cc=oss-drivers@corigine.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).