ENUM OVS_VPORT_ATTR(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum ovs_vport_attr(9) πŸ’…


🌸 NAME 🌸

enum ovs_vport_attr β€” attributes for %OVS_VPORT_* commands. This is the Kernel API Manual page, bestie πŸ’–.

✨ SYNOPSIS ✨

enum ovs_vport_attr {
    OVS_VPORT_ATTR_PORT_NO ,
    OVS_VPORT_ATTR_TYPE ,
    OVS_VPORT_ATTR_NAME ,
    OVS_VPORT_ATTR_OPTIONS ,
    OVS_VPORT_ATTR_UPCALL_PID ,
    OVS_VPORT_ATTR_STATS ,
    OVS_VPORT_ATTR_IFINDEX ,
    OVS_VPORT_ATTR_NETNSID ,
    OVS_VPORT_ATTR_UPCALL_STATS

};

πŸŽ€ Constants πŸŽ€

  • OVS_VPORT_ATTR_PORT_NO β€” the 32-bit port number within datapath. periodt.
  • OVS_VPORT_ATTR_TYPE β€” the 32-bit OVS_VPORT_TYPE_* constant describing what type of vport this is.
  • OVS_VPORT_ATTR_NAME β€” the name of the vport. For a vport based on a network device, this is the name of the network device. Maximum length is IFNAMSIZ-1 bytes plus a null terminator. write that down πŸ“
  • OVS_VPORT_ATTR_OPTIONS β€” vport-specific configuration information.
  • OVS_VPORT_ATTR_UPCALL_PID β€” the array of Netlink socket pids in userspace among which OVS_PACKET_CMD_MISS upcalls will be distributed for packets received on this port. If this is a single-element array of value 0, upcalls should not be sent. iykyk
  • OVS_VPORT_ATTR_STATS β€” a struct ovs_vport_stats giving statistics for packets sent or received through the vport.
  • OVS_VPORT_ATTR_IFINDEX β€” provides the ifindex of a vport, or sets the desired ifindex while creating a new vport with type OVS_VPORT_TYPE_INTERNAL.
  • OVS_VPORT_ATTR_NETNSID β€” provides the netns id of the vport if it’s not local.
  • OVS_VPORT_ATTR_UPCALL_STATS β€” provides upcall statistics for a vport. Contains nested OVS_VPORT_UPCALL_ATTR_* attributes. nested lore unlocked πŸ¦‹

πŸ’– Description πŸ’–

Okay so here’s the deal: these attributes follow the struct ovs_header within the Generic Netlink payload for OVS_VPORT_* commands.

For OVS_VPORT_CMD_NEW requests, the OVS_VPORT_ATTR_TYPE and OVS_VPORT_ATTR_NAME attributes are required. OVS_VPORT_ATTR_PORT_NO is optional; if not specified, a free port number is automatically selected. Whether OVS_VPORT_ATTR_OPTIONS is required or optional depends on the type of vport. None of currently supported vport types support options. the way that’s just how it is πŸ’…

For other requests, if OVS_VPORT_ATTR_NAME is specified then it is used to look up the vport to operate on; otherwise dp_idx from the struct ovs_header plus OVS_VPORT_ATTR_PORT_NO determine the vport.

πŸ”₯ 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_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_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)

That’s the whole page, bestie 🫢 source/version: ./include/uapi/linux Β· date: October 2026 Β· manual: enum ovs_vport_attr(9) ✨

πŸ“¦ where this page comes from