blob: cccfccf49cc11d56ccb4834fe9ec758b2529a5b0 [file] [edit]
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
---
name: rt-addr
protocol: netlink-raw
uapi-header: linux/rtnetlink.h
protonum: 0
doc: >-
Address configuration over rtnetlink.
definitions:
-
name: ifaddrmsg
type: struct
members:
-
name: ifa-family
type: u8
-
name: ifa-prefixlen
type: u8
-
name: ifa-flags
type: u8
enum: ifa-flags
enum-as-flags: true
-
name: ifa-scope
type: u8
-
name: ifa-index
type: u32
-
name: ifa-cacheinfo
type: struct
members:
-
name: ifa-prefered
type: u32
-
name: ifa-valid
type: u32
-
name: cstamp
type: u32
-
name: tstamp
type: u32
-
name: ifa-flags
type: flags
name-prefix: ifa-f-
enum-name:
entries:
-
name: secondary
-
name: nodad
-
name: optimistic
-
name: dadfailed
-
name: homeaddress
-
name: deprecated
-
name: tentative
-
name: permanent
-
name: managetempaddr
-
name: noprefixroute
-
name: mcautojoin
-
name: stable-privacy
-
name: global
attribute-sets:
-
name: addr-attrs
name-prefix: ifa-
attributes:
-
name: address
type: binary
display-hint: ipv4-or-v6
-
name: local
type: binary
display-hint: ipv4-or-v6
-
name: label
type: string
-
name: broadcast
type: u32
byte-order: big-endian
display-hint: ipv4
-
name: anycast
type: binary
-
name: cacheinfo
type: binary
struct: ifa-cacheinfo
-
name: multicast
type: binary
-
name: flags
type: u32
enum: ifa-flags
enum-as-flags: true
-
name: rt-priority
type: u32
-
name: target-netnsid
type: s32
-
name: proto
type: u8
-
name: mc-users
type: u32
operations:
fixed-header: ifaddrmsg
enum-model: directional
name-prefix: rtm-
list:
-
name: newaddr
doc: Add new address
attribute-set: addr-attrs
do:
request:
value: 20
attributes: &ifaddr-all
- address
- label
- local
- cacheinfo
-
name: deladdr
doc: Remove address
attribute-set: addr-attrs
do:
request:
value: 21
attributes:
- address
- local
-
name: getaddr
doc: Dump address information.
attribute-set: addr-attrs
dump:
request:
value: 22
attributes: []
reply:
value: 20
attributes: *ifaddr-all
-
name: getmulticast
doc: |
Get / dump multicast addresses. ifa-family must select the address
family: AF_INET or AF_INET6 for the IP multicast groups joined on
a device, AF_PACKET for the link-layer multicast addresses in the
device filter. Link-layer entries added explicitly, e.g. with
SIOCADDMULTI or "bridge fdb add ... self", rather than by a
protocol join are reported with the global flag set. For AF_PACKET
a non-zero ifa-index restricts the dump to that device and
ifa-prefixlen, ifa-flags and ifa-scope must be zero, AF_INET and
AF_INET6 apply this and target-netnsid with NETLINK_GET_STRICT_CHK
only.
attribute-set: addr-attrs
fixed-header: ifaddrmsg
do:
request:
value: 58
attributes: []
reply:
value: 58
attributes: &mcaddr-attrs
- multicast
- mc-users
- cacheinfo
- flags
- target-netnsid
dump:
request:
value: 58
attributes:
- target-netnsid
reply:
value: 58
attributes: *mcaddr-attrs
mcast-groups:
list:
-
name: rtnlgrp-ipv4-ifaddr
value: 5
-
name: rtnlgrp-ipv6-ifaddr
value: 9