| Age | Commit message (Collapse) | Author |
|
This driver only supports 10Mb Ethernet using PIO (the hardware supports
DMA, but the driver only does PIO). There are not any PCCard adapters
supported by this driver, only ISA cards. In addition, it does not use
bus_space but instead uses bcopy with volatile pointers triggering a
host of warnings. (if_ie.c is one of 3 files always built with
-Wno-error)
Relnotes: yes
Notes:
svn path=/head/; revision=304513
|
|
Found with devel/coccinelle.
Notes:
svn path=/head/; revision=297793
|
|
socket-buffer implementations, introduce a return value for MCLGET()
(and m_cljget() that underlies it) to allow the caller to avoid testing
M_EXT itself. Update all callers to use the return value.
With this change, very few network device drivers remain aware of
M_EXT; the primary exceptions lie in mbuf-chain pretty printers for
debugging, and in a few cases, custom mbuf and cluster allocation
implementations.
NB: This is a difficult-to-test change as it touches many drivers for
which I don't have physical devices. Instead we've gone for intensive
review, but further post-commit review would definitely be appreciated
to spot errors where changes could not easily be made mechanically,
but were largely mechanical in nature.
Differential Revision: https://reviews.freebsd.org/D1440
Reviewed by: adrian, bz, gnn
Sponsored by: EMC / Isilon Storage Division
Notes:
svn path=/head/; revision=276750
|
|
MFC after: 2 weeks
Notes:
svn path=/head/; revision=272266
|
|
- Cut code that runs a counter backwards.
Notes:
svn path=/head/; revision=271820
|
|
by removing unsued file local functions and then unused callees.
A lot more warnings to resolve but someone had to break the ice.
MFC after: 10 days
X-Comment: I am not the new maintainer; chime in, it's ours.
Notes:
svn path=/head/; revision=259886
|
|
- Remove unnecessary includes.
Sponsored by: Netflix
Sponsored by: Nginx, Inc.
Notes:
svn path=/head/; revision=257324
|
|
to this event, adding if_var.h to files that do need it. Also, include
all includes that now are included due to implicit pollution via if_var.h
Sponsored by: Netflix
Sponsored by: Nginx, Inc.
Notes:
svn path=/head/; revision=257176
|
|
malloc(9) flags in sys/dev.
Notes:
svn path=/head/; revision=243857
|
|
Notes:
svn path=/head/; revision=241066
|
|
Submitted by: Bruce Evans on net@
Notes:
svn path=/head/; revision=230808
|
|
Reviewed by: yongari
Notes:
svn path=/head/; revision=229767
|
|
queue length. The default value for this parameter is 50, which is
quite low for many of today's uses and the only way to modify this
parameter right now is to edit if_var.h file. Also add read-only
sysctl with the same name, so that it's possible to retrieve the
current value.
MFC after: 1 month
Notes:
svn path=/head/; revision=207554
|
|
IF_ADDR_UNLOCK() across network device drivers when accessing the
per-interface multicast address list, if_multiaddrs. This will
allow us to change the locking strategy without affecting our driver
programming interface or binary interface.
For two wireless drivers, remove unnecessary locking, since they
don't actually access the multicast address list.
Approved by: re (kib)
MFC after: 6 weeks
Notes:
svn path=/head/; revision=195049
|
|
on the ee16 parts rather than explicitly registering an event handler
that wasn't being torn down on detach.
Notes:
svn path=/head/; revision=181134
|
|
for this driver is called 'ie'. Otherwise, ifconfig(8) doesn't recognize
any of the modules as being the ie(4) driver and will always try to kldload
the driver even when it is already present in the kernel.
Reported by: Thierry Herbelot
Notes:
svn path=/head/; revision=179559
|
|
avoid recursing on the lock.
- Use IFQ_SET_MAXLEN().
Notes:
svn path=/head/; revision=179558
|
|
- Add a mutex to the softc and use it to protect the softc and device.
- Setup the interrupt handler in the common code instead of in each front
end and do it after ether_ifattach().
- Use ie_stop() and ieinit_locked() in iereset() rather than frobbing IFF_UP
and invoking ieioctl().
- Use DELAY() to implement a spin loop on a register with a timeout rather
than scheduling a timeout and then doing a tight spin on the register.
In the non-MPSAFE case this would never have worked because the spinning
code held Giant and the timeout routine would have been blocked on Giant
forever. The same approach would not worke in the MPSAFE case either for
the same reason, hence use a loop around DELAY().
- Clear IFF_DRV_(RUNNING|OACTIVE) in ie_stop() rather than in callers.
- Call ieinit_locked() directly rather than ieioctl(!) from ie_mc_reset().
- Don't leak the rx frame buffer on detach.
Tested by: Thierry Herbelot thierry of herbelot.com
Notes:
svn path=/head/; revision=179491
|
|
Reported by: tinderbox
Notes:
svn path=/head/; revision=179435
|
|
Notes:
svn path=/head/; revision=179416
|
|
bus_setup_intr()
o add an int return code to all fast handlers
o retire INTR_FAST/IH_FAST
For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current
Reviewed by: many
Approved by: re@
Notes:
svn path=/head/; revision=166901
|
|
unnecessary.
Notes:
svn path=/head/; revision=158651
|
|
custom kernels.
Notes:
svn path=/head/; revision=153110
|
|
rather than in ifindex_table[]; all (except one) accesses are
through ifp anyway. IF_LLADDR() works faster, and all (except
one) ifaddr_byindex() users were converted to use ifp->if_addr.
- Stop storing a (pointer to) Ethernet address in "struct arpcom",
and drop the IFP2ENADDR() macro; all users have been converted
to use IF_LLADDR() instead.
Notes:
svn path=/head/; revision=152315
|
|
Notes:
svn path=/head/; revision=150215
|
|
IFF_DRV_RUNNING, as well as the move from ifnet.if_flags to
ifnet.if_drv_flags. Device drivers are now responsible for
synchronizing access to these flags, as they are in if_drv_flags. This
helps prevent races between the network stack and device driver in
maintaining the interface flags field.
Many __FreeBSD__ and __FreeBSD_version checks maintained and continued;
some less so.
Reviewed by: pjd, bz
MFC after: 7 days
Notes:
svn path=/head/; revision=148887
|
|
over iteration of their multicast address lists when synchronizing the
hardware address filter with the network stack-maintained list.
Problem reported by: Ed Maste (emaste at phaedrus dot sandvine dot ca>
MFC after: 1 week
Notes:
svn path=/head/; revision=148654
|
|
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
Notes:
svn path=/head/; revision=147256
|
|
and amd64. The optimization is a trivial on recent machines.
Reviewed by: -arch (imp, marcel, dfr)
Notes:
svn path=/head/; revision=146734
|
|
Notes:
svn path=/head/; revision=139749
|
|
the interface as IFF_NEEDSGIANT so if_start is run holding Giant.
Notes:
svn path=/head/; revision=133689
|
|
Submitted by: Mark Santcroos <marks@ripe.net>
Reviewed by: imp, dfr, bde
Notes:
svn path=/head/; revision=127135
|
|
Notes:
svn path=/head/; revision=126966
|
|
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)
Notes:
svn path=/head/; revision=121816
|
|
Also some minor style cleanups.
Notes:
svn path=/head/; revision=119418
|
|
completenss. The pessimization is tiny compared with i/o port slowness
except on very old machines, but code that used signed short types for
i/o ports was unpessimized long ago, and the macro that detected it
recently started working for u_short types too. Use of bus space
should have made this moot long ago.
Not tested at runtime by: bde
Notes:
svn path=/head/; revision=118555
|
|
Notes:
svn path=/head/; revision=117877
|
|
- Provide identify methods for EtherExpress and 3c507 cards; this
means these cards no longer need wired configs.
- Provide a detach method.
Notes:
svn path=/head/; revision=112790
|
|
the adapter from becoming wedged when when the interface is
is brought up by ether_ioctl() (when you set an IP address for example.)
Confirmed this "fix" from NetBSD's i82586 backend. It seems hackish
to me but whatever.
Notes:
svn path=/head/; revision=112788
|
|
Notes:
svn path=/head/; revision=112783
|
|
Notes:
svn path=/head/; revision=112765
|
|
- Be consistent about what we call our softc.
- Minor formatting.
- Add some register definitions gleaned from NetBSD/Linux.
Notes:
svn path=/head/; revision=112734
|
|
rather than doing it ourself.
- Set ifq_maxlen.
- Include the size of the ethernet header when we allocate
our mbuf chain in ieget().
Notes:
svn path=/head/; revision=112720
|
|
Oops.
Notes:
svn path=/head/; revision=112699
|
|
Approved by: trb
Notes:
svn path=/head/; revision=111119
|
|
Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
Notes:
svn path=/head/; revision=109623
|
|
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
Notes:
svn path=/head/; revision=106937
|
|
static in its prototype, mark it static at the definition too.
Inspired by: FlexeLint warning #512
Notes:
svn path=/head/; revision=104094
|
|
This file currently is very ie specific, but I have plans to change
that...
Notes:
svn path=/head/; revision=79077
|
|
backwards in the three drivers which want to do that.
Reviewed by: mikeh
Notes:
svn path=/head/; revision=72084
|