Commit Graph

111 Commits

Author SHA1 Message Date
imp
073c1259a4 we don't need the offset in the attr memory to get the ethernet
address, nor do we need the alignment requirements, so eliminate them.
This likely means that we can now collapse some of the entries as we
have no need of them anymore (they match other entries and were there
only to get the right attr memory offset of the enet addr).
2005-01-21 19:51:23 +00:00
phk
1d29896ca3 Remove prototype of undefined function so this compiles again. 2005-01-21 10:19:17 +00:00
imp
4aac841f44 Rework pccard attachment a little. Now both of my fe based ethernet
cards work.  These changes depend on the expanded funce parsing that
just was committed to pccard_cis.c.  In NetBSD the ethernet address
was read out of attr memory directly.  We rely on the kernel pccard
parser to pulll this information out of what appears to be an obsolete
funce with the information in it.

# I'm still getting the no rx interrupt sometimes with some hub/switches
# for reasons unknown...  But usually only one and only when dhclient
# runs.
2005-01-21 02:14:40 +00:00
imp
32ae3855b3 Only attach to network functions. This should be a nop since I'm not
aware of any fe based cards that do anything except network (well,
maybe the fujitsu scsi/lan card, but I've only seen two of those on
ebay in the last 3 years).
2005-01-20 20:08:18 +00:00
imp
10aca67973 Minor nit 2005-01-20 07:05:59 +00:00
imp
515cc4ca6a Add a few cards from NetBSD. They don't work yet, since the code to
read the ethernet address from the attribute space hasn't been
implemented.  Also add flags for the MBH10302.  The flags and maddr
fields will be used when reading from the attribute space...
2005-01-11 06:48:38 +00:00
imp
5d8c2198de don't pollute global namespace with valid_Ether_p, instead, prepend
fe_ to it.
2005-01-10 09:29:48 +00:00
imp
6c361c72e9 NE200 -> NE200T 2005-01-10 08:08:30 +00:00
imp
22e0647d25 Add support for:
fe1: <EAGLE Technology NE200 ETHERNET LAN MBH10302  04>

As reported by Sean Shapira.  This appears to be working.  Eagle used
Fujitsu's vendor number, with a product number of 4 (which is the same
as the vendor number, which is a little suspect).  Since there's no
apparent conflict, go ahead and use it.

Submitted by: Sean Shapira
2005-01-10 03:48:17 +00:00
imp
8d58b9df12 /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 22:18:23 +00:00
imp
4b319958e7 Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
bms
1eb71f101c Style. Use ETHER_IS_MULTICAST() appropriately instead of masking off the bit.
Reviewed by:	jmallett
2004-10-07 20:56:29 +00:00
rwatson
2ab0b531c9 Since if_fe doesn't contain locking or run with INTR_MPSAFE, mark
the interface as IFF_NEEDSGIANT so if_start is run holding Giant.
2004-08-13 23:08:08 +00:00
naddy
03b06cd9a3 Replace handrolled CRC calculation with ether_crc32_[lb]e(). 2004-06-09 14:34:04 +00:00
imp
5f2befc69a Fix disordering of pccarddevs.h noticed by bde. Also remove a few
redundant includes and fix some of the include disordering.

Submitted by: bde
2004-05-27 03:49:45 +00:00
imp
1f5642e8bb Move to generating pccarddevs.h on the fly, both for the kernel and
the modules.

Also generate usbdevs.h automatically now, but a non-kernel file is
stopping that at the moment.
2004-05-26 00:53:10 +00:00
mux
03028ee82d We don't need to initialize if_output, ether_ifattach() does it
for us.
2004-05-23 16:11:53 +00:00
luigi
7d7307d2e1 Remove improper use of if_addrhead in device drivers to check
if the link-level address has been initialized already.

The majority of modern drivers never does this and works fine, which
makes me think that the check is totally unnecessary and a residue
of cut&paste from other drivers.

This change is done to simplify locking because now almost none of the
drivers uses this field. The exceptions are "ct" "ctau" and "cx"
where i am not sure if i can remove that part.
2004-04-15 20:31:10 +00:00
njl
05a1f56fc9 Convert callers to the new bus_alloc_resource_any(9) API.
Submitted by:	Mark Santcroos <marks@ripe.net>
Reviewed by:	imp, dfr, bde
2004-03-17 17:50:55 +00:00
mdodd
5c1fa8d5da Announce ethernet MAC addresss in ether_ifattach(). 2004-03-14 07:12:25 +00:00
obrien
a1cabe1bbb Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones.
Requested by:	bde,imp
2003-12-08 07:54:15 +00:00
obrien
ae5ec43081 Try to create some sort of consistency in how the routings to find the
multicast hash are written.  There are still two distinct algorithms used,
and there actually isn't any reason each driver should have its own copy
of this function as they could all share one copy of it (if it grew an
additional argument).
2003-11-13 20:55:53 +00:00
brooks
f1e94c6f29 Replace the if_name and if_unit members of struct ifnet with new members
if_xname, if_dname, and if_dunit. if_xname is the name of the interface
and if_dname/unit are the driver name and instance.

This change paves the way for interface renaming and enhanced pseudo
device creation and configuration symantics.

