diff options
author | Kip Macy <kmacy@FreeBSD.org> | 2009-04-16 20:30:28 +0000 |
---|---|---|
committer | Kip Macy <kmacy@FreeBSD.org> | 2009-04-16 20:30:28 +0000 |
commit | 279aa3d419d5bfaf514ed543ab177852e4c2b013 (patch) | |
tree | f09ffe8dbc619e723cdaebdc910a5ed28f73768b /sys/net/if_faith.c | |
parent | fe6939906918258e6c2cf78df5f5f14d893ec1a0 (diff) | |
download | src-279aa3d419d5bfaf514ed543ab177852e4c2b013.tar.gz src-279aa3d419d5bfaf514ed543ab177852e4c2b013.zip |
Change if_output to take a struct route as its fourth argument in order
to allow passing a cached struct llentry * down to L2
Reviewed by: rwatson
Notes
Notes:
svn path=/head/; revision=191148
Diffstat (limited to 'sys/net/if_faith.c')
-rw-r--r-- | sys/net/if_faith.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/net/if_faith.c b/sys/net/if_faith.c index c83974870e18..3b60d2c3598c 100644 --- a/sys/net/if_faith.c +++ b/sys/net/if_faith.c @@ -88,7 +88,7 @@ struct faith_softc { static int faithioctl(struct ifnet *, u_long, caddr_t); int faithoutput(struct ifnet *, struct mbuf *, struct sockaddr *, - struct rtentry *); + struct route *); static void faithrtrequest(int, struct rtentry *, struct rt_addrinfo *); #ifdef INET6 static int faithprefix(struct in6_addr *); @@ -188,17 +188,20 @@ faith_clone_destroy(ifp) } int -faithoutput(ifp, m, dst, rt) +faithoutput(ifp, m, dst, ro) struct ifnet *ifp; struct mbuf *m; struct sockaddr *dst; - struct rtentry *rt; + struct route *ro; { int isr; u_int32_t af; + struct rtentry *rt = NULL; M_ASSERTPKTHDR(m); + if (ro != NULL) + rt = ro->ro_rt; /* BPF writes need to be handled specially. */ if (dst->sa_family == AF_UNSPEC) { bcopy(dst->sa_data, &af, sizeof(af)); |