| Index: if-linux.c
|
| diff --git a/if-linux.c b/if-linux.c
|
| index d24b956e33be01ef6f3a43c59526926a0fa05f00..47bbd4aa6dec76db199d8104139e3786bd214ce6 100644
|
| --- a/if-linux.c
|
| +++ b/if-linux.c
|
| @@ -151,67 +151,6 @@ err_netlink(struct nlmsghdr *nlm)
|
| }
|
|
|
| static int
|
| -link_route(struct nlmsghdr *nlm)
|
| -{
|
| - int len, idx, metric;
|
| - struct rtattr *rta;
|
| - struct rtmsg *rtm;
|
| - struct rt rt;
|
| - char ifn[IF_NAMESIZE + 1];
|
| -
|
| - if (nlm->nlmsg_type != RTM_DELROUTE)
|
| - return 0;
|
| -
|
| - len = nlm->nlmsg_len - sizeof(*nlm);
|
| - if ((size_t)len < sizeof(*rtm)) {
|
| - errno = EBADMSG;
|
| - return -1;
|
| - }
|
| - rtm = NLMSG_DATA(nlm);
|
| - if (rtm->rtm_type != RTN_UNICAST ||
|
| - rtm->rtm_table != RT_TABLE_MAIN ||
|
| - rtm->rtm_family != AF_INET ||
|
| - nlm->nlmsg_pid == (uint32_t)getpid())
|
| - return 1;
|
| - rta = (struct rtattr *) ((char *)rtm + NLMSG_ALIGN(sizeof(*rtm)));
|
| - len = NLMSG_PAYLOAD(nlm, sizeof(*rtm));
|
| - rt.iface = NULL;
|
| - rt.dest.s_addr = INADDR_ANY;
|
| - rt.net.s_addr = INADDR_ANY;
|
| - rt.gate.s_addr = INADDR_ANY;
|
| - rt.next = NULL;
|
| - metric = 0;
|
| - while (RTA_OK(rta, len)) {
|
| - switch (rta->rta_type) {
|
| - case RTA_DST:
|
| - memcpy(&rt.dest.s_addr, RTA_DATA(rta),
|
| - sizeof(rt.dest.s_addr));
|
| - break;
|
| - case RTA_GATEWAY:
|
| - memcpy(&rt.gate.s_addr, RTA_DATA(rta),
|
| - sizeof(rt.gate.s_addr));
|
| - break;
|
| - case RTA_OIF:
|
| - idx = *(int *)RTA_DATA(rta);
|
| - if (if_indextoname(idx, ifn))
|
| - rt.iface = find_interface(ifn);
|
| - break;
|
| - case RTA_PRIORITY:
|
| - metric = *(int *)RTA_DATA(rta);
|
| - break;
|
| - }
|
| - rta = RTA_NEXT(rta, len);
|
| - }
|
| - if (rt.iface != NULL) {
|
| - if (metric == rt.iface->metric) {
|
| - inet_cidrtoaddr(rtm->rtm_dst_len, &rt.net);
|
| - route_deleted(&rt);
|
| - }
|
| - }
|
| - return 1;
|
| -}
|
| -
|
| -static int
|
| link_addr(struct nlmsghdr *nlm)
|
| {
|
| int len;
|
| @@ -269,9 +208,6 @@ link_netlink(struct nlmsghdr *nlm)
|
| struct ifinfomsg *ifi;
|
| char ifn[IF_NAMESIZE + 1];
|
|
|
| - len = link_route(nlm);
|
| - if (len != 0)
|
| - return len;
|
| len = link_addr(nlm);
|
| if (len != 0)
|
| return len;
|
|
|