summaryrefslogtreecommitdiffstats
path: root/sys/net/if_fddisubr.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_fddisubr.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_fddisubr.c')
-rw-r--r--sys/net/if_fddisubr.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/net/if_fddisubr.c b/sys/net/if_fddisubr.c
index 438a6e8..28f6e3a 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)
OpenPOWER on IntegriCloud