diff options
author | glebius <glebius@FreeBSD.org> | 2013-04-26 12:50:32 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2013-04-26 12:50:32 +0000 |
commit | b4bc270e8f6757fa385861750ab22ba0ca4978ed (patch) | |
tree | 073e97431b8851637e702226bc02446cb01b0f4b /sys/net/if_tun.c | |
parent | 7eab2144525c38723764e418181b36c7e9cbafad (diff) | |
download | FreeBSD-src-b4bc270e8f6757fa385861750ab22ba0ca4978ed.zip FreeBSD-src-b4bc270e8f6757fa385861750ab22ba0ca4978ed.tar.gz |
Add const qualifier to the dst parameter of the ifnet if_output method.
Diffstat (limited to 'sys/net/if_tun.c')
-rw-r--r-- | sys/net/if_tun.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/sys/net/if_tun.c b/sys/net/if_tun.c index 3630732..d885024 100644 --- a/sys/net/if_tun.c +++ b/sys/net/if_tun.c @@ -128,8 +128,8 @@ static void tuncreate(const char *name, struct cdev *dev); static int tunifioctl(struct ifnet *, u_long, caddr_t); static void tuninit(struct ifnet *); static int tunmodevent(module_t, int, void *); -static int tunoutput(struct ifnet *, struct mbuf *, struct sockaddr *, - struct route *ro); +static int tunoutput(struct ifnet *, struct mbuf *, + const struct sockaddr *, struct route *ro); static void tunstart(struct ifnet *); static int tun_clone_create(struct if_clone *, int, caddr_t); @@ -575,7 +575,7 @@ tunifioctl(struct ifnet *ifp, u_long cmd, caddr_t data) * tunoutput - queue packets from higher level ready to put out. */ static int -tunoutput(struct ifnet *ifp, struct mbuf *m0, struct sockaddr *dst, +tunoutput(struct ifnet *ifp, struct mbuf *m0, const struct sockaddr *dst, struct route *ro) { struct tun_softc *tp = ifp->if_softc; @@ -609,15 +609,13 @@ tunoutput(struct ifnet *ifp, struct mbuf *m0, struct sockaddr *dst, } /* BPF writes need to be handled specially. */ - if (dst->sa_family == AF_UNSPEC) { + if (dst->sa_family == AF_UNSPEC) bcopy(dst->sa_data, &af, sizeof(af)); - dst->sa_family = af; - } - - if (bpf_peers_present(ifp->if_bpf)) { + else af = dst->sa_family; + + if (bpf_peers_present(ifp->if_bpf)) bpf_mtap2(ifp->if_bpf, &af, sizeof(af), m0); - } /* prepend sockaddr? this may abort if the mbuf allocation fails */ if (cached_tun_flags & TUN_LMODE) { @@ -644,10 +642,10 @@ tunoutput(struct ifnet *ifp, struct mbuf *m0, struct sockaddr *dst, ifp->if_oerrors++; return (ENOBUFS); } else - *(u_int32_t *)m0->m_data = htonl(dst->sa_family); + *(u_int32_t *)m0->m_data = htonl(af); } else { #ifdef INET - if (dst->sa_family != AF_INET) + if (af != AF_INET) #endif { m_freem(m0); |