Approved By:	re (in principle)
Reviewed By:	njl, imp
Tested On:	i386, amd64, sparc64
Obtained From:	NetBSD (if_xname)
2003-10-31 18:32:15 +00:00
obrien
c63dab466c Use __FBSDID().
Also some minor style cleanups.
2003-08-24 17:55:58 +00:00
imp
0b41fd998b Make sure that pp_name is non-null before setting the device
description.  This allows us to rely entirely on the CIS entries if
necessary...
2003-04-10 04:36:02 +00:00
imp
cf874b345d Back out M_* changes, per decision of the TRB.
Approved by: trb
2003-02-19 05:47:46 +00:00
alfred
bf8e8a6e8f Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.
Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
2003-01-21 08:56:16 +00:00
sam
14c32b5f40 network interface driver changes:
o don't strip the Ethernet header from inbound packets; pass packets
  up the stack intact (required significant changes to some drivers)
o reference common definitions in net/ethernet.h (e.g. ETHER_ALIGN)
o track ether_ifattach/ether_ifdetach API changes
o track bpf changes (use BPF_TAP and BPF_MTAP)
o track vlan changes (ifnet capabilities, revised processing scheme, etc.)
o use if_input to pass packets "up"
o call ether_ioctl for default handling of ioctls

Reviewed by:	many
Approved by:	re
2002-11-14 23:54:55 +00:00
brooks
8d85d3f96b Use if_printf(ifp, "blah") instead of printf("fe%d: blah", ifp->if_unit).
A number of functions in this driver still use the unit number in their
printouts because they pass the unit directly as a function argument
instead of passing a softc or struct ifnet pointer.  This should be
resolved at a future date.
2002-10-01 00:52:58 +00:00
phk
1dfc2c167f Be consistent about "static" functions: if the function is marked
static in its prototype, mark it static at the definition too.

Inspired by:    FlexeLint warning #512
2002-09-28 17:15:38 +00:00
nyan
0c578852ad Supported C-NET(98)P2 PnP mode.
Submitted by:	"Hirokazu WATANABE" <gwna@geocities.co.jp>
MFC after:	3 days
2002-02-04 14:01:27 +00:00
imp
6fdb4db61f Migrate to PCMCIA_CARD() macros 2001-11-15 07:52:49 +00:00
imp
249aae3888 s/PCCARD_/PCMCIA_/g in NEWCARD device tables to enable easier NetBSD sharing 2001-11-11 20:17:10 +00:00
shiba
25567a30d1 Always turned on 8bit access card support for the fe driver
both i386/pc98, so options FE_8BIT_SUPPORT was deleted.

Reviewed by: nyan
2001-09-02 13:05:00 +00:00
shiba
5536f31c22 Update the fe driver to probe and attach under a NEWCARD kernel.
Reviewed by: imp
Obtained from: NetBSD
2001-09-02 06:27:07 +00:00
nyan
d39a1d4fd8 Fixed to support C-NET(9N)E. 2001-07-02 10:14:57 +00:00
phk
d214ae2171 Convert if_multiaddrs from LIST to TAILQ so that it can be traversed
backwards in the three drivers which want to do that.

Reviewed by:    mikeh
2001-02-06 10:12:15 +00:00
phk
709379c1ae Another round of the <sys/queue.h> FOREACH transmogriffer.
Created with:   sed(1)
Reviewed by:    md5(1)
2001-02-04 16:08:18 +00:00
phk
e87f7a15ad Mechanical change to use <sys/queue.h> macro API instead of
fondling implementation details.

Created with: sed(1)
Reviewed by: md5(1)
2001-02-04 13:13:25 +00:00
nyan
d4800b38f6 The fe driver does not support pnp devices. 2000-11-10 14:05:47 +00:00
nyan
61ceeec191 Moved prototypes of isa_alloc_resourcev() and isa_load_resourcev() to
isa/isavar.h, and added needed includes.
2000-10-22 16:48:08 +00:00
phk
beadbd4365 Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
phk
35f5b229bc Move DELAY() from <machine/clock.h> to <sys/systm.h> 2000-10-15 09:51:49 +00:00
nyan
7e9cf0ffb0 Removed unneeded include files.
Submitted by:	phk
2000-09-22 09:59:23 +00:00
jhb
3bfd6f0c52 Use driver_intr_t instead of the now defunct inthand2_t. 2000-09-15 19:09:15 +00:00
nyan
06ebe902ea - Newbus'ify and bus_space'ify.
- Separate bus dependent part and independent part.
- Moved source files to sys/dev/fe (repo copied).
- Fixed some comments by chi@bd.mbn.or.jp (Chiharu Shibata)

Tested by:	bsd-nomads@clave.gr.jp and
		FreeBSD98-testers@jp.freebsd.org
2000-09-14 12:02:07 +00:00
archie
7357df6b48 Make all Ethernet drivers attach using ether_ifattach() and detach using
ether_ifdetach().

The former consolidates the operations of if_attach(), ng_ether_attach(),
and bpfattach(). The latter consolidates the corresponding detach operations.

Reviewed by:	julian, freebsd-net
2000-07-13 22:54:34 +00:00
peter
da78ae6c96 Mass update of isa drivers using compatability shims to use
COMPAT_ISA_DRIVER() so that we can get rid of the evil isa_compat.h table.
2000-05-28 13:40:48 +00:00
archie
fa21035b4e Move code to handle BPF and bridging for incoming Ethernet packets out
of the individual drivers and into the common routine ether_input().
Also, remove the (incomplete) hack for matching ethernet headers
in the ip_fw code.

The good news: net result of 1016 lines removed, and this should make
bridging now work with *all* Ethernet drivers.

The bad news: it's nearly impossible to test every driver, especially
for bridging, and I was unable to get much testing help on the mailing
lists.

Reviewed by:	freebsd-net
2000-05-14 02:18:43 +00:00
peter
22f6069a2a Add $FreeBSD$ 2000-05-01 20:32:07 +00:00