blob: d86a68f8475ca8e7a36b6fff57aafd30ef8f2167 [file] [log] [blame]
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
name: rt-link
protocol: netlink-raw
protonum: 0
doc:
Link configuration over rtnetlink.
definitions:
-
name: ifinfo-flags
type: flags
entries:
-
name: up
-
name: broadcast
-
name: debug
-
name: loopback
-
name: point-to-point
-
name: no-trailers
-
name: running
-
name: no-arp
-
name: promisc
-
name: all-multi
-
name: master
-
name: slave
-
name: multicast
-
name: portsel
-
name: auto-media
-
name: dynamic
-
name: lower-up
-
name: dormant
-
name: echo
-
name: rtgenmsg
type: struct
members:
-
name: family
type: u8
-
name: ifinfomsg
type: struct
members:
-
name: ifi-family
type: u8
-
name: padding
type: u8
-
name: ifi-type
type: u16
-
name: ifi-index
type: s32
-
name: ifi-flags
type: u32
enum: ifinfo-flags
enum-as-flags: true
-
name: ifi-change
type: u32
-
name: ifla-cacheinfo
type: struct
members:
-
name: max-reasm-len
type: u32
-
name: tstamp
type: u32
-
name: reachable-time
type: s32
-
name: retrans-time
type: u32
-
name: rtnl-link-stats
type: struct
members:
-
name: rx-packets
type: u32
-
name: tx-packets
type: u32
-
name: rx-bytes
type: u32
-
name: tx-bytes
type: u32
-
name: rx-errors
type: u32
-
name: tx-errors
type: u32
-
name: rx-dropped
type: u32
-
name: tx-dropped
type: u32
-
name: multicast
type: u32
-
name: collisions
type: u32
-
name: rx-length-errors
type: u32
-
name: rx-over-errors
type: u32
-
name: rx-crc-errors
type: u32
-
name: rx-frame-errors
type: u32
-
name: rx-fifo-errors
type: u32
-
name: rx-missed-errors
type: u32
-
name: tx-aborted-errors
type: u32
-
name: tx-carrier-errors
type: u32
-
name: tx-fifo-errors
type: u32
-
name: tx-heartbeat-errors
type: u32
-
name: tx-window-errors
type: u32
-
name: rx-compressed
type: u32
-
name: tx-compressed
type: u32
-
name: rx-nohandler
type: u32
-
name: rtnl-link-stats64
type: struct
members:
-
name: rx-packets
type: u64
-
name: tx-packets
type: u64
-
name: rx-bytes
type: u64
-
name: tx-bytes
type: u64
-
name: rx-errors
type: u64
-
name: tx-errors
type: u64
-
name: rx-dropped
type: u64
-
name: tx-dropped
type: u64
-
name: multicast
type: u64
-
name: collisions
type: u64
-
name: rx-length-errors
type: u64
-
name: rx-over-errors
type: u64
-
name: rx-crc-errors
type: u64
-
name: rx-frame-errors
type: u64
-
name: rx-fifo-errors
type: u64
-
name: rx-missed-errors
type: u64
-
name: tx-aborted-errors
type: u64
-
name: tx-carrier-errors
type: u64
-
name: tx-fifo-errors
type: u64
-
name: tx-heartbeat-errors
type: u64
-
name: tx-window-errors
type: u64
-
name: rx-compressed
type: u64
-
name: tx-compressed
type: u64
-
name: rx-nohandler
type: u64
-
name: rx-otherhost-dropped
type: u64
-
name: rtnl-link-ifmap
type: struct
members:
-
name: mem-start
type: u64
-
name: mem-end
type: u64
-
name: base-addr
type: u64
-
name: irq
type: u16
-
name: dma
type: u8
-
name: port
type: u8
-
name: ipv4-devconf
type: struct
members:
-
name: forwarding
type: u32
-
name: mc-forwarding
type: u32
-
name: proxy-arp
type: u32
-
name: accept-redirects
type: u32
-
name: secure-redirects
type: u32
-
name: send-redirects
type: u32
-
name: shared-media
type: u32
-
name: rp-filter
type: u32
-
name: accept-source-route
type: u32
-
name: bootp-relay
type: u32
-
name: log-martians
type: u32
-
name: tag
type: u32
-
name: arpfilter
type: u32
-
name: medium-id
type: u32
-
name: noxfrm
type: u32
-
name: nopolicy
type: u32
-
name: force-igmp-version
type: u32
-
name: arp-announce
type: u32
-
name: arp-ignore
type: u32
-
name: promote-secondaries
type: u32
-
name: arp-accept
type: u32
-
name: arp-notify
type: u32
-
name: accept-local
type: u32
-
name: src-vmark
type: u32
-
name: proxy-arp-pvlan
type: u32
-
name: route-localnet
type: u32
-
name: igmpv2-unsolicited-report-interval
type: u32
-
name: igmpv3-unsolicited-report-interval
type: u32
-
name: ignore-routes-with-linkdown
type: u32
-
name: drop-unicast-in-l2-multicast
type: u32
-
name: drop-gratuitous-arp
type: u32
-
name: bc-forwarding
type: u32
-
name: arp-evict-nocarrier
type: u32
-
name: ipv6-devconf
type: struct
members:
-
name: forwarding
type: u32
-
name: hoplimit
type: u32
-
name: mtu6
type: u32
-
name: accept-ra
type: u32
-
name: accept-redirects
type: u32
-
name: autoconf
type: u32
-
name: dad-transmits
type: u32
-
name: rtr-solicits
type: u32
-
name: rtr-solicit-interval
type: u32
-
name: rtr-solicit-delay
type: u32
-
name: use-tempaddr
type: u32
-
name: temp-valid-lft
type: u32
-
name: temp-prefered-lft
type: u32
-
name: regen-max-retry
type: u32
-
name: max-desync-factor
type: u32
-
name: max-addresses
type: u32
-
name: force-mld-version
type: u32
-
name: accept-ra-defrtr
type: u32
-
name: accept-ra-pinfo
type: u32
-
name: accept-ra-rtr-pref
type: u32
-
name: rtr-probe-interval
type: u32
-
name: accept-ra-rt-info-max-plen
type: u32
-
name: proxy-ndp
type: u32
-
name: optimistic-dad
type: u32
-
name: accept-source-route
type: u32
-
name: mc-forwarding
type: u32
-
name: disable-ipv6
type: u32
-
name: accept-dad
type: u32
-
name: force-tllao
type: u32
-
name: ndisc-notify
type: u32
-
name: mldv1-unsolicited-report-interval
type: u32
-
name: mldv2-unsolicited-report-interval
type: u32
-
name: suppress-frag-ndisc
type: u32
-
name: accept-ra-from-local
type: u32
-
name: use-optimistic
type: u32
-
name: accept-ra-mtu
type: u32
-
name: stable-secret
type: u32
-
name: use-oif-addrs-only
type: u32
-
name: accept-ra-min-hop-limit
type: u32
-
name: ignore-routes-with-linkdown
type: u32
-
name: drop-unicast-in-l2-multicast
type: u32
-
name: drop-unsolicited-na
type: u32
-
name: keep-addr-on-down
type: u32
-
name: rtr-solicit-max-interval
type: u32
-
name: seg6-enabled
type: u32
-
name: seg6-require-hmac
type: u32
-
name: enhanced-dad
type: u32
-
name: addr-gen-mode
type: u8
-
name: disable-policy
type: u32
-
name: accept-ra-rt-info-min-plen
type: u32
-
name: ndisc-tclass
type: u32
-
name: rpl-seg-enabled
type: u32
-
name: ra-defrtr-metric
type: u32
-
name: ioam6-enabled
type: u32
-
name: ioam6-id
type: u32
-
name: ioam6-id-wide
type: u32
-
name: ndisc-evict-nocarrier
type: u32
-
name: accept-untracked-na
type: u32
-
name: ifla-icmp6-stats
type: struct
members:
-
name: inmsgs
type: u64
-
name: inerrors
type: u64
-
name: outmsgs
type: u64
-
name: outerrors
type: u64
-
name: csumerrors
type: u64
-
name: ratelimithost
type: u64
-
name: ifla-inet6-stats
type: struct
members:
-
name: inpkts
type: u64
-
name: inoctets
type: u64
-
name: indelivers
type: u64
-
name: outforwdatagrams
type: u64
-
name: outpkts
type: u64
-
name: outoctets
type: u64
-
name: inhdrerrors
type: u64
-
name: intoobigerrors
type: u64
-
name: innoroutes
type: u64
-
name: inaddrerrors
type: u64
-
name: inunknownprotos
type: u64
-
name: intruncatedpkts
type: u64
-
name: indiscards
type: u64
-
name: outdiscards
type: u64
-
name: outnoroutes
type: u64
-
name: reasmtimeout
type: u64
-
name: reasmreqds
type: u64
-
name: reasmoks
type: u64
-
name: reasmfails
type: u64
-
name: fragoks
type: u64
-
name: fragfails
type: u64
-
name: fragcreates
type: u64
-
name: inmcastpkts
type: u64
-
name: outmcastpkts
type: u64
-
name: inbcastpkts
type: u64
-
name: outbcastpkts
type: u64
-
name: inmcastoctets
type: u64
-
name: outmcastoctets
type: u64
-
name: inbcastoctets
type: u64
-
name: outbcastoctets
type: u64
-
name: csumerrors
type: u64
-
name: noectpkts
type: u64
-
name: ect1-pkts
type: u64
-
name: ect0-pkts
type: u64
-
name: cepkts
type: u64
-
name: reasm-overlaps
type: u64
- name: br-boolopt-multi
type: struct
members:
-
name: optval
type: u32
-
name: optmask
type: u32
-
name: if_stats_msg
type: struct
members:
-
name: family
type: u8
-
name: pad1
type: u8
-
name: pad2
type: u16
-
name: ifindex
type: u32
-
name: filter-mask
type: u32
attribute-sets:
-
name: link-attrs
name-prefix: ifla-
attributes:
-
name: address
type: binary
display-hint: mac
-
name: broadcast
type: binary
display-hint: mac
-
name: ifname
type: string
-
name: mtu
type: u32
-
name: link
type: u32
-
name: qdisc
type: string
-
name: stats
type: binary
struct: rtnl-link-stats
-
name: cost
type: string
-
name: priority
type: string
-
name: master
type: u32
-
name: wireless
type: string
-
name: protinfo
type: string
-
name: txqlen
type: u32
-
name: map
type: binary
struct: rtnl-link-ifmap
-
name: weight
type: u32
-
name: operstate
type: u8
-
name: linkmode
type: u8
-
name: linkinfo
type: nest
nested-attributes: linkinfo-attrs
-
name: net-ns-pid
type: u32
-
name: ifalias
type: string
-
name: num-vf
type: u32
-
name: vfinfo-list
type: nest
nested-attributes: vfinfo-attrs
-
name: stats64
type: binary
struct: rtnl-link-stats64
-
name: vf-ports
type: nest
nested-attributes: vf-ports-attrs
-
name: port-self
type: nest
nested-attributes: port-self-attrs
-
name: af-spec
type: nest
nested-attributes: af-spec-attrs
-
name: group
type: u32
-
name: net-ns-fd
type: u32
-
name: ext-mask
type: u32
-
name: promiscuity
type: u32
-
name: num-tx-queues
type: u32
-
name: num-rx-queues
type: u32
-
name: carrier
type: u8
-
name: phys-port-id
type: binary
-
name: carrier-changes
type: u32
-
name: phys-switch-id
type: binary
-
name: link-netnsid
type: s32
-
name: phys-port-name
type: string
-
name: proto-down
type: u8
-
name: gso-max-segs
type: u32
-
name: gso-max-size
type: u32
-
name: pad
type: pad
-
name: xdp
type: nest
nested-attributes: xdp-attrs
-
name: event
type: u32
-
name: new-netnsid
type: s32
-
name: target-netnsid
type: s32
-
name: carrier-up-count
type: u32
-
name: carrier-down-count
type: u32
-
name: new-ifindex
type: s32
-
name: min-mtu
type: u32
-
name: max-mtu
type: u32
-
name: prop-list
type: nest
nested-attributes: link-attrs
-
name: alt-ifname
type: string
multi-attr: true
-
name: perm-address
type: binary
display-hint: mac
-
name: proto-down-reason
type: string
-
name: parent-dev-name
type: string
-
name: parent-dev-bus-name
type: string
-
name: gro-max-size
type: u32
-
name: tso-max-size
type: u32
-
name: tso-max-segs
type: u32
-
name: allmulti
type: u32
-
name: devlink-port
type: binary
-
name: gso-ipv4-max-size
type: u32
-
name: gro-ipv4-max-size
type: u32
-
name: af-spec-attrs
attributes:
-
name: "inet"
type: nest
value: 2
nested-attributes: ifla-attrs
-
name: "inet6"
type: nest
value: 10
nested-attributes: ifla6-attrs
-
name: "mctp"
type: nest
value: 45
nested-attributes: mctp-attrs
-
name: vfinfo-attrs
attributes: []
-
name: vf-ports-attrs
attributes: []
-
name: port-self-attrs
attributes: []
-
name: linkinfo-attrs
attributes:
-
name: kind
type: string
-
name: data
type: binary
# kind specific nest, e.g. linkinfo-bridge-attrs
-
name: xstats
type: binary
-
name: slave-kind
type: string
-
name: slave-data
type: binary
# kind specific nest
-
name: linkinfo-bridge-attrs
attributes:
-
name: forward-delay
type: u32
-
name: hello-time
type: u32
-
name: max-age
type: u32
-
name: ageing-time
type: u32
-
name: stp-state
type: u32
-
name: priority
type: u16
-
name: vlan-filtering
type: u8
-
name: vlan-protocol
type: u16
-
name: group-fwd-mask
type: u16
-
name: root-id
type: binary
-
name: bridge-id
type: binary
-
name: root-port
type: u16
-
name: root-path-cost
type: u32
-
name: topology-change
type: u8
-
name: topology-change-detected
type: u8
-
name: hello-timer
type: u64
-
name: tcn-timer
type: u64
-
name: topology-change-timer
type: u64
-
name: gc-timer
type: u64
-
name: group-addr
type: binary
-
name: fdb-flush
type: binary
-
name: mcast-router
type: u8
-
name: mcast-snooping
type: u8
-
name: mcast-query-use-ifaddr
type: u8
-
name: mcast-querier
type: u8
-
name: mcast-hash-elasticity
type: u32
-
name: mcast-hash-max
type: u32
-
name: mcast-last-member-cnt
type: u32
-
name: mcast-startup-query-cnt
type: u32
-
name: mcast-last-member-intvl
type: u64
-
name: mcast-membership-intvl
type: u64
-
name: mcast-querier-intvl
type: u64
-
name: mcast-query-intvl
type: u64
-
name: mcast-query-response-intvl
type: u64
-
name: mcast-startup-query-intvl
type: u64
-
name: nf-call-iptables
type: u8
-
name: nf-call-ip6-tables
type: u8
-
name: nf-call-arptables
type: u8
-
name: vlan-default-pvid
type: u16
-
name: pad
type: pad
-
name: vlan-stats-enabled
type: u8
-
name: mcast-stats-enabled
type: u8
-
name: mcast-igmp-version
type: u8
-
name: mcast-mld-version
type: u8
-
name: vlan-stats-per-port
type: u8
-
name: multi-boolopt
type: binary
struct: br-boolopt-multi
-
name: mcast-querier-state
type: binary
-
name: xdp-attrs
attributes:
-
name: fd
type: s32
-
name: attached
type: u8
-
name: flags
type: u32
-
name: prog-id
type: u32
-
name: drv-prog-id
type: u32
-
name: skb-prog-id
type: u32
-
name: hw-prog-id
type: u32
-
name: expected-fd
type: s32
-
name: ifla-attrs
attributes:
-
name: conf
type: binary
struct: ipv4-devconf
-
name: ifla6-attrs
attributes:
-
name: flags
type: u32
-
name: conf
type: binary
struct: ipv6-devconf
-
name: stats
type: binary
struct: ifla-inet6-stats
-
name: mcast
type: binary
-
name: cacheinfo
type: binary
struct: ifla-cacheinfo
-
name: icmp6-stats
type: binary
struct: ifla-icmp6-stats
-
name: token
type: binary
-
name: addr-gen-mode
type: u8
-
name: ra-mtu
type: u32
-
name: mctp-attrs
attributes:
-
name: mctp-net
type: u32
-
name: stats-attrs
name-prefix: ifla-stats-
attributes:
-
name: link-64
type: binary
struct: rtnl-link-stats64
-
name: link-xstats
type: binary
-
name: link-xstats-slave
type: binary
-
name: link-offload-xstats
type: nest
nested-attributes: link-offload-xstats
-
name: af-spec
type: binary
-
name: link-offload-xstats
attributes:
-
name: cpu-hit
type: binary
-
name: hw-s-info
type: array-nest
nested-attributes: hw-s-info-one
-
name: l3-stats
type: binary
-
name: hw-s-info-one
attributes:
-
name: request
type: u8
-
name: used
type: u8
operations:
enum-model: directional
list:
-
name: newlink
doc: Create a new link.
attribute-set: link-attrs
fixed-header: ifinfomsg
do:
request:
value: 16
attributes: &link-new-attrs
- ifi-index
- ifname
- net-ns-pid
- net-ns-fd
- target-netnsid
- link-netnsid
- linkinfo
- group
- num-tx-queues
- num-rx-queues
- address
- broadcast
- mtu
- txqlen
- operstate
- linkmode
- group
- gso-max-size
- gso-max-segs
- gro-max-size
- gso-ipv4-max-size
- gro-ipv4-max-size
- af-spec
-
name: dellink
doc: Delete an existing link.
attribute-set: link-attrs
fixed-header: ifinfomsg
do:
request:
value: 17
attributes:
- ifi-index
- ifname
-
name: getlink
doc: Get / dump information about a link.
attribute-set: link-attrs
fixed-header: ifinfomsg
do:
request:
value: 18
attributes:
- ifi-index
- ifname
- alt-ifname
- ext-mask
- target-netnsid
reply:
value: 16
attributes: &link-all-attrs
- ifi-family
- ifi-type
- ifi-index
- ifi-flags
- ifi-change
- address
- broadcast
- ifname
- mtu
- link
- qdisc
- stats
- cost
- priority
- master
- wireless
- protinfo
- txqlen
- map
- weight
- operstate
- linkmode
- linkinfo
- net-ns-pid
- ifalias
- num-vf
- vfinfo-list
- stats64
- vf-ports
- port-self
- af-spec
- group
- net-ns-fd
- ext-mask
- promiscuity
- num-tx-queues
- num-rx-queues
- carrier
- phys-port-id
- carrier-changes
- phys-switch-id
- link-netnsid
- phys-port-name
- proto-down
- gso-max-segs
- gso-max-size
- pad
- xdp
- event
- new-netnsid
- if-netnsid
- target-netnsid
- carrier-up-count
- carrier-down-count
- new-ifindex
- min-mtu
- max-mtu
- prop-list
- alt-ifname
- perm-address
- proto-down-reason
- parent-dev-name
- parent-dev-bus-name
- gro-max-size
- tso-max-size
- tso-max-segs
- allmulti
- devlink-port
- gso-ipv4-max-size
- gro-ipv4-max-size
dump:
request:
value: 18
attributes:
- target-netnsid
- ext-mask
- master
- linkinfo
reply:
value: 16
attributes: *link-all-attrs
-
name: setlink
doc: Set information about a link.
attribute-set: link-attrs
fixed-header: ifinfomsg
do:
request:
value: 19
attributes: *link-all-attrs
-
name: getstats
doc: Get / dump link stats.
attribute-set: stats-attrs
fixed-header: if_stats_msg
do:
request:
value: 94
attributes:
- ifindex
reply:
value: 92
attributes: &link-stats-attrs
- family
- ifindex
- filter-mask
- link-64
- link-xstats
- link-xstats-slave
- link-offload-xstats
- af-spec
dump:
request:
value: 94
reply:
value: 92
attributes: *link-stats-attrs
mcast-groups:
list:
-
name: rtnlgrp-link
value: 1
-
name: rtnlgrp-stats
value: 36