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_disc.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_disc.c')
-rw-r--r-- | sys/net/if_disc.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/sys/net/if_disc.c b/sys/net/if_disc.c index f2f902e..16a1e7b 100644 --- a/sys/net/if_disc.c +++ b/sys/net/if_disc.c @@ -64,7 +64,7 @@ struct disc_softc { }; static int discoutput(struct ifnet *, struct mbuf *, - struct sockaddr *, struct route *); + const struct sockaddr *, struct route *); static void discrtrequest(int, struct rtentry *, struct rt_addrinfo *); static int discioctl(struct ifnet *, u_long, caddr_t); static int disc_clone_create(struct if_clone *, int, caddr_t); @@ -155,7 +155,7 @@ static moduledata_t disc_mod = { DECLARE_MODULE(if_disc, disc_mod, SI_SUB_PSEUDO, SI_ORDER_ANY); static int -discoutput(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst, +discoutput(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, struct route *ro) { u_int32_t af; @@ -163,15 +163,14 @@ discoutput(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst, M_ASSERTPKTHDR(m); /* 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; - } + else + af = dst->sa_family; - if (bpf_peers_present(ifp->if_bpf)) { - u_int af = dst->sa_family; + if (bpf_peers_present(ifp->if_bpf)) bpf_mtap2(ifp->if_bpf, &af, sizeof(af), m); - } + m->m_pkthdr.rcvif = ifp; ifp->if_opackets++; |