summaryrefslogtreecommitdiffstats
path: root/sys/net/if_loop.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_loop.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_loop.c')
-rw-r--r--sys/net/if_loop.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/net/if_loop.c b/sys/net/if_loop.c
index c31acef..ff57464 100644
--- a/sys/net/if_loop.c
+++ b/sys/net/if_loop.c
@@ -102,7 +102,7 @@
int loioctl(struct ifnet *, u_long, caddr_t);
static void lortrequest(int, struct rtentry *, struct rt_addrinfo *);
int looutput(struct ifnet *ifp, struct mbuf *m,
- struct sockaddr *dst, struct rtentry *rt);
+ struct sockaddr *dst, struct route *ro);
static int lo_clone_create(struct if_clone *, int, caddr_t);
static void lo_clone_destroy(struct ifnet *);
static int vnet_loif_iattach(const void *);
@@ -205,15 +205,18 @@ DECLARE_MODULE(loop, loop_mod, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY);
int
looutput(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
- struct rtentry *rt)
+ struct route *ro)
{
u_int32_t af;
+ struct rtentry *rt = NULL;
#ifdef MAC
int error;
#endif
M_ASSERTPKTHDR(m); /* check if we have the packet header */
+ if (ro != NULL)
+ rt = ro->ro_rt;
#ifdef MAC
error = mac_ifnet_check_transmit(ifp, m);
if (error) {
OpenPOWER on IntegriCloud