some dude commited it like this in '95.
I came accress it because I want to use it in a place where I don't
have a rtentry allocated already.
OK?
diff --git net/route.c net/route.c
index 30c8def301d..a0c5738d831 100644
--- net/route.c
+++ net/route.c
@@ -1103,7 +1103,7 @@ rt_ifa_add(struct ifaddr *ifa, int flags, struct sockaddr
*dst)
* userland that a new address has been added.
*/
if (flags & RTF_LOCAL)
- rtm_addr(rt, RTM_NEWADDR, ifa);
+ rtm_addr(RTM_NEWADDR, ifa);
rtm_send(rt, RTM_ADD, 0, rtableid);
rtfree(rt);
}
@@ -1158,9 +1158,9 @@ rt_ifa_del(struct ifaddr *ifa, int flags, struct sockaddr
*dst)
error = rtrequest_delete(&info, prio, ifp, &rt, rtableid);
if (error == 0) {
rtm_send(rt, RTM_DELETE, 0, rtableid);
- if (flags & RTF_LOCAL)
- rtm_addr(rt, RTM_DELADDR, ifa);
rtfree(rt);
+ if (flags & RTF_LOCAL)
+ rtm_addr(RTM_DELADDR, ifa);
}
m_free(m);
diff --git net/route.h net/route.h
index 9f5459a9a62..3c89348cb43 100644
--- net/route.h
+++ net/route.h
@@ -427,7 +427,7 @@ void rt_maskedcopy(struct sockaddr *,
struct sockaddr *, struct sockaddr *);
struct sockaddr *rt_plen2mask(struct rtentry *, struct sockaddr_in6 *);
void rtm_send(struct rtentry *, int, int, unsigned int);
-void rtm_addr(struct rtentry *, int, struct ifaddr *);
+void rtm_addr(int, struct ifaddr *);
void rtm_miss(int, struct rt_addrinfo *, int, uint8_t, u_int, int, u_int);
int rt_setgate(struct rtentry *, struct sockaddr *, u_int);
struct rtentry *rt_getll(struct rtentry *);
diff --git net/rtsock.c net/rtsock.c
index eb570e25698..c5590378259 100644
--- net/rtsock.c
+++ net/rtsock.c
@@ -1509,7 +1509,7 @@ rtm_ifchg(struct ifnet *ifp)
* copies of it.
*/
void
-rtm_addr(struct rtentry *rt, int cmd, struct ifaddr *ifa)
+rtm_addr(int cmd, struct ifaddr *ifa)
{
struct ifnet *ifp = ifa->ifa_ifp;
struct mbuf *m;
--
I'm not entirely sure you are real.