ENUM OVS_USERSPACE_ATTR(9)
π« enum ovs_userspace_attr β Kernel API Manual, bestie edition π«
Okay so real talk, this page is literally about enum ovs_userspace_attr(9) β the attribute squad for the %OVS_ACTION_ATTR_USERSPACE action. If you're in the Open vSwitch kernel code, this is your girl. Let's go π«Ά
β¨ NAME β¨
enum ovs_userspace_attr β the attributes for the %OVS_ACTION_ATTR_USERSPACE action. Periodt. That's the whole vibe.
π¦ SYNOPSIS π¦
enum ovs_userspace_attr {
OVS_USERSPACE_ATTR_PID ,
OVS_USERSPACE_ATTR_USERDATA ,
OVS_USERSPACE_ATTR_EGRESS_TUN_PORT ,
OVS_USERSPACE_ATTR_ACTIONS
};
Look at her. Four constants, no notes. Iconic π
π Constants π
OVS_USERSPACE_ATTR_PIDβ au32Netlink PID, and it's the one telling the kernel where to send theOVS_PACKET_CMD_ACTIONmessage. This one is Required, bestie. Like, non-negotiable. You cannot skip it, it's not optional, do not pass go πOVS_USERSPACE_ATTR_USERDATAβ if present, its variable-length argument gets copied over to theOVS_PACKET_CMD_ACTIONmessage asOVS_PACKET_ATTR_USERDATA. So basically it tags along for the ride and rides shotgun πΈOVS_USERSPACE_ATTR_EGRESS_TUN_PORTβ if present, au32output port that you use to get tunnel info. That's it, that's the whole thing. It's giving "small but important" βOVS_USERSPACE_ATTR_ACTIONSβ if present, send actions with the upcall. Short, sweet, sends actions. Slay π₯
Heads up: OVS_USERSPACE_ATTR_PID is the only Required one here β the other three are all "if present" girls, so they only show up when they feel like it π
π SEE ALSO π
Go read these next, iykyk:
- 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)struct ovs_action_push_mpls(9)struct ovs_action_add_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)
Okay that's the whole page, mwah π Coming at you straight from ./include/uapi/linux, stamped October 2026, and if you need the version it's right there in the Kernel API Manual β go off, you've got this, bestie π§π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms