Page MenuHomeFreeBSD

D41330.diff
No OneTemporary

D41330.diff

diff --git a/sys/netlink/route/rt.c b/sys/netlink/route/rt.c
--- a/sys/netlink/route/rt.c
+++ b/sys/netlink/route/rt.c
@@ -750,9 +750,14 @@
struct ifaddr *ifa = ifaof_ifpforaddr(gw_sa, nh->nh_ifp);
if (ifa == NULL) {
- NL_LOG(LOG_DEBUG, "Unable to determine ifa, skipping");
- *perror = EINVAL;
- return (NULL);
+ /* Try link-level ifa. */
+ gw_sa = &nh->gw_sa;
+ ifa = ifaof_ifpforaddr(gw_sa, nh->nh_ifp);
+ if (ifa == NULL) {
+ NL_LOG(LOG_DEBUG, "Unable to determine ifa, skipping");
+ *perror = EINVAL;
+ return (NULL);
+ }
}
nhop_set_src(nh, ifa);
}

File Metadata

Mime Type
text/plain
Expires
Sun, Jul 19, 7:50 AM (4 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35226773
Default Alt Text
D41330.diff (596 B)

Event Timeline