summaryrefslogtreecommitdiffstats
path: root/sys/netgraph
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/netgraph
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/netgraph')
-rw-r--r--sys/netgraph/ng_fec.c9
-rw-r--r--sys/netgraph/ng_iface.c5
2 files changed, 8 insertions, 6 deletions
diff --git a/sys/netgraph/ng_fec.c b/sys/netgraph/ng_fec.c
index dc4ad40..e694dd8 100644
--- a/sys/netgraph/ng_fec.c
+++ b/sys/netgraph/ng_fec.c
@@ -107,6 +107,7 @@
#include <net/if_media.h>
#include <net/bpf.h>
#include <net/ethernet.h>
+#include <net/route.h>
#include "opt_inet.h"
#include "opt_inet6.h"
@@ -165,7 +166,7 @@ struct ng_fec_bundle {
int (*fec_if_output) (struct ifnet *,
struct mbuf *,
struct sockaddr *,
- struct rtentry *);
+ struct route *);
};
#define FEC_BTYPE_MAC 0x01
@@ -197,7 +198,7 @@ static int ng_fec_ifmedia_upd(struct ifnet *ifp);
static void ng_fec_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr);
static int ng_fec_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data);
static int ng_fec_output(struct ifnet *ifp, struct mbuf *m0,
- struct sockaddr *dst, struct rtentry *rt0);
+ struct sockaddr *dst, struct route *ro);
static void ng_fec_tick(void *arg);
static int ng_fec_addport(struct ng_fec_private *priv, char *iface);
static int ng_fec_delport(struct ng_fec_private *priv, char *iface);
@@ -923,7 +924,7 @@ ng_fec_input(struct ifnet *ifp, struct mbuf *m0)
static int
ng_fec_output(struct ifnet *ifp, struct mbuf *m,
- struct sockaddr *dst, struct rtentry *rt0)
+ struct sockaddr *dst, struct route *ro)
{
const priv_p priv = (priv_p) ifp->if_softc;
struct ng_fec_bundle *b;
@@ -977,7 +978,7 @@ ng_fec_output(struct ifnet *ifp, struct mbuf *m,
* for us.
*/
priv->if_error = 0;
- error = (*b->fec_if_output)(ifp, m, dst, rt0);
+ error = (*b->fec_if_output)(ifp, m, dst, ro);
if (priv->if_error && !error)
error = priv->if_error;
diff --git a/sys/netgraph/ng_iface.c b/sys/netgraph/ng_iface.c
index a22b85a..99fd971 100644
--- a/sys/netgraph/ng_iface.c
+++ b/sys/netgraph/ng_iface.c
@@ -75,6 +75,7 @@
#include <net/if_types.h>
#include <net/bpf.h>
#include <net/netisr.h>
+#include <net/route.h>
#include <netinet/in.h>
@@ -121,7 +122,7 @@ typedef struct ng_iface_private *priv_p;
static void ng_iface_start(struct ifnet *ifp);
static int ng_iface_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data);
static int ng_iface_output(struct ifnet *ifp, struct mbuf *m0,
- struct sockaddr *dst, struct rtentry *rt0);
+ struct sockaddr *dst, struct route *ro);
static void ng_iface_bpftap(struct ifnet *ifp,
struct mbuf *m, sa_family_t family);
static int ng_iface_send(struct ifnet *ifp, struct mbuf *m,
@@ -354,7 +355,7 @@ ng_iface_ioctl(struct ifnet *ifp, u_long command, caddr_t data)
static int
ng_iface_output(struct ifnet *ifp, struct mbuf *m,
- struct sockaddr *dst, struct rtentry *rt0)
+ struct sockaddr *dst, struct route *ro)
{
struct m_tag *mtag;
uint32_t af;
OpenPOWER on IntegriCloud