summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/if_atm.c6
-rw-r--r--sys/netinet/if_atm.h2
-rw-r--r--sys/netinet/if_ether.c6
-rw-r--r--sys/netinet/in_pcb.c10
4 files changed, 11 insertions, 13 deletions
diff --git a/sys/netinet/if_atm.c b/sys/netinet/if_atm.c
index 04b49bf..83fe027 100644
--- a/sys/netinet/if_atm.c
+++ b/sys/netinet/if_atm.c
@@ -71,14 +71,14 @@
* atm_rtrequest: handle ATM rt request (in support of generic code)
* inputs: "req" = request code
* "rt" = route entry
- * "sa" = sockaddr
+ * "info" = rt_addrinfo
*/
void
-atm_rtrequest(req, rt, sa)
+atm_rtrequest(req, rt, info)
int req;
register struct rtentry *rt;
- struct sockaddr *sa;
+ struct rt_addrinfo *info;
{
register struct sockaddr *gate = rt->rt_gateway;
struct atm_pseudoioctl api;
diff --git a/sys/netinet/if_atm.h b/sys/netinet/if_atm.h
index b448253..8603825 100644
--- a/sys/netinet/if_atm.h
+++ b/sys/netinet/if_atm.h
@@ -42,6 +42,6 @@ struct mbuf;
struct rtentry;
struct sockaddr;
-void atm_rtrequest __P((int, struct rtentry *, struct sockaddr *));
+void atm_rtrequest __P((int, struct rtentry *, struct rt_addrinfo *));
int atmresolve __P((struct rtentry *, struct mbuf *, struct sockaddr *,
struct atm_pseudohdr *));
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c
index dc662a8..1b654f4 100644
--- a/sys/netinet/if_ether.c
+++ b/sys/netinet/if_ether.c
@@ -116,7 +116,7 @@ SYSCTL_INT(_net_link_ether_inet, OID_AUTO, proxyall, CTLFLAG_RW,
&arp_proxyall, 0, "");
static void arp_init __P((void));
-static void arp_rtrequest __P((int, struct rtentry *, struct sockaddr *));
+static void arp_rtrequest __P((int, struct rtentry *, struct rt_addrinfo *));
static void arprequest __P((struct ifnet *,
struct in_addr *, struct in_addr *, u_char *));
static void arpintr __P((void));
@@ -154,10 +154,10 @@ arptimer(ignored_arg)
* Parallel to llc_rtrequest.
*/
static void
-arp_rtrequest(req, rt, sa)
+arp_rtrequest(req, rt, info)
int req;
register struct rtentry *rt;
- struct sockaddr *sa;
+ struct rt_addrinfo *info;
{
register struct sockaddr *gate = rt->rt_gateway;
register struct llinfo_arp *la = (struct llinfo_arp *)rt->rt_llinfo;
diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c
index 2725e80..8c0109f 100644
--- a/sys/netinet/in_pcb.c
+++ b/sys/netinet/in_pcb.c
@@ -738,16 +738,14 @@ in_losing(inp)
if ((rt = inp->inp_route.ro_rt)) {
bzero((caddr_t)&info, sizeof(info));
- info.rti_info[RTAX_DST] =
- (struct sockaddr *)&inp->inp_route.ro_dst;
+ info.rti_flags = rt->rt_flags;
+ info.rti_info[RTAX_DST] = rt_key(rt);
info.rti_info[RTAX_GATEWAY] = rt->rt_gateway;
info.rti_info[RTAX_NETMASK] = rt_mask(rt);
rt_missmsg(RTM_LOSING, &info, rt->rt_flags, 0);
if (rt->rt_flags & RTF_DYNAMIC)
- (void) rtrequest(RTM_DELETE, rt_key(rt),
- rt->rt_gateway, rt_mask(rt), rt->rt_flags,
- (struct rtentry **)0);
- inp->inp_route.ro_rt = 0;
+ (void) rtrequest1(RTM_DELETE, &info, NULL);
+ inp->inp_route.ro_rt = NULL;
rtfree(rt);
/*
* A new route can be allocated
OpenPOWER on IntegriCloud