| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
struct ifnet or the layer 2 common structure it was embedded in have
been replaced with a struct ifnet pointer to be filled by a call to the
new function, if_alloc(). The layer 2 common structure is also allocated
via if_alloc() based on the interface type. It is hung off the new
struct ifnet member, if_l2com.
This change removes the size of these structures from the kernel ABI and
will allow us to better manage them as interfaces come and go.
Other changes of note:
- Struct arpcom is no longer referenced in normal interface code.
Instead the Ethernet address is accessed via the IFP2ENADDR() macro.
To enforce this ac_enaddr has been renamed to _ac_enaddr.
- The second argument to ether_ifattach is now always the mac address
from driver private storage rather than sometimes being ac_enaddr.
Reviewed by: sobomax, sam
|
|
|
|
| |
is only used by the fe driver, and isn't MD.
|
|
|
|
| |
fe_ to it.
|
| |
|
|
|
|
| |
Reviewed by: jmallett
|
|
|
|
| |
the interface as IFF_NEEDSGIANT so if_start is run holding Giant.
|
| |
|
|
|
|
| |
for us.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Submitted by: Mark Santcroos <marks@ripe.net>
Reviewed by: imp, dfr, bde
|
| |
|
|
|
|
| |
Requested by: bde,imp
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
| |
Also some minor style cleanups.
|
|
|
|
| |
Approved by: trb
|
|
|
|
| |
Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
static in its prototype, mark it static at the definition too.
Inspired by: FlexeLint warning #512
|
|
|
|
|
|
| |
both i386/pc98, so options FE_8BIT_SUPPORT was deleted.
Reviewed by: nyan
|
|
|
|
|
| |
Reviewed by: imp
Obtained from: NetBSD
|
|
|
|
|
|
| |
backwards in the three drivers which want to do that.
Reviewed by: mikeh
|
|
|
|
|
| |
Created with: sed(1)
Reviewed by: md5(1)
|
|
|
|
|
|
|
| |
fondling implementation details.
Created with: sed(1)
Reviewed by: md5(1)
|
| |
|
|
|
|
| |
Submitted by: phk
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
COMPAT_ISA_DRIVER() so that we can get rid of the evil isa_compat.h table.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
fe_read_eeprom_rex() and fe_init_rex(). These functions should be
useful for REX-5580 series (for PC-AT). But they are included in
`#ifdef PC98' to avoid warnings by unused static functions. If you
try to support REX-5580, please be aware of these functions.
Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
|
|
|
|
|
|
|
|
|
| |
if_fe.c uses PCCARD_MODULE() and is part of GENERIC. I've #ifdef'ed out
the #include of "card.h" to hopefully disable pccard support in this
driver until it can be converted. I'm not positive this will fix make
release, but it can't possibly make it any worse than it is now.
I hope this stuff settles down soon.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This means that we will not have to have a bpf and a non-bpf version
of our driver modules.
This does not open any security hole, because the bpf core isn't loadable
The drivers left unchanged are the "cross platform" drivers where the respective
maintainers are urged to DTRT, whatever that may be.
Add a couple of missing FreeBSD tags.
|
|
|
|
| |
Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
|
| |
|
|
|
|
|
|
| |
- Fix typo in TDK/LANX stuff.
Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
|
|
|
|
|
|
|
| |
and used 'command' instead of 'cmd' in a few cases. Also clear up some
unused variables.
Pointed out by: phk
|
|
|
|
|
|
|
|
| |
sys/net/if_ethersubr.c:ether_ioctl(). Drivers need not implement generic
behavior.
PR: kern/12126
Submitted by: in part by Boris Popov <bp@butya.kz>
|
| |
|
|
|
|
|
| |
Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
Reminded by: Takahashi Yoshihiro <nyan@dd.catv.ne.jp>
|
|
|
|
| |
Submitted by: Takahashi Yoshihiro <nyan@dd.catv.ne.jp>
|
| |
|
| |
|
|
|
|
|
|
| |
for other Access/PC series.
Submitted by: Chiharu Shibata <chi@bd.mbn.or.jp>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
as well as several functional additions.
(1) dot3 MIB support.
(2) if_media selection method support.
(3) bridge support.
(4) new boards support. Supported boards are as follows.
[PC/AT]
* Fujitsu FMV-180 series
* Allied-Telesis RE2000 series
* Allied-Telesyn AT1700 series
* Gateway Communications G/Ether series
* UB networks Access/PC ISA series
* TDK/LANX LAC-AX series
* ICL EtherTeam16i series
* RATOC REX-5586/5587
[PC-98]
* Allied-Telesis RE1000 series
* Allied-Telesis RE1000Plus/ME1500 series
* Contec C-NET(9N)E series
* Contec C-NET(98)P2 series
* UB networks Access/PC N98C+ series
* TDK/LANX LAC-98 series(not tested)
Submitted by: seki@sysrap.cs.fujitsu.co.jp (Masahiro Sekiguchi) and
chi@bd.mbn.or.jp (Chiharu Shibata)
|
|
|
|
| |
and local variables, goto labels, and functions declared but not defined.
|
|
|
|
|
|
|
| |
device drivers, not in ioconf.c. Use a different hack in isa_device.h
so that a new config(8) is not required yet.
pc98 parts approved by: kato
|
|
|
|
|
| |
Ifdefed conditionally used includes.
Finished rev.1.39. (I only submitted the request.)
|