From ed6100441ec6e95797d3692925b85c627a4e8df1 Mon Sep 17 00:00:00 2001 From: "Ondrej Zajicek (work)" Date: Wed, 29 Mar 2017 15:55:39 +0200 Subject: Netlink: Better handling of an error case --- sysdep/linux/netlink.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'sysdep/linux/netlink.c') diff --git a/sysdep/linux/netlink.c b/sysdep/linux/netlink.c index 897c3c6c..654dc4d1 100644 --- a/sysdep/linux/netlink.c +++ b/sysdep/linux/netlink.c @@ -1419,13 +1419,13 @@ nl_parse_route(struct nl_parse_state *s, struct nlmsghdr *h) if (!nl_parse_attrs(RTM_RTA(i), rtm_attr_want_mpls, a, sizeof(a))) return; - if (a[RTA_DST]) - if (rta_get_mpls(a[RTA_DST], rta_mpls_stack) == 1) - net_fill_mpls(&dst, rta_mpls_stack[0]); - else - log(L_WARN "KRT: Got multi-label MPLS RTA_DST"); - else - return; /* No support for MPLS routes without RTA_DST */ + if (!a[RTA_DST]) + SKIP("MPLS route without RTA_DST"); + + if (rta_get_mpls(a[RTA_DST], rta_mpls_stack) != 1) + SKIP("MPLS route with multi-label RTA_DST"); + + net_fill_mpls(&dst, rta_mpls_stack[0]); break; default: -- cgit v1.2.3