STRUCT OVS_ACTION_ADD_MPLS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ovs_action_add_mpls(9) β€” like, the Kernel API Manual bestie ✨

okay so bestie, we're deep in the kernel docs rn β€” this is the page for struct ovs_action_add_mpls(9), and no cap, it's the argument for the %OVS_ACTION_ATTR_ADD_MPLS action. tiny struct, big main character energy πŸŽ€


πŸ¦‹ NAME πŸ¦‹

struct ovs_action_add_mpls β€” literally the argument for the %OVS_ACTION_ATTR_ADD_MPLS action. that's it, that's the vibe πŸ’–


✨ SYNOPSIS ✨

struct ovs_action_add_mpls {
    __be32 mpls_lse;
    __be16 mpls_ethertype;
    __u16 tun_flags;
 };

like yes, three whole members. she's compact. she's iconic. 🫢


🌸 Members 🌸

  • mpls_lse β€” the MPLS label stack entry to push. it's a __be32, so big-endian bestie, don't forget πŸ’…
  • mpls_ethertype β€” the ethertype to set in the encapsulating ethernet frame. (more on which values are allowed below, and trust, the list is short πŸ‘€)
  • tun_flags β€” the MPLS tunnel attributes. a __u16 of pure vibe. ⭐

πŸ”₯ Description πŸ”₯

okay so this is the important part, listen up πŸ“£ β€” the only values mpls_ethertype should ever be given are ETH_P_MPLS_UC and ETH_P_MPLS_MC. that's MPLS unicast and MPLS multicast respectively, iykyk 🌈

any other value? rejected. not even a little bit allowed. the kernel said no πŸ’€

no cap, don't try to be creative with mpls_ethertype. creative = rejected. 🚫

πŸ‘‘ SEE ALSO πŸ‘‘

  • Kernel file ./include/uapi/linux/openvswitch.h β€” struct ovs_header(9)
  • enum ovs_datapath_attr(9)
  • enum ovs_packet_attr(9)
  • enum ovs_vport_type(9)
  • enum ovs_vport_attr(9)
  • enum ovs_vport_upcall_attr(9)
  • enum ovs_frag_type(9)
  • enum ovs_flow_attr(9)
  • enum ovs_sample_attr(9)
  • enum ovs_userspace_attr(9)
  • struct ovs_action_push_mpls(9)
  • struct ovs_action_push_vlan(9)
  • enum ovs_ct_attr(9)
  • enum ovs_nat_attr(9)
  • struct ovs_action_push_eth(9)
  • enum ovs_check_pkt_len_attr(9)
  • enum ovs_psample_attr(9)
  • enum ovs_action_attr(9)

like, the whole openvswitch.h friend group made it to the function πŸ’œ go read them too, they're all slay.


and that's the page, bestie! this one lives under ./include/uapi/linux, dated October 2026, and the header up top was struct ovs_action_add_mpls(9) from the Kernel API Manual β€” mwah, go push some MPLS labels responsibly πŸ§šβ€β™€οΈβœ¨πŸŽ€

πŸ“¦ where this page comes from