summaryrefslogtreecommitdiffstats
path: root/examples/rtnl/rtnl-route-event.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/rtnl/rtnl-route-event.c')
-rw-r--r--examples/rtnl/rtnl-route-event.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/examples/rtnl/rtnl-route-event.c b/examples/rtnl/rtnl-route-event.c
index 8a836f8..6cad9f0 100644
--- a/examples/rtnl/rtnl-route-event.c
+++ b/examples/rtnl/rtnl-route-event.c
@@ -55,6 +55,9 @@ static void attributes_show_ipv4(struct nlattr *tb[])
struct in_addr *addr = mnl_attr_get_payload(tb[RTA_GATEWAY]);
printf("gw=%s ", inet_ntoa(*addr));
}
+ if (tb[RTA_PRIORITY]) {
+ printf("prio=%u ", mnl_attr_get_u32(tb[RTA_PRIORITY]));
+ }
if (tb[RTA_METRICS]) {
int i;
struct nlattr *tbx[RTAX_MAX+1] = {};
@@ -105,6 +108,9 @@ static void attributes_show_ipv6(struct nlattr *tb[])
struct in6_addr *addr = mnl_attr_get_payload(tb[RTA_GATEWAY]);
printf("gw=%s ", inet6_ntoa(*addr));
}
+ if (tb[RTA_PRIORITY]) {
+ printf("prio=%u ", mnl_attr_get_u32(tb[RTA_PRIORITY]));
+ }
if (tb[RTA_METRICS]) {
int i;
struct nlattr *tbx[RTAX_MAX+1] = {};
@@ -118,7 +124,6 @@ static void attributes_show_ipv6(struct nlattr *tb[])
}
}
}
- printf("\n");
}
static int data_ipv4_attr_cb(const struct nlattr *attr, void *data)
@@ -138,6 +143,7 @@ static int data_ipv4_attr_cb(const struct nlattr *attr, void *data)
case RTA_FLOW:
case RTA_PREFSRC:
case RTA_GATEWAY:
+ case RTA_PRIORITY:
if (mnl_attr_validate(attr, MNL_TYPE_U32) < 0) {
perror("mnl_attr_validate");
return MNL_CB_ERROR;
@@ -167,6 +173,7 @@ static int data_ipv6_attr_cb(const struct nlattr *attr, void *data)
case RTA_TABLE:
case RTA_OIF:
case RTA_FLOW:
+ case RTA_PRIORITY:
if (mnl_attr_validate(attr, MNL_TYPE_U32) < 0) {
perror("mnl_attr_validate");
return MNL_CB_ERROR;
@@ -281,7 +288,7 @@ static int data_cb(const struct nlmsghdr *nlh, void *data)
* RTM_F_EQUALIZE = 0x400: Multipath equalizer: NI
* RTM_F_PREFIX = 0x800: Prefix addresses
*/
- printf("flags=%x", rm->rtm_flags);
+ printf("flags=%x ", rm->rtm_flags);
switch(rm->rtm_family) {
case AF_INET:
@@ -293,8 +300,8 @@ static int data_cb(const struct nlmsghdr *nlh, void *data)
attributes_show_ipv6(tb);
break;
}
- printf("\n");
+ printf("\n");
return MNL_CB_OK;
}