system-linux: do not delete kernel-generated ipv6 routes to fix using advertised...
[project/netifd.git] / system-linux.c
index e1343a5..eb73e95 100644 (file)
@@ -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;