ENUM OVS_FLOW_ATTR(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ENUM OVS_FLOW_ATTR(9) β€” THE FLOW ATTR GLOW-UP πŸ’…

okay bestie, this is the <pink>Kernel API Manual</pink> page for enum ovs_flow_attr, and it's literally the attribute menu for %OVS_FLOW_* commands. no cap, it's giving β€œkernel netlink but make it cute” energy. let's get into it 🫢


✨ NAME ✨

enum ovs_flow_attr β€” attributes for %OVS_FLOW_* commands.


πŸ¦‹ SYNOPSIS πŸ¦‹

enum ovs_flow_attr {
    OVS_FLOW_ATTR_KEY ,
    OVS_FLOW_ATTR_ACTIONS ,
    OVS_FLOW_ATTR_STATS ,
    OVS_FLOW_ATTR_TCP_FLAGS ,
    OVS_FLOW_ATTR_USED ,
    OVS_FLOW_ATTR_CLEAR ,
    OVS_FLOW_ATTR_MASK ,
    OVS_FLOW_ATTR_PROBE ,
    OVS_FLOW_ATTR_UFID ,
    OVS_FLOW_ATTR_UFID_FLAGS

};

πŸ’– Constants πŸ’–

  • OVS_FLOW_ATTR_KEY β€” nested OVS_KEY_ATTR_* attributes that spell out the flow key. it's always present in notifications, and it's required for all requests except dumps. periodt.
  • OVS_FLOW_ATTR_ACTIONS β€” nested OVS_ACTION_ATTR_* attributes that say what actions to take for packets matching the key. always present in notifications. required for OVS_FLOW_CMD_NEW requests, optional for OVS_FLOW_CMD_SET requests. and listen: an OVS_FLOW_CMD_SET without OVS_FLOW_ATTR_ACTIONS will not modify the actions. to clear the actions, you have to give an OVS_FLOW_ATTR_ACTIONS with no nested attributes at all. iykyk ✨
  • OVS_FLOW_ATTR_STATS β€” a struct ovs_flow_stats with the statistics for this flow. shows up in notifications if the stats would be nonzero. ignored in requests, fr fr.
  • OVS_FLOW_ATTR_TCP_FLAGS β€” an 8-bit value: the OR'd value of all the TCP flags seen on packets in this flow. only present in notifications for TCP flows, and only if it would be nonzero. ignored in requests, bestie.
  • OVS_FLOW_ATTR_USED β€” a 64-bit integer giving the time, in milliseconds on the system monotonic clock, when a packet was last processed for this flow. only present in notifications if a packet has been processed for this flow. ignored in requests.
  • OVS_FLOW_ATTR_CLEAR β€” if it's present in an OVS_FLOW_CMD_SET request, it clears the last-used time, accumulated TCP flags, and statistics for this flow. otherwise ignored in requests. never present in notifications. slay.
  • OVS_FLOW_ATTR_MASK β€” nested OVS_KEY_ATTR_* attributes that set the mask bits for a wildcarded flow match. mask bit value '1' means exact match with the corresponding flow key bit, while mask bit value '0' means a wildcarded match. omitting the attribute is treated as wildcarding all corresponding fields. optional for all requests. if it's not present, all flow key bits are exact match bits. iconic behavior πŸ’…
  • OVS_FLOW_ATTR_PROBE β€” the flow operation is a feature probe, so error logging should be suppressed. lowkey a quiet lil vibe check πŸ‘€
  • OVS_FLOW_ATTR_UFID β€” a value between 1-16 octets giving a unique identifier for the flow. it causes the flow to be indexed by this value rather than by the value of the OVS_FLOW_ATTR_KEY attribute. optional for all requests. present in notifications if the flow was created with this attribute. main character energy fr.
  • OVS_FLOW_ATTR_UFID_FLAGS β€” a 32-bit value of OR'd OVS_UFID_F_* flags that provide alternative semantics for flow installation and retrieval. optional for all requests.

🌈 Description 🌈

these attributes follow the struct ovs_header inside the Generic Netlink payload for OVS_FLOW_* commands. that's the whole vibe, bestie β€” no extra lore needed πŸ¦‹


πŸ‘‘ SEE ALSO πŸ‘‘

okay these are the other pages you should also check out, they're the whole crew:

  • 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_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)

and that's the tea πŸ“ this page lives under ./include/uapi/linux, dated October 2026, and it's literally enum ovs_flow_attr(9). go be iconic with your flows, bestie πŸ’œβœ¨

πŸ“¦ where this page comes from