diff options
| author | 2009-09-17 13:27:24 +0000 | |
|---|---|---|
| committer | 2009-09-17 13:27:24 +0000 | |
| commit | 67de8e3d1062cdf439fcddef11bf1bfb0eeb59b5 (patch) | |
| tree | 70ccae93a35a51c561a780fda51f00623361b88b /sys/net/rtsock.c | |
| parent | Wrap trunk_enqueue() calls in splnet() since sending out lacp packets (diff) | |
| download | wireguard-openbsd-67de8e3d1062cdf439fcddef11bf1bfb0eeb59b5.tar.xz wireguard-openbsd-67de8e3d1062cdf439fcddef11bf1bfb0eeb59b5.zip | |
Remove the comaptibility structures for routing socket version 3.
The RTM_VERSION bump is 2 years ago and so there is no need for this.
Diff made by tedu@ some time ago but got never commited so I do it now.
Diffstat (limited to 'sys/net/rtsock.c')
| -rw-r--r-- | sys/net/rtsock.c | 148 |
1 files changed, 5 insertions, 143 deletions
diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c index a8e82dac76b..f36ff5b028d 100644 --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rtsock.c,v 1.93 2009/07/07 10:38:49 michele Exp $ */ +/* $OpenBSD: rtsock.c,v 1.94 2009/09/17 13:27:24 claudio Exp $ */ /* $NetBSD: rtsock.c,v 1.18 1996/03/29 00:32:10 cgd Exp $ */ /* @@ -99,9 +99,6 @@ struct mbuf *rt_msg1(int, struct rt_addrinfo *); int rt_msg2(int, int, struct rt_addrinfo *, caddr_t, struct walkarg *); void rt_xaddrs(caddr_t, caddr_t, struct rt_addrinfo *); -#ifndef SMALL_KERNEL -struct rt_msghdr *rtmsg_3to4(struct mbuf *, int *); -#endif /* Sleazy use of local variables throughout file, warning!!!! */ #define dst info.rti_info[RTAX_DST] @@ -367,19 +364,6 @@ route_output(struct mbuf *m, ...) } m_copydata(m, 0, len, (caddr_t)rtm); break; -#ifndef SMALL_KERNEL - case RTM_OVERSION: - if (len < sizeof(struct rt_omsghdr)) { - error = EINVAL; - goto flush; - } - rtm = rtmsg_3to4(m, &len); - if (rtm == 0) { - error = ENOBUFS; - goto flush; - } - break; -#endif default: error = EPROTONOSUPPORT; goto flush; @@ -894,28 +878,13 @@ again: switch (type) { case RTM_DELADDR: case RTM_NEWADDR: -#ifndef SMALL_KERNEL - if (vers == RTM_OVERSION) - len = sizeof(struct ifa_omsghdr); - else -#endif - len = sizeof(struct ifa_msghdr); + len = sizeof(struct ifa_msghdr); break; case RTM_IFINFO: -#ifndef SMALL_KERNEL - if (vers == RTM_OVERSION) - len = sizeof(struct if_omsghdr); - else -#endif - len = sizeof(struct if_msghdr); + len = sizeof(struct if_msghdr); break; default: -#ifndef SMALL_KERNEL - if (vers == RTM_OVERSION) - len = sizeof(struct rt_omsghdr); - else -#endif - len = sizeof(struct rt_msghdr); + len = sizeof(struct rt_msghdr); break; } hlen = len; @@ -959,7 +928,7 @@ again: if (cp && w) /* clear the message header */ bzero(cp0, hlen); - if (cp && vers != RTM_OVERSION) { + if (cp) { struct rt_msghdr *rtm = (struct rt_msghdr *)cp0; rtm->rtm_version = RTM_VERSION; @@ -967,15 +936,6 @@ again: rtm->rtm_msglen = len; rtm->rtm_hdrlen = hlen; } -#ifndef SMALL_KERNEL - if (cp && vers == RTM_OVERSION) { - struct rt_omsghdr *rtm = (struct rt_omsghdr *)cp0; - - rtm->rtm_version = RTM_OVERSION; - rtm->rtm_type = type; - rtm->rtm_msglen = len; - } -#endif return (len); } @@ -1201,22 +1161,6 @@ sysctl_dumpentry(struct radix_node *rn, void *v) else w->w_where += size; } -#ifndef SMALL_KERNEL - size = rt_msg2(RTM_GET, RTM_OVERSION, &info, NULL, w); - if (w->w_where && w->w_tmem && w->w_needed <= 0) { - struct rt_omsghdr *rtm = (struct rt_omsghdr *)w->w_tmem; - - rtm->rtm_flags = rt->rt_flags; - rtm->rtm_rmx.rmx_locks = rt->rt_rmx.rmx_locks; - rtm->rtm_rmx.rmx_mtu = rt->rt_rmx.rmx_mtu; - rtm->rtm_index = rt->rt_ifp->if_index; - rtm->rtm_addrs = info.rti_addrs; - if ((error = copyout(rtm, w->w_where, size)) != 0) - w->w_where = NULL; - else - w->w_where += size; - } -#endif return (error); } @@ -1250,35 +1194,6 @@ sysctl_iflist(int af, struct walkarg *w) return (error); w->w_where += len; } -#ifndef SMALL_KERNEL - len = rt_msg2(RTM_IFINFO, RTM_OVERSION, &info, 0, w); - if (w->w_where && w->w_tmem && w->w_needed <= 0) { - struct if_omsghdr *ifm; - - ifm = (struct if_omsghdr *)w->w_tmem; - ifm->ifm_index = ifp->if_index; - ifm->ifm_flags = ifp->if_flags; - /* just init the most important types of if_data */ - ifm->ifm_data.ifi_type = ifp->if_data.ifi_type; - ifm->ifm_data.ifi_addrlen = ifp->if_data.ifi_addrlen; - ifm->ifm_data.ifi_hdrlen = ifp->if_data.ifi_hdrlen; - ifm->ifm_data.ifi_link_state = - ifp->if_data.ifi_link_state; - ifm->ifm_data.ifi_mtu = ifp->if_data.ifi_mtu; - ifm->ifm_data.ifi_metric = ifp->if_data.ifi_metric; - if (ifp->if_data.ifi_baudrate > ULONG_MAX) - ifm->ifm_data.ifi_baudrate = ULONG_MAX; - else - ifm->ifm_data.ifi_baudrate = - ifp->if_data.ifi_baudrate; - - ifm->ifm_addrs = info.rti_addrs; - error = copyout(ifm, w->w_where, len); - if (error) - return (error); - w->w_where += len; - } -#endif ifpaddr = 0; while ((ifa = TAILQ_NEXT(ifa, ifa_list)) != TAILQ_END(&ifp->if_addrlist)) { @@ -1301,22 +1216,6 @@ sysctl_iflist(int af, struct walkarg *w) return (error); w->w_where += len; } -#ifndef SMALL_KERNEL - len = rt_msg2(RTM_NEWADDR, RTM_OVERSION, &info, 0, w); - if (w->w_where && w->w_tmem && w->w_needed <= 0) { - struct ifa_omsghdr *ifam; - - ifam = (struct ifa_omsghdr *)w->w_tmem; - ifam->ifam_index = ifa->ifa_ifp->if_index; - ifam->ifam_flags = ifa->ifa_flags; - ifam->ifam_metric = ifa->ifa_metric; - ifam->ifam_addrs = info.rti_addrs; - error = copyout(w->w_tmem, w->w_where, len); - if (error) - return (error); - w->w_where += len; - } -#endif } ifaaddr = netmask = brdaddr = 0; } @@ -1388,43 +1287,6 @@ sysctl_rtable(int *name, u_int namelen, void *where, size_t *given, void *new, return (error); } -#ifndef SMALL_KERNEL -struct rt_msghdr * -rtmsg_3to4(struct mbuf *m, int *len) -{ - struct rt_msghdr *rtm; - struct rt_omsghdr *ortm; - int slen; - - slen = *len - sizeof(struct rt_omsghdr); - *len = sizeof(struct rt_msghdr) + slen; - R_Malloc(rtm, struct rt_msghdr *, *len); - if (rtm == 0) - return (NULL); - bzero(rtm, sizeof(struct rt_msghdr)); - ortm = mtod(m, struct rt_omsghdr *); - rtm->rtm_msglen = sizeof(struct rt_msghdr) + slen; - rtm->rtm_version = RTM_VERSION; - rtm->rtm_type = ortm->rtm_type; - rtm->rtm_hdrlen = sizeof(struct rt_msghdr); - rtm->rtm_index = ortm->rtm_index; - rtm->rtm_tableid = 0; /* XXX we only care about the main table */ - rtm->rtm_flags = ortm->rtm_flags; - rtm->rtm_addrs = ortm->rtm_addrs; - rtm->rtm_seq = ortm->rtm_seq; - rtm->rtm_fmask = ortm->rtm_fmask; - rtm->rtm_inits = ortm->rtm_inits; - /* copy just the interesting stuff ignore the rest */ - rtm->rtm_rmx.rmx_locks = ortm->rtm_rmx.rmx_locks; - rtm->rtm_rmx.rmx_mtu = ortm->rtm_rmx.rmx_mtu; - - m_copydata(m, sizeof(struct rt_omsghdr), slen, - ((caddr_t)rtm + sizeof(struct rt_msghdr))); - - return (rtm); -} -#endif - /* * Definitions of protocols supported in the ROUTE domain. */ |
