summaryrefslogtreecommitdiffstats
path: root/sys/net/if_fddisubr.c
diff options
context:
space:
mode:
authormdodd <mdodd@FreeBSD.org>2002-03-29 11:22:22 +0000
committermdodd <mdodd@FreeBSD.org>2002-03-29 11:22:22 +0000
commit84c21f1d8ff69f47f8e2bef01392d5b39cf9ce02 (patch)
treeacee2dafe452f857b35aa52d9223075e812b1e18 /sys/net/if_fddisubr.c
parentfdbdd2f5af8ced636e98ffa82c0898512b04bfba (diff)
downloadFreeBSD-src-84c21f1d8ff69f47f8e2bef01392d5b39cf9ce02.zip
FreeBSD-src-84c21f1d8ff69f47f8e2bef01392d5b39cf9ce02.tar.gz
- Merge the pdq driver (if_fpa and if_fea) from NetBSD.
Among other things this gets us ifmedia support. - Update fddi_ifattach() to take an additional argument.
Diffstat (limited to 'sys/net/if_fddisubr.c')
-rw-r--r--sys/net/if_fddisubr.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/sys/net/if_fddisubr.c b/sys/net/if_fddisubr.c
index 642e625..126cf92 100644
--- a/sys/net/if_fddisubr.c
+++ b/sys/net/if_fddisubr.c
@@ -94,8 +94,11 @@ extern u_char aarp_org_code[ 3 ];
static u_char fddibroadcastaddr[FDDI_ADDR_LEN] =
{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
-static int fddi_resolvemulti(struct ifnet *, struct sockaddr **,
+static int fddi_resolvemulti(struct ifnet *, struct sockaddr **,
struct sockaddr *);
+static int fddi_output(struct ifnet *, struct mbuf *, struct sockaddr *,
+ struct rtentry *);
+
#define IFP2AC(IFP) ((struct arpcom *)IFP)
#define senderr(e) { error = (e); goto bad; }
@@ -107,7 +110,7 @@ static int fddi_resolvemulti(struct ifnet *, struct sockaddr **,
* packet leaves a multiple of 512 bytes of data in remainder.
* Assumes that ifp is actually pointer to arpcom structure.
*/
-int
+static int
fddi_output(ifp, m, dst, rt0)
struct ifnet *ifp;
struct mbuf *m;
@@ -519,8 +522,9 @@ dropanyway:
* Perform common duties while attaching to interface list
*/
void
-fddi_ifattach(ifp)
+fddi_ifattach(ifp, bpf)
struct ifnet *ifp;
+ int bpf;
{
struct ifaddr *ifa;
struct sockaddr_dl *sdl;
@@ -551,6 +555,9 @@ fddi_ifattach(ifp)
sdl->sdl_alen = ifp->if_addrlen;
bcopy(IFP2AC(ifp)->ac_enaddr, LLADDR(sdl), ifp->if_addrlen);
+ if (bpf)
+ bpfattach(ifp, DLT_FDDI, FDDI_HDR_LEN);
+
return;
}
OpenPOWER on IntegriCloud