Logo

The Linux Kernel

7.3.0-rc1

Quick search

Contents

Working with the development community

  • Development process
  • Submitting patches
  • Code of conduct
  • Maintainer handbook
  • All development-process docs

Internal API manuals

  • Core API
  • Driver APIs
  • Subsystems
    • Core subsystems
    • Human interfaces
    • Networking interfaces
      • Networking
      • NetLabel
      • InfiniBand
      • MHI
    • Storage interfaces
    • Other subsystems
  • Locking

Development tools and processes

  • Licensing rules
  • Writing documentation
  • Development tools
  • Testing guide
  • Hacking guide
  • Tracing
  • Fault injection
  • Livepatching
  • Rust

User-oriented documentation

  • Administration
  • Build system
  • Reporting issues
  • Userspace tools
  • Userspace API

Firmware-related documentation

  • Firmware
  • Firmware and Devicetree

Architecture-specific documentation

  • CPU architectures

Other documentation

  • Unsorted documentation

Translations

  • Translations

This Page

  • Show Source

Family ovs_flow netlink specification¶

Contents

  • Family ovs_flow netlink specification

    • Summary

    • Operations

      • get

      • new

    • Multicast groups

    • Definitions

      • ovs-header

      • ovs-flow-stats

      • ovs-key-ethernet

      • ovs-key-mpls

      • ovs-key-ipv4

      • ovs-key-ipv6

      • ovs-key-ipv6-exthdrs

      • ovs-frag-type

      • ovs-key-tcp

      • ovs-key-udp

      • ovs-key-sctp

      • ovs-key-icmp

      • ovs-key-arp

      • ovs-key-nd

      • ovs-key-ct-tuple-ipv4

      • ovs-action-push-vlan

      • ovs-ufid-flags

      • ovs-action-hash

      • ovs-hash-alg

      • ovs-action-push-mpls

      • ovs-action-add-mpls

      • ct-state-flags

    • Attribute sets

      • flow-attrs

      • key-attrs

      • action-attrs

      • tunnel-key-attrs

      • check-pkt-len-attrs

      • sample-attrs

      • userspace-attrs

      • ovs-nsh-key-attrs

      • ct-attrs

      • nat-attrs

      • dec-ttl-attrs

      • vxlan-ext-attrs

      • psample-attrs

Summary¶

OVS flow configuration over generic netlink.

Operations¶

get¶

Get / dump OVS flow configuration and state

value:

3

attribute-set:

flow-attrs

do:
request
attributes:

[key, ufid, ufid-flags]

reply
attributes:

[key, ufid, mask, stats, actions]

dump:
request
attributes:

[key, ufid, ufid-flags]

reply
attributes:

[key, ufid, mask, stats, actions]

new¶

Create OVS flow configuration in a data path

value:

1

attribute-set:

flow-attrs

do:
request
attributes:

[key, ufid, mask, actions]

Multicast groups¶

  • ovs_flow

Definitions¶

ovs-header¶

type:

struct

doc:

Header for OVS Generic Netlink messages.

members:
dp-ifindex (u32):

ifindex of local port for datapath (0 to make a request not specific to a datapath).

ovs-flow-stats¶

type:

struct

members:
n-packets (u64):

Number of matched packets.

n-bytes (u64):

Number of matched bytes.

ovs-key-ethernet¶

type:

struct

members:
eth-src (binary):

eth-dst (binary):

ovs-key-mpls¶

type:

struct

members:
mpls-lse (u32):

ovs-key-ipv4¶

type:

struct

members:
ipv4-src (u32):

ipv4-dst (u32):

ipv4-proto (u8):

ipv4-tos (u8):

ipv4-ttl (u8):

ipv4-frag (u8):

ovs-key-ipv6¶

type:

struct

members:
ipv6-src (binary):

ipv6-dst (binary):

ipv6-label (u32):

ipv6-proto (u8):

ipv6-tclass (u8):

ipv6-hlimit (u8):

ipv6-frag (u8):

ovs-key-ipv6-exthdrs¶

type:

struct

members:
hdrs (u16):

ovs-frag-type¶

name-prefix:

ovs-frag-type-

enum-name:

ovs-frag-type

type:

enum

entries:
none:

Packet is not a fragment.

first:

Packet is a fragment with offset 0.

later:

Packet is a fragment with nonzero offset.

any:

ovs-key-tcp¶

type:

struct

members:
tcp-src (u16):

tcp-dst (u16):

ovs-key-udp¶

type:

struct

members:
udp-src (u16):

udp-dst (u16):

ovs-key-sctp¶

type:

struct

members:
sctp-src (u16):

sctp-dst (u16):

ovs-key-icmp¶

type:

struct

members:
icmp-type (u8):

icmp-code (u8):

ovs-key-arp¶

type:

struct

members:
arp-sip (u32):

arp-tip (u32):

arp-op (u16):

arp-sha (binary):

arp-tha (binary):

ovs-key-nd¶

type:

struct

members:
nd-target (binary):

nd-sll (binary):

nd-tll (binary):

ovs-key-ct-tuple-ipv4¶

type:

struct

members:
ipv4-src (u32):

ipv4-dst (u32):

src-port (u16):

dst-port (u16):

ipv4-proto (u8):

ovs-action-push-vlan¶

type:

struct

members:
vlan-tpid (u16):

Tag protocol identifier (TPID) to push.

vlan-tci (u16):

Tag control identifier (TCI) to push.

ovs-ufid-flags¶

name-prefix:

ovs-ufid-f-

enum-name:

None

type:

flags

entries:
  • omit-key

  • omit-mask

  • omit-actions

ovs-action-hash¶

type:

struct

members:
hash-alg (u32):

Algorithm used to compute hash prior to recirculation.

hash-basis (u32):

Basis used for computing hash.