#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
243857 |
|
04-Dec-2012 |
glebius |
Mechanically substitute flags from historic mbuf allocator with malloc(9) flags in sys/dev.
|
#
227309 |
|
07-Nov-2011 |
ed |
Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.
The SYSCTL_NODE macro defines a list that stores all child-elements of that node. If there's no SYSCTL_DECL macro anywhere else, there's no reason why it shouldn't be static.
|
#
207554 |
|
03-May-2010 |
sobomax |
Add new tunable 'net.link.ifqmaxlen' to set default send interface 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
|
#
195049 |
|
26-Jun-2009 |
rwatson |
Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ 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
|
#
179551 |
|
04-Jun-2008 |
jhb |
Style(9) xe(4). The MD5 sums are different, but comparing the dissassemblies the only changes are from gcc moving some global variables around slightly.
|
#
179548 |
|
04-Jun-2008 |
jhb |
Gah, always reset the timer for the watchdog check.
|
#
179543 |
|
04-Jun-2008 |
jhb |
- Split the interrupt handler up into separate subroutines for rx, tx, and MAC events. - Use bus_*() rather than bus_space_*() and remove the bus space tag and handle from the softc. - Retire unused macros for examining CIS tuples.
|
#
179527 |
|
03-Jun-2008 |
jhb |
- Change the watchdog timer logic to match other drivers that use their own timer by keeping a once-a-second timer running that decrements a counter similar to if_timer and reset the chip if it gets down to zero via the decrement. - Use IFQ_SET_MAXLEN().
|
#
179492 |
|
02-Jun-2008 |
jhb |
Add locking and make xe(4) MPSAFE: - Add a mutex to protect the softc and device hardware. - Use a callout rather than a callout_handle for the media timer. - Use a dedicated timer for managing the tx watchdog rather than if_timer. - Fix some resource leaks if xe_attach() fails. - Shutdown the device before detaching the driver. - Setup the interrupt handler after ether_ifattach().
Tested by: Ian FREISLICH ianf of clue.co.za
|
#
166901 |
|
23-Feb-2007 |
piso |
o break newbus api: add a new argument of type driver_filter_t to 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@
|
#
157772 |
|
15-Apr-2006 |
maxim |
o Fix printf(9) formatting: do not use hardcode "0x" and "#" flags simultaneously. Remove "#' flag to match a style of the rest of file.
PR: kern/85477 Submitted by: Oliver Fromme
|
#
152315 |
|
11-Nov-2005 |
ru |
- Store pointer to the link-level address right in "struct ifnet" 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.
|
#
152311 |
|
11-Nov-2005 |
ru |
Catch up with IFP2ENADDR() type change (array -> pointer).
|
#
148887 |
|
09-Aug-2005 |
rwatson |
Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 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
|
#
148838 |
|
07-Aug-2005 |
imp |
Other changes to this driver preclude its use on 4.x, so remove 4.x compat code elsewhere in the driver.
|
#
148654 |
|
02-Aug-2005 |
rwatson |
Modify device drivers supporting multicast addresses to lock if_addr_mtx 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
|
#
148030 |
|
15-Jul-2005 |
imp |
Fix a couple of leaking situations when errors happen.
|
#
147961 |
|
13-Jul-2005 |
imp |
Stop using OLDCARD shims. rename xe_pccard_match to xe_pccard_probe and combine the old xe_pccard_{probe,attach} into one routine _attach. Create a lookup function to lookup items in the table. Eliminate the check for network cards, since many modems were eliminated by it. Tweak a few printfs as well.
This gets many of my older cards working again CEM2, CEM28, CEM36, etc.
|
#
147382 |
|
14-Jun-2005 |
brooks |
Remove a duplicate assignment.
Reported by: delphij Approved by: re (ifnet blanket)
|
#
147256 |
|
10-Jun-2005 |
brooks |
Stop embedding struct ifnet at the top of driver softcs. Instead the 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
|
#
139749 |
|
05-Jan-2005 |
imp |
Start each of the license/copyright comments with /*-, minor shuffle of lines
|
#
133703 |
|
13-Aug-2004 |
rwatson |
Since if_xe doesn't contain locking or run with INTR_MPSAFE, mark the interface as IFF_NEEDSGIANT so if_start is run holding Giant.
|
#
130255 |
|
08-Jun-2004 |
naddy |
Replace convoluted and broken CRC calcuation with ether_crc32_le(). This should fix multicast reception.
|
#
129616 |
|
23-May-2004 |
mux |
We don't need to initialize if_output, ether_ifattach() does it for us.
|
#
128293 |
|
15-Apr-2004 |
luigi |
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.
|
#
127135 |
|
17-Mar-2004 |
njl |
Convert callers to the new bus_alloc_resource_any(9) API.
Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
|
#
126966 |
|
14-Mar-2004 |
mdodd |
Announce ethernet MAC addresss in ether_ifattach().
|
#
123289 |
|
08-Dec-2003 |
obrien |
Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones.
Requested by: bde,imp
|
#
122625 |
|
13-Nov-2003 |
obrien |
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).
|
#
122170 |
|
06-Nov-2003 |
rsm |
Disable the (currently unused) xe_reg_dump() function, until I know for sure that it's not needed any more.
Reviewed by: imp (mentor)
|
#
122106 |
|
05-Nov-2003 |
imp |
Make xe_reg_dump non-static to avoid warnings (and tinerbox mail) for now.
|
#
122081 |
|
04-Nov-2003 |
rsm |
Convert XE_DEBUG define to hw.xe.debug sysctl, to set debug logging level from the xe driver. Should probably be removed when current probe/attach problems with the driver are fixed, but is useful now when requesting diagnostic information from users.
Reviewed by: imp (mentor)
|
#
121816 |
|
31-Oct-2003 |
brooks |
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)
|
#
121752 |
|
30-Oct-2003 |
brooks |
There is no way to enter the attach routine twice with the same softc without a detach call in between so don't try to deal with that possiability.
This is a diff-reduction commit for the upcoming if_xname conversion.
|
#
121099 |
|
14-Oct-2003 |
rsm |
Major update to xe driver:
- Make multicast work - Fix (some of) the watchdog timeouts after card reset - Add support for CE2, CEM28 and CEM33 cards - General code cleanup
Any card that worked previously should still work, as well as a lot that didn't.
The driver is not yet style(9) compliant; those changes are forthcoming, once the functional changes are done.
PR: kern/50644 Reviewed by: imp Approved by: imp
|
#
119418 |
|
24-Aug-2003 |
obrien |
Use __FBSDID(). Also some minor style cleanups.
|
#
115547 |
|
31-May-2003 |
phk |
Remove unused variable(s). Put XXX comment where intent is unclear.
Found by: FlexeLint
|
#
111119 |
|
19-Feb-2003 |
imp |
Back out M_* changes, per decision of the TRB.
Approved by: trb
|
#
110044 |
|
29-Jan-2003 |
joerg |
The Xircom hardware always delivers received packets with the FCS appended. Thus, mark the M_HASFCS flag so the generic ethernet layers will account for this.
|
#
109623 |
|
21-Jan-2003 |
alfred |
Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
|
#
109058 |
|
10-Jan-2003 |
mbr |
When reading PHY regs over the i2c bus, the turnaround ACK bit is read one clock edge too late. This bit is driven low by slave (as any other input data bits from slave) when the clock is LOW. The current code did read the bit after the clock was driven high again.
Reviewed by: luoqi MFC after: 2 weeks
|
#
106937 |
|
14-Nov-2002 |
sam |
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
|
#
104260 |
|
30-Sep-2002 |
brooks |
Use if_printf(ifp, "foo") instead of printf("xe%d: foo", ifp->it_unit).
|
#
91279 |
|
26-Feb-2002 |
imp |
Remove an unused variable.
|
#
90962 |
|
20-Feb-2002 |
shiba |
Update xe driver to probe and attach in a NEWCARD kernel. And separate probe and attach routine for PC Card from if_xe.c to if_xe_pccard.c.
Reviewed by: imp
|
#
82481 |
|
29-Aug-2001 |
imp |
Add some seat belts. If we set the error rc, then return it and don't pretend things succeeded. This can happen if the address returned form bus_alloc_resource for the cis memory is occupied by some of thing.
|
#
72084 |
|
06-Feb-2001 |
phk |
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
|
#
71999 |
|
04-Feb-2001 |
phk |
Mechanical change to use <sys/queue.h> macro API instead of fondling implementation details.
Created with: sed(1) Reviewed by: md5(1)
|
#
71479 |
|
23-Jan-2001 |
jhb |
Tag unused functions with __unused.
|
#
70834 |
|
09-Jan-2001 |
wollman |
select() DKI is now in <sys/selinfo.h>.
|
#
67164 |
|
15-Oct-2000 |
phk |
Remove unneeded #include <machine/clock.h>
|
#
63090 |
|
13-Jul-2000 |
archie |
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
|
#
62912 |
|
10-Jul-2000 |
imp |
Remove the XE_DEBUG define. It shouldn't be defined now that things are working. Add a small blurb about XE_DEBUG as it might be useful to some people troubelshooting problems in the future.
Submitted by: "Kevin Oberman" <oberman@es.net>
|
#
61084 |
|
30-May-2000 |
imp |
Add support for the modem side of the 56k combo card.
Submitted by: Duncan Barclay <dmlb@ragnet.demon.co.uk>
|
#
60536 |
|
14-May-2000 |
archie |
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
|
#
59813 |
|
01-May-2000 |
imp |
Now that I've got reports that this works, let's turn the debugging off. MIHIRA-san pointed out that debugging is rather big for tcpdump...
Submitted by: sanpei@sanpei.org (MIHIRA Yoshiro)
|
#
59763 |
|
29-Apr-2000 |
imp |
Return 0 from attach.
Submitted by: mihira-san <sanpei@sanpei.org>
|
#
59620 |
|
25-Apr-2000 |
imp |
First cut at adding CIS reading to xe driver. I don't have a card that seems to be working (I have a MF card that has a 336 modem and ethernet that the probe routine finds, but the attach fails on because pccardd doesn't do what you'd like with MF cards all the time).
|
#
59430 |
|
20-Apr-2000 |
imp |
o Preliminary support for mapping the CIS by the driver. o Modify xe driver to use this.
There's still some issues with this code, so xe can't map the cis just yet. I'm thinking about how to resolve the issue. pccard_nbk's pccard_alloc_resource is getting in the way.
|
#
59391 |
|
19-Apr-2000 |
phk |
Remove ~25 unneeded #include <sys/conf.h> Remove ~60 unneeded #include <sys/malloc.h>
|
#
56473 |
|
23-Jan-2000 |
peter |
Remove #if 0'ed reference to isa_device->id_alive
|
#
55723 |
|
10-Jan-2000 |
imp |
Move xe driver from dev/pccard to dev/xe. Convert driver to newbus. Driver is not functional yet, but does compile. Tests with xe cards indicates that it doesn't panic the machine when they are present, but fail to probe. Interface help in the pcic/pccard layers are needed to complete this driver.
|
#
52632 |
|
29-Oct-1999 |
imp |
Disable old PCCARD_MODULE code.
This should fix LINT.
Prompted by: phk's explicit message about LINT breakage
|
#
51646 |
|
25-Sep-1999 |
phk |
Remove NBPF conditionality of bpf calls in most of our network drivers.
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.
|
#
51594 |
|
23-Sep-1999 |
peter |
Restore vendor $Id$ now that it won't be clobbered.
|
#
50477 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
49535 |
|
08-Aug-1999 |
phk |
Decommision miscfs/specfs/specdev.h. Most of it goes into <sys/conf.h>, a few lines into <sys/vnode.h>.
Add a few fields to struct specinfo, paving the way for the fun part.
|
#
48645 |
|
06-Jul-1999 |
des |
Rename bpfilter to bpf.
|
#
48118 |
|
22-Jun-1999 |
obrien |
Wrap the definition of "XE_DEBUG" so it is overridable from the ``cc'' commandline or kernel conf file.
|
#
48117 |
|
22-Jun-1999 |
obrien |
Fix conflicts.
|
#
47640 |
|
31-May-1999 |
phk |
Simplify cdevsw registration.
The cdevsw_add() function now finds the major number(s) in the struct cdevsw passed to it. cdevsw_add_generic() is no longer needed, cdevsw_add() does the same thing.
cdevsw_add() will print an message if the d_maj field looks bogus.
Remove nblkdev and nchrdev variables. Most places they were used bogusly. Instead check a dev_t for validity by seeing if devsw() or bdevsw() returns NULL.
Move bdevsw() and devsw() functions to kern/kern_conf.c
Bump __FreeBSD_version to 400006
This commit removes: 72 bogus makedev() calls 26 bogus SYSINIT functions
if_xe.c bogusly accessed cdevsw[], author/maintainer please fix.
I4b and vinum not changed. Patches emailed to authors. LINT probably broken until they catch up.
|
#
47156 |
|
14-May-1999 |
obrien |
if_xe* now lives in sys/dev/pccard/
|
#
47151 |
|
14-May-1999 |
obrien |
Virgin import of Xircom PCCARD driver v1.19.
v1.19 (1999/04/15) updates the CEM56/REM56 support.
Current bugs & misfeatures -------------------------- * CE2 cards still not working reliably. Unclear if this is related to packet I/O code or interrupt handling. * Autonegotiation support remains flaky. We're now OK with 10Mbit auto hubs, but certain combination of hardware will fail to connect.
Developed by: Scott Mitchell <scott@uk.freebsd.org> Obtained from: http://www.freebsd-uk.eu.org/~scott/xe_drv/
|
#
47148 |
|
14-May-1999 |
obrien |
Virgin import of Xircom PCCARD driver v1.18
v1.18 (1999/04/08) adds support for CEM56 and REM56 multifunction cards.
Developed by: Scott Mitchell <scott@uk.freebsd.org> Obtained from: http://www.freebsd-uk.eu.org/~scott/xe_drv/
|
#
47145 |
|
13-May-1999 |
obrien |
Virgin import of Xircom PCCARD driver v1.17
v1.17 (1999/03/28) has xperimental fixes to 10Mbit autonegotiation and CE2 input lockup.
KNOWN BUGS ==========
* Media auto-negotiation is definitely not right. It will work in most circumstances and seems to connect OK to most 100Mbit networks, however some pathological combinations of hubs/networks/peers seem to confuse it.
* CE2 support is somewhat flakey (ranging from 'works perfectly' to 'hangs the machine' so far). I've fixed the probe routine and a potential lockup in the output routine, but a lot of people still report that they can't receive or transmit.
* You won't be able to use the modem and Ethenet parts of a multifunction card simultaneously. This is limitation the current FreeBSD PCMCIA support. Likewise, there is no support for CardBus devices.
Developed by: Scott Mitchell <scott@uk.freebsd.org> Obtained from: http://www.freebsd-uk.eu.org/~scott/xe_drv/
|
#
47142 |
|
13-May-1999 |
obrien |
Virgin import of Xircom PCCARD driver v1.16.
v1.16 (1999/03/08) fixed BPF input hang and infinite loop on CE2 short-packet output.
Developed by: Scott Mitchell <scott@uk.freebsd.org> Obtained from: http://www.freebsd-uk.eu.org/~scott/xe_drv/
|
#
47139 |
|
13-May-1999 |
obrien |
Virgin import of Xircom PCCARD driver v1.15
v1.15 fixed driver registration bug under 3.1-STABLE.
Developed by: Scott Mitchell <scott@uk.freebsd.org> Obtained from: http://www.freebsd-uk.eu.org/~scott/xe_drv/
|
#
47136 |
|
13-May-1999 |
obrien |
Virgin import of Xircom PCCARD driver v1.14
This driver is mostly based on the `xirc2ps' driver for Linux by Werner Koch. Werner has even allowed his code to be distributed under a BSD licence, making our life considerably easier -- thanks Werner!
This driver supports: * Intel EtherExpress(TM) PRO/100 PCCARD (16-bit version) * Xircom CreditCard CE2 / CEM28 / CEM33 / CE3 / CEM56 Ethernet adapters. * Toshiba Advanced Network 10/100 PCCARD * Certain Compaq Netelligent 10/100 branded cards
v1.14 has major changes to media selection code, and bugfixes in the probe routine.
Developed by: Scott Mitchell <scott@uk.freebsd.org> Obtained from: http://www.freebsd-uk.eu.org/~scott/xe_drv/
|
#
47133 |
|
13-May-1999 |
obrien |
Virgin import of Xircom PCCARD driver v1.13
|