summaryrefslogtreecommitdiffstats
path: root/sys/net/if_faith.c
diff options
context:
space:
mode:
authorkmacy <kmacy@FreeBSD.org>2009-04-16 20:30:28 +0000
committerkmacy <kmacy@FreeBSD.org>2009-04-16 20:30:28 +0000
commit24b38efdce5f73d92ac948039ef4966d9502b484 (patch)
treef09ffe8dbc619e723cdaebdc910a5ed28f73768b /sys/net/if_faith.c
parentae4f793822da0acb8cd844e26144e060eebff125 (diff)
downloadFreeBSD-src-24b38efdce5f73d92ac948039ef4966d9502b484.zip
FreeBSD-src-24b38efdce5f73d92ac948039ef4966d9502b484.tar.gz
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
Diffstat (limited to 'sys/net/if_faith.c')
-rw-r--r--sys/net/if_faith.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/net/if_faith.c b/sys/net/if_faith.c
index c839748..3b60d2c 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));
OpenPOWER on IntegriCloud