diff options
author | 2017-03-06 08:56:39 +0000 | |
---|---|---|
committer | 2017-03-06 08:56:39 +0000 | |
commit | d767223c39195ffdb0b1bfdc248203c428fea8f7 (patch) | |
tree | cb8ec22630cb987f5d0c4553c37391122df25464 | |
parent | Just exit 1 instead of printing usage on error. (diff) | |
download | wireguard-openbsd-d767223c39195ffdb0b1bfdc248203c428fea8f7.tar.xz wireguard-openbsd-d767223c39195ffdb0b1bfdc248203c428fea8f7.zip |
Prefix functions dealing with routing messages with 'rtm_' and keep
them all in net/rtsock.c.
This allows to easily spot which functions are doing a copyout(9)
when dealing with the routing midlayer.
ok phessler@, bluhm@, dhill@, krw@, claudio@
-rw-r--r-- | sys/net/bfd.c | 8 | ||||
-rw-r--r-- | sys/net/if.c | 12 | ||||
-rw-r--r-- | sys/net/route.c | 43 | ||||
-rw-r--r-- | sys/net/route.h | 16 | ||||
-rw-r--r-- | sys/net/rtsock.c | 116 | ||||
-rw-r--r-- | sys/netinet/if_ether.c | 4 | ||||
-rw-r--r-- | sys/netinet/in_pcb.c | 4 | ||||
-rw-r--r-- | sys/netinet6/nd6_rtr.c | 6 |
8 files changed, 104 insertions, 105 deletions
diff --git a/sys/net/bfd.c b/sys/net/bfd.c index a4af3793cb9..9ec2eaee748 100644 --- a/sys/net/bfd.c +++ b/sys/net/bfd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: bfd.c,v 1.58 2017/01/24 10:08:30 krw Exp $ */ +/* $OpenBSD: bfd.c,v 1.59 2017/03/06 08:56:39 mpi Exp $ */ /* * Copyright (c) 2016 Peter Hessler <phessler@openbsd.org> @@ -397,7 +397,7 @@ bfd_send_task(void *arg) bfd_set_state(bfd, BFD_STATE_DOWN); } } -//rt_bfdmsg(bfd); +//rtm_bfd(bfd); /* re-add 70%-90% jitter to our transmits, rfc 5880 6.8.7 */ timeout_add_usec(&bfd->bc_timo_tx, @@ -651,7 +651,7 @@ bfd_timeout_rx(void *v) if (bfd->bc_state > BFD_STATE_DOWN) { bfd_error(bfd); - rt_bfdmsg(bfd); + rtm_bfd(bfd); } timeout_add_usec(&bfd->bc_timo_rx, bfd->bc_minrx); @@ -897,7 +897,7 @@ bfd_set_state(struct bfd_config *bfd, int state) } bfd->bc_state = state; - rt_bfdmsg(bfd); + rtm_bfd(bfd); if_put(ifp); return; diff --git a/sys/net/if.c b/sys/net/if.c index 6a5d41f7a93..1ae214fd5ad 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if.c,v 1.488 2017/02/28 15:35:02 yasuoka Exp $ */ +/* $OpenBSD: if.c,v 1.489 2017/03/06 08:56:39 mpi Exp $ */ /* $NetBSD: if.c,v 1.35 1996/05/07 05:26:04 thorpej Exp $ */ /* @@ -435,7 +435,7 @@ if_attachsetup(struct ifnet *ifp) task_set(ifp->if_linkstatetask, if_linkstate_task, (void *)ifidx); /* Announce the interface. */ - rt_ifannouncemsg(ifp, IFAN_ARRIVAL); + rtm_ifannounce(ifp, IFAN_ARRIVAL); } /* @@ -1087,7 +1087,7 @@ if_detach(struct ifnet *ifp) } /* Announce that the interface is gone. */ - rt_ifannouncemsg(ifp, IFAN_DEPARTURE); + rtm_ifannounce(ifp, IFAN_DEPARTURE); splx(s2); NET_UNLOCK(s); @@ -1579,7 +1579,7 @@ if_linkstate(struct ifnet *ifp) { NET_ASSERT_LOCKED(); - rt_ifmsg(ifp); + rtm_ifchg(ifp); #ifndef SMALL_KERNEL rt_if_track(ifp); #endif @@ -1988,7 +1988,7 @@ ifioctl(struct socket *so, u_long cmd, caddr_t data, struct proc *p) ifp->if_xflags = (ifp->if_xflags & IFXF_CANTCHANGE) | (ifr->ifr_flags & ~IFXF_CANTCHANGE); - rt_ifmsg(ifp); + rtm_ifchg(ifp); break; case SIOCSIFMETRIC: @@ -2004,7 +2004,7 @@ ifioctl(struct socket *so, u_long cmd, caddr_t data, struct proc *p) return (EOPNOTSUPP); error = (*ifp->if_ioctl)(ifp, cmd, data); if (!error) - rt_ifmsg(ifp); + rtm_ifchg(ifp); break; case SIOCSIFPHYADDR: diff --git a/sys/net/route.c b/sys/net/route.c index e8eb7fd3565..d9d7b9292c3 100644 --- a/sys/net/route.c +++ b/sys/net/route.c @@ -1,4 +1,4 @@ -/* $OpenBSD: route.c,v 1.353 2017/03/02 03:09:50 renato Exp $ */ +/* $OpenBSD: route.c,v 1.354 2017/03/06 08:56:39 mpi Exp $ */ /* $NetBSD: route.c,v 1.14 1996/02/13 22:00:46 christos Exp $ */ /* @@ -264,11 +264,11 @@ rt_match(struct sockaddr *dst, uint32_t *src, int flags, unsigned int tableid) error = rtrequest(RTM_RESOLVE, &info, rt->rt_priority - 1, &rt, tableid); if (error) { - rt_missmsg(RTM_MISS, &info, 0, RTP_NONE, 0, + rtm_miss(RTM_MISS, &info, 0, RTP_NONE, 0, error, tableid); } else { /* Inform listeners of the new route */ - rt_sendmsg(rt, RTM_ADD, tableid); + rtm_send(rt, RTM_ADD, tableid); rtfree(rt0); } KERNEL_UNLOCK(); @@ -499,31 +499,6 @@ rtfree(struct rtentry *rt) } void -rt_sendmsg(struct rtentry *rt, int cmd, u_int rtableid) -{ - struct rt_addrinfo info; - struct ifnet *ifp; - struct sockaddr_rtlabel sa_rl; - struct sockaddr_in6 sa_mask; - - memset(&info, 0, sizeof(info)); - info.rti_info[RTAX_DST] = rt_key(rt); - info.rti_info[RTAX_GATEWAY] = rt->rt_gateway; - if (!ISSET(rt->rt_flags, RTF_HOST)) - info.rti_info[RTAX_NETMASK] = rt_plen2mask(rt, &sa_mask); - info.rti_info[RTAX_LABEL] = rtlabel_id2sa(rt->rt_labelid, &sa_rl); - ifp = if_get(rt->rt_ifidx); - if (ifp != NULL) { - info.rti_info[RTAX_IFP] = sdltosa(ifp->if_sadl); - info.rti_info[RTAX_IFA] = rt->rt_ifa->ifa_addr; - } - - rt_missmsg(cmd, &info, rt->rt_flags, rt->rt_priority, rt->rt_ifidx, 0, - rtableid); - if_put(ifp); -} - -void ifafree(struct ifaddr *ifa) { if (ifa == NULL) @@ -649,7 +624,7 @@ out: info.rti_info[RTAX_DST] = dst; info.rti_info[RTAX_GATEWAY] = gateway; info.rti_info[RTAX_AUTHOR] = src; - rt_missmsg(RTM_REDIRECT, &info, flags, prio, ifidx, error, rdomain); + rtm_miss(RTM_REDIRECT, &info, flags, prio, ifidx, error, rdomain); } /* @@ -678,7 +653,7 @@ rtdeletemsg(struct rtentry *rt, struct ifnet *ifp, u_int tableid) info.rti_flags = rt->rt_flags; ifidx = rt->rt_ifidx; error = rtrequest_delete(&info, rt->rt_priority, ifp, &rt, tableid); - rt_missmsg(RTM_DELETE, &info, info.rti_flags, rt->rt_priority, ifidx, + rtm_miss(RTM_DELETE, &info, info.rti_flags, rt->rt_priority, ifidx, error, tableid); if (error == 0) rtfree(rt); @@ -1225,8 +1200,8 @@ rt_ifa_add(struct ifaddr *ifa, int flags, struct sockaddr *dst) * userland that a new address has been added. */ if (flags & RTF_LOCAL) - rt_sendaddrmsg(rt, RTM_NEWADDR, ifa); - rt_sendmsg(rt, RTM_ADD, rtableid); + rtm_addr(rt, RTM_NEWADDR, ifa); + rtm_send(rt, RTM_ADD, rtableid); rtfree(rt); } return (error); @@ -1279,9 +1254,9 @@ rt_ifa_del(struct ifaddr *ifa, int flags, struct sockaddr *dst) error = rtrequest_delete(&info, prio, ifp, &rt, rtableid); if (error == 0) { - rt_sendmsg(rt, RTM_DELETE, rtableid); + rtm_send(rt, RTM_DELETE, rtableid); if (flags & RTF_LOCAL) - rt_sendaddrmsg(rt, RTM_DELADDR, ifa); + rtm_addr(rt, RTM_DELADDR, ifa); rtfree(rt); } m_free(m); diff --git a/sys/net/route.h b/sys/net/route.h index 1a0d20a691a..376d086994e 100644 --- a/sys/net/route.h +++ b/sys/net/route.h @@ -1,4 +1,4 @@ -/* $OpenBSD: route.h,v 1.158 2017/03/03 15:48:02 bluhm Exp $ */ +/* $OpenBSD: route.h,v 1.159 2017/03/06 08:56:39 mpi Exp $ */ /* $NetBSD: route.h,v 1.9 1996/02/13 22:00:49 christos Exp $ */ /* @@ -421,19 +421,17 @@ int route_output(struct mbuf *, struct socket *, struct sockaddr *, struct mbuf *); int route_usrreq(struct socket *, int, struct mbuf *, struct mbuf *, struct mbuf *, struct proc *); -void rt_ifmsg(struct ifnet *); -void rt_ifannouncemsg(struct ifnet *, int); -void rt_bfdmsg(struct bfd_config *); +void rtm_ifchg(struct ifnet *); +void rtm_ifannounce(struct ifnet *, int); +void rtm_bfd(struct bfd_config *); void rt_maskedcopy(struct sockaddr *, struct sockaddr *, struct sockaddr *); struct sockaddr *rt_plen2mask(struct rtentry *, struct sockaddr_in6 *); -void rt_sendmsg(struct rtentry *, int, u_int); -void rt_sendaddrmsg(struct rtentry *, int, struct ifaddr *); -void rt_missmsg(int, struct rt_addrinfo *, int, uint8_t, u_int, int, u_int); +void rtm_send(struct rtentry *, int, u_int); +void rtm_addr(struct rtentry *, 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 *); -void rt_setmetrics(u_long, const struct rt_metrics *, struct rt_kmetrics *); -void rt_getmetrics(const struct rt_kmetrics *, struct rt_metrics *); int rt_timer_add(struct rtentry *, void(*)(struct rtentry *, struct rttimer *), diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c index ac55bb5e605..11286c5a793 100644 --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rtsock.c,v 1.228 2017/03/03 15:48:02 bluhm Exp $ */ +/* $OpenBSD: rtsock.c,v 1.229 2017/03/06 08:56:39 mpi Exp $ */ /* $NetBSD: rtsock.c,v 1.18 1996/03/29 00:32:10 cgd Exp $ */ /* @@ -102,20 +102,23 @@ int route_ctloutput(int, struct socket *, int, int, struct mbuf *); void route_input(struct mbuf *m0, sa_family_t); int route_arp_conflict(struct rtentry *, struct rt_addrinfo *); int route_cleargateway(struct rtentry *, void *, unsigned int); +void route_senddesync(void *); -struct mbuf *rt_msg1(int, struct rt_addrinfo *); -int rt_msg2(int, int, struct rt_addrinfo *, caddr_t, +struct rt_msghdr *rtm_report(struct rtentry *, u_char, int, int); +struct mbuf *rtm_msg1(int, struct rt_addrinfo *); +int rtm_msg2(int, int, struct rt_addrinfo *, caddr_t, struct walkarg *); -void rt_xaddrs(caddr_t, caddr_t, struct rt_addrinfo *); - -void rt_proposalmsg(struct rt_msghdr *, struct rt_addrinfo *); +void rtm_xaddrs(caddr_t, caddr_t, struct rt_addrinfo *); +int rtm_validate_proposal(struct rt_addrinfo *); +void rtm_setmetrics(u_long, const struct rt_metrics *, + struct rt_kmetrics *); +void rtm_getmetrics(const struct rt_kmetrics *, + struct rt_metrics *); int sysctl_iflist(int, struct walkarg *); int sysctl_ifnames(struct walkarg *); int sysctl_rtable_rtstat(void *, size_t *, void *); -int validate_proposal(struct rt_addrinfo *); - struct routecb { struct rawcb rcb; struct timeout timeout; @@ -145,8 +148,6 @@ struct route_cb route_cb; #define ROUTE_DESYNC_RESEND_TIMEOUT (hz / 5) /* In hz */ -void rt_senddesync(void *); - int route_usrreq(struct socket *so, int req, struct mbuf *m, struct mbuf *nam, struct mbuf *control, struct proc *p) @@ -171,7 +172,7 @@ route_usrreq(struct socket *so, int req, struct mbuf *m, struct mbuf *nam, rp = &rop->rcb; so->so_pcb = rp; /* Init the timeout structure */ - timeout_set(&((struct routecb *)rp)->timeout, rt_senddesync, rp); + timeout_set(&rop->timeout, route_senddesync, rp); /* * Don't call raw_usrreq() in the attach case, because * we want to allow non-privileged processes to listen @@ -296,7 +297,7 @@ route_ctloutput(int op, struct socket *so, int level, int optname, } void -rt_senddesync(void *data) +route_senddesync(void *data) { struct rawcb *rp; struct routecb *rop; @@ -314,7 +315,7 @@ rt_senddesync(void *data) * If we fail to alloc memory or if sbappendaddr() * fails, re-add timeout and try again. */ - desync_mbuf = rt_msg1(RTM_DESYNC, NULL); + desync_mbuf = rtm_msg1(RTM_DESYNC, NULL); if (desync_mbuf != NULL) { s = splsoftnet(); if (sbappendaddr(&rp->rcb_socket->so_rcv, &route_src, @@ -430,7 +431,7 @@ route_input(struct mbuf *m0, sa_family_t sa_family) sotoroutecb(last)->flags |= ROUTECB_FLAG_DESYNC | ROUTECB_FLAG_FLUSH; - rt_senddesync((void *) sotorawcb(last)); + route_senddesync(sotorawcb(last)); m_freem(n); } else { sorwakeup(last); @@ -449,7 +450,7 @@ route_input(struct mbuf *m0, sa_family_t sa_family) /* Flag socket as desync'ed and flush required */ sotoroutecb(last)->flags |= ROUTECB_FLAG_DESYNC | ROUTECB_FLAG_FLUSH; - rt_senddesync((void *) sotorawcb(last)); + route_senddesync(sotorawcb(last)); m_freem(m); } else { sorwakeup(last); @@ -461,7 +462,7 @@ route_input(struct mbuf *m0, sa_family_t sa_family) } struct rt_msghdr * -rt_report(struct rtentry *rt, u_char type, int seq, int tableid) +rtm_report(struct rtentry *rt, u_char type, int seq, int tableid) { struct rt_msghdr *rtm; struct rt_addrinfo info; @@ -508,10 +509,10 @@ rt_report(struct rtentry *rt, u_char type, int seq, int tableid) /* RTAX_GENMASK, RTAX_AUTHOR, RTAX_SRCMASK ignored */ /* build new route message */ - len = rt_msg2(type, RTM_VERSION, &info, NULL, NULL); + len = rtm_msg2(type, RTM_VERSION, &info, NULL, NULL); rtm = malloc(len, M_RTABLE, M_WAITOK | M_ZERO); - rt_msg2(type, RTM_VERSION, &info, (caddr_t)rtm, NULL); + rtm_msg2(type, RTM_VERSION, &info, (caddr_t)rtm, NULL); rtm->rtm_type = type; rtm->rtm_index = rt->rt_ifidx; rtm->rtm_tableid = tableid; @@ -519,7 +520,7 @@ rt_report(struct rtentry *rt, u_char type, int seq, int tableid) rtm->rtm_flags = rt->rt_flags; rtm->rtm_pid = curproc->p_p->ps_pid; rtm->rtm_seq = seq; - rt_getmetrics(&rt->rt_rmx, &rtm->rtm_rmx); + rtm_getmetrics(&rt->rt_rmx, &rtm->rtm_rmx); rtm->rtm_addrs = info.rti_addrs; #ifdef MPLS rtm->rtm_mpls = info.rti_mpls; @@ -643,7 +644,7 @@ route_output(struct mbuf *m, struct socket *so, struct sockaddr *dstaddr, bzero(&info, sizeof(info)); info.rti_addrs = rtm->rtm_addrs; - rt_xaddrs(rtm->rtm_hdrlen + (caddr_t)rtm, len + (caddr_t)rtm, &info); + rtm_xaddrs(rtm->rtm_hdrlen + (caddr_t)rtm, len + (caddr_t)rtm, &info); info.rti_flags = rtm->rtm_flags; if (rtm->rtm_type != RTM_PROPOSAL && (info.rti_info[RTAX_DST] == NULL || @@ -674,7 +675,7 @@ route_output(struct mbuf *m, struct socket *so, struct sockaddr *dstaddr, * Validate RTM_PROPOSAL and pass it along or error out. */ if (rtm->rtm_type == RTM_PROPOSAL) { - if (validate_proposal(&info) == -1) { + if (rtm_validate_proposal(&info) == -1) { error = EINVAL; goto fail; } @@ -708,7 +709,7 @@ route_output(struct mbuf *m, struct socket *so, struct sockaddr *dstaddr, error = rtrequest(RTM_ADD, &info, prio, &rt, tableid); if (error == 0) - rt_setmetrics(rtm->rtm_inits, &rtm->rtm_rmx, + rtm_setmetrics(rtm->rtm_inits, &rtm->rtm_rmx, &rt->rt_rmx); else goto flush; @@ -895,7 +896,7 @@ change: (rt->rt_flags & ~rtm->rtm_fmask) | (rtm->rtm_flags & rtm->rtm_fmask); - rt_setmetrics(rtm->rtm_inits, &rtm->rtm_rmx, + rtm_setmetrics(rtm->rtm_inits, &rtm->rtm_rmx, &rt->rt_rmx); ifp = if_get(rt->rt_ifidx); @@ -944,7 +945,7 @@ change: type = rtm->rtm_type; seq = rtm->rtm_seq; free(rtm, M_RTABLE, 0); - rtm = rt_report(rt, type, seq, tableid); + rtm = rtm_report(rt, type, seq, tableid); flush: rtfree(rt); if (error) { @@ -1036,7 +1037,7 @@ route_arp_conflict(struct rtentry *rt, struct rt_addrinfo *info) } void -rt_setmetrics(u_long which, const struct rt_metrics *in, +rtm_setmetrics(u_long which, const struct rt_metrics *in, struct rt_kmetrics *out) { int64_t expire; @@ -1055,7 +1056,7 @@ rt_setmetrics(u_long which, const struct rt_metrics *in, } void -rt_getmetrics(const struct rt_kmetrics *in, struct rt_metrics *out) +rtm_getmetrics(const struct rt_kmetrics *in, struct rt_metrics *out) { int64_t expire; @@ -1077,7 +1078,7 @@ rt_getmetrics(const struct rt_kmetrics *in, struct rt_metrics *out) #define ADVANCE(x, n) (x += ROUNDUP((n)->sa_len)) void -rt_xaddrs(caddr_t cp, caddr_t cplim, struct rt_addrinfo *rtinfo) +rtm_xaddrs(caddr_t cp, caddr_t cplim, struct rt_addrinfo *rtinfo) { struct sockaddr *sa; int i; @@ -1092,7 +1093,7 @@ rt_xaddrs(caddr_t cp, caddr_t cplim, struct rt_addrinfo *rtinfo) } struct mbuf * -rt_msg1(int type, struct rt_addrinfo *rtinfo) +rtm_msg1(int type, struct rt_addrinfo *rtinfo) { struct rt_msghdr *rtm; struct mbuf *m; @@ -1121,7 +1122,7 @@ rt_msg1(int type, struct rt_addrinfo *rtinfo) break; } if (len > MCLBYTES) - panic("rt_msg1"); + panic("rtm_msg1"); m = m_gethdr(M_DONTWAIT, MT_DATA); if (m && len > MHLEN) { MCLGET(m, M_DONTWAIT); @@ -1155,7 +1156,7 @@ rt_msg1(int type, struct rt_addrinfo *rtinfo) } int -rt_msg2(int type, int vers, struct rt_addrinfo *rtinfo, caddr_t cp, +rtm_msg2(int type, int vers, struct rt_addrinfo *rtinfo, caddr_t cp, struct walkarg *w) { int i; @@ -1227,6 +1228,31 @@ again: return (len); } +void +rtm_send(struct rtentry *rt, int cmd, u_int rtableid) +{ + struct rt_addrinfo info; + struct ifnet *ifp; + struct sockaddr_rtlabel sa_rl; + struct sockaddr_in6 sa_mask; + + memset(&info, 0, sizeof(info)); + info.rti_info[RTAX_DST] = rt_key(rt); + info.rti_info[RTAX_GATEWAY] = rt->rt_gateway; + if (!ISSET(rt->rt_flags, RTF_HOST)) + info.rti_info[RTAX_NETMASK] = rt_plen2mask(rt, &sa_mask); + info.rti_info[RTAX_LABEL] = rtlabel_id2sa(rt->rt_labelid, &sa_rl); + ifp = if_get(rt->rt_ifidx); + if (ifp != NULL) { + info.rti_info[RTAX_IFP] = sdltosa(ifp->if_sadl); + info.rti_info[RTAX_IFA] = rt->rt_ifa->ifa_addr; + } + + rtm_miss(cmd, &info, rt->rt_flags, rt->rt_priority, rt->rt_ifidx, 0, + rtableid); + if_put(ifp); +} + /* * This routine is called to generate a message from the routing * socket indicating that a redirect has occurred, a routing lookup @@ -1234,7 +1260,7 @@ again: * destination. */ void -rt_missmsg(int type, struct rt_addrinfo *rtinfo, int flags, uint8_t prio, +rtm_miss(int type, struct rt_addrinfo *rtinfo, int flags, uint8_t prio, u_int ifidx, int error, u_int tableid) { struct rt_msghdr *rtm; @@ -1243,7 +1269,7 @@ rt_missmsg(int type, struct rt_addrinfo *rtinfo, int flags, uint8_t prio, if (route_cb.any_count == 0) return; - m = rt_msg1(type, rtinfo); + m = rtm_msg1(type, rtinfo); if (m == NULL) return; rtm = mtod(m, struct rt_msghdr *); @@ -1261,14 +1287,14 @@ rt_missmsg(int type, struct rt_addrinfo *rtinfo, int flags, uint8_t prio, * socket indicating that the status of a network interface has changed. */ void -rt_ifmsg(struct ifnet *ifp) +rtm_ifchg(struct ifnet *ifp) { struct if_msghdr *ifm; struct mbuf *m; if (route_cb.any_count == 0) return; - m = rt_msg1(RTM_IFINFO, NULL); + m = rtm_msg1(RTM_IFINFO, NULL); if (m == NULL) return; ifm = mtod(m, struct if_msghdr *); @@ -1290,7 +1316,7 @@ rt_ifmsg(struct ifnet *ifp) * copies of it. */ void -rt_sendaddrmsg(struct rtentry *rt, int cmd, struct ifaddr *ifa) +rtm_addr(struct rtentry *rt, int cmd, struct ifaddr *ifa) { struct ifnet *ifp = ifa->ifa_ifp; struct mbuf *m = NULL; @@ -1305,7 +1331,7 @@ rt_sendaddrmsg(struct rtentry *rt, int cmd, struct ifaddr *ifa) info.rti_info[RTAX_IFP] = sdltosa(ifp->if_sadl); info.rti_info[RTAX_NETMASK] = ifa->ifa_netmask; info.rti_info[RTAX_BRD] = ifa->ifa_dstaddr; - if ((m = rt_msg1(cmd, &info)) == NULL) + if ((m = rtm_msg1(cmd, &info)) == NULL) return; ifam = mtod(m, struct ifa_msghdr *); ifam->ifam_index = ifp->if_index; @@ -1322,14 +1348,14 @@ rt_sendaddrmsg(struct rtentry *rt, int cmd, struct ifaddr *ifa) * network interface arrival and departure. */ void -rt_ifannouncemsg(struct ifnet *ifp, int what) +rtm_ifannounce(struct ifnet *ifp, int what) { struct if_announcemsghdr *ifan; struct mbuf *m; if (route_cb.any_count == 0) return; - m = rt_msg1(RTM_IFANNOUNCE, NULL); + m = rtm_msg1(RTM_IFANNOUNCE, NULL); if (m == NULL) return; ifan = mtod(m, struct if_announcemsghdr *); @@ -1345,7 +1371,7 @@ rt_ifannouncemsg(struct ifnet *ifp, int what) * the state of a BFD session. */ void -rt_bfdmsg(struct bfd_config *bfd) +rtm_bfd(struct bfd_config *bfd) { struct bfd_msghdr *bfdm; struct sockaddr_bfd sa_bfd; @@ -1358,7 +1384,7 @@ rt_bfdmsg(struct bfd_config *bfd) info.rti_info[RTAX_DST] = rt_key(bfd->bc_rt); info.rti_info[RTAX_IFA] = bfd->bc_rt->rt_ifa->ifa_addr; - m = rt_msg1(RTM_BFD, &info); + m = rtm_msg1(RTM_BFD, &info); if (m == NULL) return; bfdm = mtod(m, struct bfd_msghdr *); @@ -1435,14 +1461,14 @@ sysctl_dumpentry(struct rtentry *rt, void *v, unsigned int id) } #endif - size = rt_msg2(RTM_GET, RTM_VERSION, &info, NULL, w); + size = rtm_msg2(RTM_GET, RTM_VERSION, &info, NULL, w); if (w->w_where && w->w_tmem && w->w_needed <= 0) { struct rt_msghdr *rtm = (struct rt_msghdr *)w->w_tmem; rtm->rtm_pid = curproc->p_p->ps_pid; rtm->rtm_flags = rt->rt_flags; rtm->rtm_priority = rt->rt_priority & RTP_MASK; - rt_getmetrics(&rt->rt_rmx, &rtm->rtm_rmx); + rtm_getmetrics(&rt->rt_rmx, &rtm->rtm_rmx); /* Do not account the routing table's reference. */ rtm->rtm_rmx.rmx_refcnt = rt->rt_refcnt - 1; rtm->rtm_index = rt->rt_ifidx; @@ -1473,7 +1499,7 @@ sysctl_iflist(int af, struct walkarg *w) continue; /* Copy the link-layer address first */ info.rti_info[RTAX_IFP] = sdltosa(ifp->if_sadl); - len = rt_msg2(RTM_IFINFO, RTM_VERSION, &info, 0, w); + len = rtm_msg2(RTM_IFINFO, RTM_VERSION, &info, 0, w); if (w->w_where && w->w_tmem && w->w_needed <= 0) { struct if_msghdr *ifm; @@ -1496,7 +1522,7 @@ sysctl_iflist(int af, struct walkarg *w) info.rti_info[RTAX_IFA] = ifa->ifa_addr; info.rti_info[RTAX_NETMASK] = ifa->ifa_netmask; info.rti_info[RTAX_BRD] = ifa->ifa_dstaddr; - len = rt_msg2(RTM_NEWADDR, RTM_VERSION, &info, 0, w); + len = rtm_msg2(RTM_NEWADDR, RTM_VERSION, &info, 0, w); if (w->w_where && w->w_tmem && w->w_needed <= 0) { struct ifa_msghdr *ifam; @@ -1642,7 +1668,7 @@ sysctl_rtable_rtstat(void *oldp, size_t *oldlenp, void *newp) } int -validate_proposal(struct rt_addrinfo *info) +rtm_validate_proposal(struct rt_addrinfo *info) { if (info->rti_addrs & ~(RTA_NETMASK | RTA_IFA | RTA_DNS | RTA_STATIC | RTA_SEARCH)) { diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c index 33d8b11765b..3338ace2558 100644 --- a/sys/netinet/if_ether.c +++ b/sys/netinet/if_ether.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ether.c,v 1.227 2016/12/19 08:36:49 mpi Exp $ */ +/* $OpenBSD: if_ether.c,v 1.228 2017/03/06 08:56:39 mpi Exp $ */ /* $NetBSD: if_ether.c,v 1.31 1996/05/11 12:59:58 mycroft Exp $ */ /* @@ -650,7 +650,7 @@ arpcache(struct ifnet *ifp, struct ether_arp *ea, struct rtentry *rt) /* Notify userland that an ARP resolution has been done. */ if (la->la_asked || changed) { KERNEL_LOCK(); - rt_sendmsg(rt, RTM_RESOLVE, ifp->if_rdomain); + rtm_send(rt, RTM_RESOLVE, ifp->if_rdomain); KERNEL_UNLOCK(); } diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index b4b10be6dbb..1db762a85f4 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -1,4 +1,4 @@ -/* $OpenBSD: in_pcb.c,v 1.216 2016/10/06 19:09:08 bluhm Exp $ */ +/* $OpenBSD: in_pcb.c,v 1.217 2017/03/06 08:56:39 mpi Exp $ */ /* $NetBSD: in_pcb.c,v 1.25 1996/02/13 23:41:53 christos Exp $ */ /* @@ -716,7 +716,7 @@ in_losing(struct inpcb *inp) info.rti_info[RTAX_DST] = &inp->inp_route.ro_dst; info.rti_info[RTAX_GATEWAY] = rt->rt_gateway; info.rti_info[RTAX_NETMASK] = rt_plen2mask(rt, &sa_mask); - rt_missmsg(RTM_LOSING, &info, rt->rt_flags, rt->rt_priority, + rtm_miss(RTM_LOSING, &info, rt->rt_flags, rt->rt_priority, rt->rt_ifidx, 0, inp->inp_rtableid); if (rt->rt_flags & RTF_DYNAMIC) (void)rtrequest(RTM_DELETE, &info, rt->rt_priority, diff --git a/sys/netinet6/nd6_rtr.c b/sys/netinet6/nd6_rtr.c index 9747dde93e7..f340637b55f 100644 --- a/sys/netinet6/nd6_rtr.c +++ b/sys/netinet6/nd6_rtr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: nd6_rtr.c,v 1.156 2017/03/03 08:01:41 mpi Exp $ */ +/* $OpenBSD: nd6_rtr.c,v 1.157 2017/03/06 08:56:39 mpi Exp $ */ /* $KAME: nd6_rtr.c,v 1.97 2001/02/07 11:09:13 itojun Exp $ */ /* @@ -606,7 +606,7 @@ defrouter_addreq(struct nd_defrouter *new) error = rtrequest(RTM_ADD, &info, RTP_DEFAULT, &rt, new->ifp->if_rdomain); if (error == 0) { - rt_sendmsg(rt, RTM_ADD, new->ifp->if_rdomain); + rtm_send(rt, RTM_ADD, new->ifp->if_rdomain); rtfree(rt); new->installed = 1; } @@ -710,7 +710,7 @@ defrouter_delreq(struct nd_defrouter *dr) error = rtrequest(RTM_DELETE, &info, RTP_DEFAULT, &rt, dr->ifp->if_rdomain); if (error == 0) { - rt_sendmsg(rt, RTM_DELETE, dr->ifp->if_rdomain); + rtm_send(rt, RTM_DELETE, dr->ifp->if_rdomain); rtfree(rt); } |