STRUCT EFX_TC_ACTION_SET(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct efx_tc_action_set(9) πŸ’–

okay so bestie, this page is straight from the Kernel API Manual and it’s all about struct efx_tc_action_set. no cap, it’s giving main-character data structure energy. let’s get into it. πŸ’…


πŸŽ€ NAME πŸŽ€

struct efx_tc_action_set β€” collection of tc action fields. literally what it says on the tin, bestie. it’s the struct that gathers all those tc action fields together, and honestly? iconic. πŸ’–


✨ SYNOPSIS ✨

okay so here’s the struct definition in all its glory β€” copy it exactly, no editing, iykyk:

       struct efx_tc_action_set {
           u16 vlan_push:2;
           u16 vlan_pop:2;
           u16 decap:1;
           u16 do_nat:1;
           u16 do_ttl_dec:1;
           u16 deliver:1;
           __be16 vlan_tci[2];
           __be16 vlan_proto[2];
           struct efx_tc_counter_index *count;
           struct efx_tc_encap_action *encap_md;
           struct list_head encap_user;
           struct efx_tc_action_set_list *user;
           struct list_head count_user;
           u32 dest_mport;
           struct efx_tc_mac_pedit_action *src_mac;
           struct efx_tc_mac_pedit_action *dst_mac;
           u32 fw_id;
           struct list_head list;
        };

πŸ’… Members πŸ’…

  • vlan_push β€” the number of vlan headers to push. periodt. πŸ¦‹
  • vlan_pop β€” the number of vlan headers to pop. slay. ✨
  • decap β€” used to indicate a tunnel header decapsulation should take place. it’s giving β€œbye, tunnel header” energy. πŸ’€
  • do_nat β€” perform NAT/NPT with values returned by conntrack match. no cap, conntrack match said what it said. πŸ”₯
  • do_ttl_dec β€” used to indicate IP TTL / Hop Limit should be decremented. lowkey important, don’t skip. ⭐
  • deliver β€” used to indicate a deliver action should take place. yes bestie, delivery. πŸŽ€
  • vlan_tci β€” tci fields for vlan push actions. plural, two of them. 🫢
  • vlan_proto β€” ethernet types for vlan push actions. also plural. 🌸
  • count β€” counter mapping. mapping? yes. counter mapping. πŸ’…
  • encap_md β€” encap entry in tc_encap_ht table. say hi to the table. ✨
  • encap_user β€” linked list of encap users (encap_md->users). the whole user-list vibe. 🧚
  • user β€” owning action-set-list. Only populated if encap_md is; used by efx_tc_update_encap fallback handling. πŸ’œ
  • count_user β€” linked list of counter users (counter->users). same energy. πŸ“
  • dest_mport β€” destination mport. that’s it. mport destination. 🌈
  • src_mac β€” source mac entry in tc_mac_ht table. mac entry, source flavored. πŸ‘‘
  • dst_mac β€” destination mac entry in tc_mac_ht table. destination flavored mac entry. πŸ¦‹
  • fw_id β€” index of this entry in firmware actions table. index realness. πŸ’–
  • list β€” linked list of tc actions. the list of lists. πŸŽ€

πŸ‘€ SEE ALSO πŸ‘€

go look at these if you’re obsessed:

  • Kernel file ./drivers/net/ethernet/sfc/tc.h struct efx_tc_mac_pedit_action(9), enum efx_tc_em_pseudo_type(9), struct efx_tc_state(9).

made with πŸ’– from ./drivers/net/ethernet/sfc, dated October 2026, and the footer is still living its best life as struct efx_tc_action_set(9). periodt. πŸŽ€

πŸ“¦ where this page comes from