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_fddisubr.c | |
parent | fe6939906918258e6c2cf78df5f5f14d893ec1a0 (diff) |
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_fddisubr.c')
-rw-r--r-- | sys/net/if_fddisubr.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/net/if_fddisubr.c b/sys/net/if_fddisubr.c index 438a6e86b67b..28f6e3a5ee3b 100644 --- a/sys/net/if_fddisubr.c +++ b/sys/net/if_fddisubr.c @@ -98,7 +98,7 @@ static const u_char fddibroadcastaddr[FDDI_ADDR_LEN] = static int fddi_resolvemulti(struct ifnet *, struct sockaddr **, struct sockaddr *); static int fddi_output(struct ifnet *, struct mbuf *, struct sockaddr *, - struct rtentry *); + struct route *); static void fddi_input(struct ifnet *ifp, struct mbuf *m); #define senderr(e) do { error = (e); goto bad; } while (0) @@ -111,18 +111,21 @@ static void fddi_input(struct ifnet *ifp, struct mbuf *m); * Assumes that ifp is actually pointer to arpcom structure. */ static int -fddi_output(ifp, m, dst, rt0) +fddi_output(ifp, m, dst, ro) struct ifnet *ifp; struct mbuf *m; struct sockaddr *dst; - struct rtentry *rt0; + struct route *ro; { u_int16_t type; int loop_copy = 0, error = 0, hdrcmplt = 0; u_char esrc[FDDI_ADDR_LEN], edst[FDDI_ADDR_LEN]; struct fddi_header *fh; struct llentry *lle; + struct rtentry *rt0 = NULL; + if (ro != NULL) + rt0 = ro->ro_rt; #ifdef MAC error = mac_ifnet_check_transmit(ifp, m); if (error) |