X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=system-linux.c;h=eb73e95d428e11e3952e824806bb6e3982a4ffca;hb=435fe4ecb297420cbe16b677ff09d94309229dbd;hp=e1343a500c0d5007d2e8269282e5d5bb0fe44f5b;hpb=9411d498c46fe3f1c4d79eb8fa0b7c97dd32a990;p=project%2Fnetifd.git diff --git a/system-linux.c b/system-linux.c index e1343a5..eb73e95 100644 --- a/system-linux.c +++ b/system-linux.c @@ -382,8 +382,13 @@ static bool check_ifaddr(struct nlmsghdr *hdr, int ifindex) static bool check_route(struct nlmsghdr *hdr, int ifindex) { + struct rtmsg *r = NLMSG_DATA(hdr); struct nlattr *tb[__RTA_MAX]; + if (r->rtm_protocol == RTPROT_KERNEL && + r->rtm_family == AF_INET6) + return false; + nlmsg_parse(hdr, sizeof(struct rtmsg), tb, __RTA_MAX - 1, NULL); if (!tb[RTA_OIF]) return false;