diff options
author | Susant Sahani <susant@redhat.com> | 2017-06-26 23:28:10 +0530 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-06-27 10:15:27 -0400 |
commit | d37b7627c2e3124803a5c2203a20af396c60a789 (patch) | |
tree | bc9871dd1d6a7c97abfc2e3bbc63e629803aed8e /src/libsystemd/sd-netlink | |
parent | f52b982cc9504bf89b035d4b55ac038a61226210 (diff) | |
download | systemd-d37b7627c2e3124803a5c2203a20af396c60a789.tar.gz |
networkctl: display address labels
```
./networkctl label
Prefix/Prefixlen Label
::/0 1
fc00::/7 5
fec0::/10 11
2002::/16 2
3ffe::/16 12
2001:10::/28 7
2001::/32 6
::ffff:0.0.0.0/96 4
::/96 3
::1/128 0
```
Diffstat (limited to 'src/libsystemd/sd-netlink')
-rw-r--r-- | src/libsystemd/sd-netlink/netlink-message.c | 3 | ||||
-rw-r--r-- | src/libsystemd/sd-netlink/rtnl-message.c | 14 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/libsystemd/sd-netlink/netlink-message.c b/src/libsystemd/sd-netlink/netlink-message.c index 654a22fe3b..e8c8abac2a 100644 --- a/src/libsystemd/sd-netlink/netlink-message.c +++ b/src/libsystemd/sd-netlink/netlink-message.c @@ -104,7 +104,8 @@ int sd_netlink_message_request_dump(sd_netlink_message *m, int dump) { assert_return(m->hdr->nlmsg_type == RTM_GETLINK || m->hdr->nlmsg_type == RTM_GETADDR || m->hdr->nlmsg_type == RTM_GETROUTE || - m->hdr->nlmsg_type == RTM_GETNEIGH, + m->hdr->nlmsg_type == RTM_GETNEIGH || + m->hdr->nlmsg_type == RTM_GETADDRLABEL , -EINVAL); SET_FLAG(m->hdr->nlmsg_flags, NLM_F_DUMP, dump); diff --git a/src/libsystemd/sd-netlink/rtnl-message.c b/src/libsystemd/sd-netlink/rtnl-message.c index d5f8b7d15e..12c51ffe2e 100644 --- a/src/libsystemd/sd-netlink/rtnl-message.c +++ b/src/libsystemd/sd-netlink/rtnl-message.c @@ -740,3 +740,17 @@ int sd_rtnl_message_addrlabel_set_prefixlen(sd_netlink_message *m, unsigned char return 0; } + +int sd_rtnl_message_addrlabel_get_prefixlen(sd_netlink_message *m, unsigned char *prefixlen) { + struct ifaddrlblmsg *addrlabel; + + assert_return(m, -EINVAL); + assert_return(m->hdr, -EINVAL); + assert_return(rtnl_message_type_is_addrlabel(m->hdr->nlmsg_type), -EINVAL); + + addrlabel = NLMSG_DATA(m->hdr); + + *prefixlen = addrlabel->ifal_prefixlen; + + return 0; +} |