| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
vulnerabilities. It also has the FAST_INTR code as a compile option.
Submitted by: jfv
Reviewed by: scottl
Approved by: re, scottl
Notes:
svn path=/stable/6/; revision=164143
|
| |
|
|
|
|
|
| |
Approved by: re
Notes:
svn path=/stable/6/; revision=163751
|
| |
|
|
|
|
|
| |
Approved by: re, scottl, jhb, pdeuskar
Notes:
svn path=/stable/6/; revision=163725
|
| |
|
|
|
|
|
|
|
| |
- 6.1.4 driver merge
- Fix RX path under mbuf shortage conditions
- Fix TX path under mbuf shortage conditions
Notes:
svn path=/stable/6/; revision=161613
|
| |
|
|
| |
Notes:
svn path=/stable/6/; revision=161083
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
order:
o A significant performance improvements. The interrupt handler
schedules work to a private taskqueue. The em_rxeof() function
runs lockless.
Rev. 1.98 - 1.101 by scottl.
Rev. 1.103 by mux
Rev. 1.106 by glebius, from Andrey V. Elsukov <bu7cher yandex.ru>
Rev. 1.116 by glebius
o Style cleanups:
- Rev. 1.102, 1.108, 1.109 by glebius
- Rev. 1.124 by pdeuskar
o Vendor merges:
- Merged with vendor driver version 5.1.5 by Jack Vogel.
Rev. 1.115 by glebius
- Merged with vendor driver version 6.0.5 by Jack Vogel.
Rev. 1.123 by glebius
o Various fixes:
- Invalid use of BUS_DMA_ALLOCNOW
Rev. 1.104 by scott, 1.121 by yongari
- Link state handling cleanup.
Rev. 1.110 by glebius
- Fix if_baudrate handling.
Rev. 1.111 by glebius
- Honor IFF_DRV_OACTIVE in em_start_locked().
Rev. 1.117 by yongari
- Protect EEPROM access with the driver lock.
Rev. 1.118 by yongari
- Fix link flap on SIOCGIFADDR.
Rev. 1.119 by yongari
- Fix DMA map handling in em_encap().
Rev. 1.120,1.122 by yongari
Notes:
svn path=/stable/6/; revision=161082
|
| |
|
|
|
|
|
|
|
| |
Add jumbo frame support for architectures with strict alignment.
Requested by: wilko
Notes:
svn path=/stable/6/; revision=158741
|
| |
|
|
|
|
|
|
|
| |
Set ifp->if_baudrate according to current speed.
Approved by: re (mux)
Notes:
svn path=/stable/6/; revision=156855
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix two important typos in watchdog handling:
- Restart watchdog if we *did* processed any descriptors. [1]
- Log the watchdog event if the link is *up*. [2]
PR: kern/92948 [1]
Submitted by: Mihail Balikov <mihail.balikov interbgc.com> [1]
PR: kern/92895 [2]
Submitted by: Vladimir Ivanov <wawa yandex-team.ru> [2]
Approved by: re (kensmith)
Notes:
svn path=/stable/6/; revision=155754
|
| |
|
|
| |
Notes:
svn path=/stable/6/; revision=155014
|
| |
|
|
|
|
|
|
|
| |
third party drivers.
- Fix bugs destribed in previous revision using macro with
another name.
Notes:
svn path=/stable/6/; revision=154307
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Use VLAN_TAG_VALUE() not only to read a dot1q tag
value from an m_tag, but also to set it. This reduces
complex code duplication and improves its readability.
- Fix VLAN_INPUT_TAG() macro, so that it doesn't touch mtag in
case if memory allocation failed.
- Remove fourth argument from VLAN_INPUT_TAG(), that was used
incorrectly in almost all drivers. Indicate failure with
mbuf value of NULL.
Notes:
svn path=/stable/6/; revision=154298
|
| |
|
|
|
|
|
| |
PR: kern/89825
Notes:
svn path=/stable/6/; revision=154171
|
| |
|
|
|
|
|
|
|
|
| |
On the 82571 and newer chipset the ICR register is meaningful only
if the E1000_ICR_INT_ASSERTED bit is set.
Submitted by: Jack Vogel
Notes:
svn path=/stable/6/; revision=153237
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
revision 1.83
date: 2005/11/09 08:43:18; author: yongari; state: Exp; lines: +41 -38
Make em(4) work on big-endian architectures.
- disable jumbo frame support on strict alignment architectures due
to the limitation of hardware. The driver needs a fix-up code for
RX side. The fix will show up in near future.
- fix endian issue for 82544 on PCI-X bus. I couldn't test this as
I don't have the NIC/hardware.
- prefer PCIR_BAR to hardcoded EM_MMBA.
- Properly checks for for 64bit BAR [1]
- replace inl/outl with bus_space(9) [1]
- fix endian issue on VLAN handling.
- reorder header files and remove unnecessary one.
Reviewed by: cognet
No response from: pdeuskar, tackerman
Obtained from: OpenBSD [1]
revision 1.84
date: 2005/11/09 15:23:54; author: glebius; state: Exp; lines: +7 -3
- Introduce two more stat counters, counting number of RX
overruns and number of watchdog timeouts.
- Do not log(9) RX overrun events, since this pessimizes
things under load [1].
- Do not increase if->if_oerrors in em_watchdog(), since
this leads to counter slipping back, when if->if_oerrors
is recalculated in em_update_stats_counters(). Instead
increase watchdog counter in em_watchdog() and take it
into account in em_update_stats_counters().
revision 1.86
date: 2005/11/11 16:04:51; author: ru; state: Exp; lines: +1 -1
- 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.
revisions 1.85, 1.87
- Introduce tunables em.hw.txd and em.hw.rxd, which allow administrator
to configure number of transmit and receive descriptors.
- Check em.hw.txd and em.hw.rxd against hardware limits [*] and require
them to be multiple of 128.
revision 1.88
date: 2005/11/21 04:17:43; author: yongari; state: Exp; lines: +121 -83
busdma cleanup for em(4).
- don't force busdma to pre-allocate bounce pages for parent tag.
- use system supplied roundup2 macro instead of rolling its own version.
- TX/RX decriptor length should be multiple of 128. There is no
no need to expand the size with the multiple of 4096.
- don't create/destroy DMA maps in TX/RX handlers. Use pre-allocated
DMA maps. Since creating DMA maps on sparc64 is time consuming
operations(resource mananger overhead), this change should boost
performance on sparc64. I could get > 2x speedup on Ultra60.
- TX/RX descriptors could be aligned on 128 boundary. Aligning them
on PAGE_SIZE is waste of resource.
- don't blindly create TX DMA tag with size of MCLBYTES * 8. The size
is only valid under jumbo frame environments. Instead of using the
hardcoded value, re-compute necessary size on the fly.
- RX side bus_dmamap_load_mbuf_sg(9) support.
- remove unused macro EM_ROUNDUP and constant EM_MMBA.
Reviewed by: scottl
Tested by: glebius
revision 1.89
date: 2005/11/24 01:44:48; author: glebius; state: Exp; lines: +131 -77
Merge in new driver version from Intel - 3.2.18.
The most important change is support for adapters based on
82571 and 82572 chips.
Tested on: 82547EI on i386
Tested on: 82540EM on sparc64
revision 1.90
date: 2005/11/24 15:13:47; author: cognet; state: Exp; lines: +3 -1
Remember the bus_dmamap_t where we loaded the mbuf, and sync this map instead
of tx_buffer->map, or we could end up syncing the wrong map.
Notes:
svn path=/stable/6/; revision=152789
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Put probe-time printf of adapter speed and duplex behind bootverbose:
since the link takes a bit to negotiate, the information is pretty
much never available during the probe. As such, the boot output
pretty much always prints N/A for speed and duplex. Since we print
out the output of ifconfig during the user space boot, this early
boot information is also generally redundant, and added to the noise.
Notes:
svn path=/stable/6/; revision=152408
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- rev. 1.76. Removed FreeBSD 4.x code.
- rev. 1.77, 1.79. Together with rev. 1.71 (already merged) this
fixes problems when some code is executed in driver when
em_process_receive_interrupts() drops lock. This can occur
at runtime, when polling(4) mode is changed to interrupt driver
or vise versa, but more likely this can happen when administrator
issues some ifconfig commands.
- rev. 1.78. In em_process_receive_interrupts(), call bus_dmamap_sync()
for the descriptors set each time we modify one descriptor, instead
of doing it only at the function exit.
- rev. 1.80. Loop in em_intr() until interrupt cause register is clear,
don't mask overrun interrupt.
- rev. 1.81. Several locking and other fixes.
See particular revision logs for more detailed information.
Approved by: re
Notes:
svn path=/stable/6/; revision=151561
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o First attempt on removing Giant from polling. Details:
http://lists.freebsd.org/pipermail/cvs-src/2005-September/051848.html
o Second attempt, and big polling cleanup including:
- Functinal approach to turning polling on/off
- Deprecating of poll_in_trap
- Removal of ifnet knowledge from kern_poll.c
Details:
http://lists.freebsd.org/pipermail/cvs-src/2005-October/053267.html
o Improved checking of user configurable sysctls. Details:
http://lists.freebsd.org/pipermail/cvs-src/2005-October/053351.html
o Moving DEVICE_POLLING from opt_global.h to opt_device_polling.h:
http://lists.freebsd.org/pipermail/cvs-src/2005-October/053479.html
o All related documentation fixes.
Approved by: re (kensmith)
Thanks to: everyone, who helped with testing
Notes:
svn path=/stable/6/; revision=151061
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
In em_process_receive_interrupts() store and clear adapter->fmt. This
make function reenterable. In the runtime the race is masked by
serializing
of em_process_receive_interrupts() either by interrupt thread, or by
polling. The race can be triggered when polling is switched on or off.
Approved by: re (scottl)
Notes:
svn path=/stable/6/; revision=150911
|
| |
|
|
|
|
|
|
|
| |
Check IFF_DRV_RUNNING before calling em_start_locked().
Approved by: re (scottl)
Notes:
svn path=/stable/6/; revision=150570
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
if_pflog.c:1.14 if_pfsync.c:1.21 if_an.c:1.70 if_ar.c:1.72 if_arl.c:1.11
amrr.c:1.10 onoe.c:1.10 if_ath.c:1.101 awi.c:1.41 if_bfe.c:1.27
if_bge.c:1.93 if_cm_isa.c:1.7 smc90cx6.c:1.16 if_cnw.c:1.20 if_cp.c:1.25
if_cs.c:1.42 if_ct.c:1.26 if_cx.c:1.46 if_ed.c:1.256 if_em.c:1.68
if_en_pci.c:1.37 midway.c:1.66 if_ep.c:1.143 if_ex.c:1.58 if_fatm.c:1.20
if_fe.c:1.93 if_fwe.c:1.38 if_fwip.c:1.8 if_fxp.c:1.244 if_gem.c:1.33
if_hatm.c:1.25 if_hatm_intr.c:1.20 if_hatm_ioctl.c:1.13 if_hatm_rx.c:1.10
if_hatm_tx.c:1.14 if_hme.c:1.39 if_ie.c:1.104 if_ndis.c:1.101
if_ic.c:1.24 if_ipw.c:1.10 if_iwi.c:1.10 if_ixgb.c:1.13 if_lge.c:1.41
if_lnc.c:1.113 if_my.c:1.31 if_nge.c:1.77 if_nve.c:1.10 if_owi.c:1.12
if_patm.c:1.9 if_patm_intr.c:1.6 if_patm_ioctl.c:1.10 if_patm_tx.c:1.10
pdq_ifsubr.c:1.28 if_plip.c:1.38 if_ral.c:1.12 if_ral_pci.c:1.2
if_ray.c:1.81 if_rayvar.h:1.22 if_re.c:1.49 if_sbni.c:1.21 if_sbsh.c:1.14
if_sn.c:1.48 dp83932.c:1.21 if_snc_pccard.c:1.9 if_sr.c:1.70 if_tx.c:1.91
if_txp.c:1.33 if_aue.c:1.92 if_axe.c:1.32 if_cdce.c:1.8 if_cue.c:1.59
if_kue.c:1.66 if_rue.c:1.23 if_udav.c:1.16 if_ural.c:1.12 if_vge.c:1.16
if_vx.c:1.58 if_wi.c:1.185 if_wi_pci.c:1.26 if_wl.c:1.68 if_xe.c:1.60
if_xe_pccard.c:1.30 if_el.c:1.68 i4b_ipr.c:1.35 i4b_isppp.c:1.31
kern_poll.c:1.20 bridge.c:1.94 bridgestp.c:1.4 if_arcsubr.c:1.27
if_atm.h:1.24 if_atmsubr.c:1.40 if_bridge.c:1.16 if_ef.c:1.35
if_ethersubr.c:1.196 if_faith.c:1.37 if_fddisubr.c:1.100 if_fwsubr.c:1.14
if_gif.c:1.54 if_gre.c:1.34 if_iso88025subr.c:1.70 if_loop.c:1.107
if_ppp.c:1.106 if_spppsubr.c:1.121 if_tap.c:1.57 if_tun.c:1.154
if_vlan.c:1.80 ppp_tty.c:1.67 ieee80211_ioctl.c:1.32 atm_if.c:1.31
ng_eiface.c:1.33 ng_ether.c:1.50 ng_fec.c:1.19 ng_iface.c:1.44
ng_sppp.c:1.9 ip_carp.c:1.30 ip_fastfwd.c:1.30 in6.c:1.53 nd6_nbr.c:1.31
natm.c:1.40 if_dc.c:1.162 if_de.c:1.168 if_pcn.c:1.72 if_rl.c:1.154
if_sf.c:1.84 if_sis.c:1.135 if_sk.c:1.108 if_ste.c:1.86 if_ti.c:1.109
if_tl.c:1.101 if_vr.c:1.106 if_wb.c:1.81 if_xl.c:1.194 from HEAD to
RELENG_6:
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
Approved by: re (scottl)
Notes:
svn path=/stable/6/; revision=149443
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
if_em.c:1.67 if_ex.c:1.57 if_fe.c:1.92 if_fxp.c:1.242 if_gem.c:1.32
if_hme.c:1.38 if_ie.c:1.103 if_ndis.c:1.100 if_ixgb.c:1.12 if_lge.c:1.40
if_lnc.c:1.112 if_my.c:1.30 if_nge.c:1.76 if_nve.c:1.9 if_owi.c:1.11
pdq_ifsubr.c:1.27 if_ray.c:1.80 if_re.c:1.47 if_sn.c:1.47 dp83932.c:1.20
if_tx.c:1.90 if_txp.c:1.32 if_aue.c:1.91 if_axe.c:1.31 if_cue.c:1.58
if_kue.c:1.65 if_rue.c:1.22 if_udav.c:1.15 if_vge.c:1.15 if_wi.c:1.182
if_wl.c:1.67 if_xe.c:1.58 if_dc.c:1.161 if_de.c:1.167 if_pcn.c:1.70
if_rl.c:1.153 if_sf.c:1.83 if_sis.c:1.134 if_sk.c:1.107 if_ste.c:1.85
if_ti.c:1.108 if_tl.c:1.100 if_vr.c:1.105 if_wb.c:1.80 if_xl.c:1.193
from HEAD to RELENG_6:
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>
Approved by: re (scottl)
Notes:
svn path=/stable/6/; revision=149422
|
| |
|
|
|
|
|
|
| |
Pointed out by: Xuefeng DENG <dengxf at dengh com>
Approved by: re (scottl)
Notes:
svn path=/head/; revision=147890
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Notes:
svn path=/head/; revision=146663
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Changed from using explicit devices id to using descriptive labels.
- Added support for 82573 and 82546 Quad adapters.
- Corrected support for 82547EI and 82541ER (mac_type was not assigned)
- Removed #ifdef DBG_STATS and extraneous code.
if_em_hw.c/if_em_hw.h
- Added support for 82573 and 82546 Quad adapters.
- Brought forward Intel's most current mac and phy changes.
Notes:
svn path=/head/; revision=146662
|
| |
|
|
|
|
|
|
|
|
| |
This makes gathering of error stats more precise, and netstat(1) output look
right.
Reviewed by: tackerman
Notes:
svn path=/head/; revision=144652
|
| |
|
|
| |
Notes:
svn path=/head/; revision=143161
|
| |
|
|
|
|
|
|
| |
PR: kern/76890
Reviewed by: rwatson, sam
Notes:
svn path=/head/; revision=141298
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the interface when going to toggle VLAN support for
internal reasons. If the IFCAP_VLAN_HWTAGGING bit is
cleared, we should rely on the (re)init routine to turn
VLAN support off and never touch the relevant hardware bits.
This applies to other capability bits, too. The user
obviously has a reason for clearing a capability bit,
e.g., if his particular NIC is buggy and hangs if a
certain hardware capability is turned on even for a
fraction of a second.
The flag adapter->em_insert_vlan_header still is set or
reset irrespective of the IFCAP_VLAN_HWTAGGING setting,
as before, in order to handle the case when a user sets
promiscuous mode on an interface first and later turns
its IFCAP_VLAN_HWTAGGING bit on.
This change might look orthogonal to rev#1.85, but in fact
it is not. It introduces bugfixes that hopefully will make
implementing the general scheme mentioned in the commit
message of rev#1.85 easier.
Notes:
svn path=/head/; revision=140859
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
configuration: it appears to work properly in the non-promiscuous case, but
we've not yet implemented a more general solution that maintains full
functionality with promiscuous mode enabled. While my hope is that we can
get one implemented soon, this will improve functionality substantially in
the mean time.
MFC after: 3 days
Notes:
svn path=/head/; revision=140857
|
| |
|
|
|
|
|
| |
was really just a waste of cycles, so this streamlines it considerably.
Notes:
svn path=/head/; revision=140318
|
| |
|
|
| |
Notes:
svn path=/head/; revision=139749
|
| |
|
|
|
|
|
|
|
| |
was causing device hangs when incorrectly applied to other adapters.
PR: kern/66634
Notes:
svn path=/head/; revision=139549
|
| |
|
|
|
|
|
| |
PR: None
Notes:
svn path=/head/; revision=139548
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Because em_encap() can now fail in a way that leaves us without an
mbuf chain, potentially set *m_headp to NULL if that happens, so that
the caller can do the right thing. This case can occur when we try
to prepend the vlan header mbuf but can't allocate additional memory.
- Modify the caller of em_encap() to detect a NULL m_head and not try
to queue the mbuf if that happens.
- When em_encap() fails, make sure to call bus_dmamap_destroy() to
clean up.
Notes:
svn path=/head/; revision=137700
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
promiscuous mode introduced in 1.45, which programs the em card not
to strip or prepend tags when in promiscuous mode without also
modifying behavior to manually prepend a vlan header in the event
that the card isn't doing it on transmit. Due to a feature of card
operation, if the global VLAN prepend/strip register isn't set,
setting the VLAN tag flag on individual packet descriptors will
cause the packet to be transmitted using ISL encapsulation rather
than 802.1Q VLAN encapsulation.
This fix causes em_encap() to prepend the header by tracking whether
the card is configured to temporarily disable prepending/stripping
due to promiscuous mode. As a result, entering promiscuous mode on
the parent em interface no longer causes vlans to appear to "wedge"
or transmit ISL-encapsulated frames, which typically will not be
configured/spoken by the other endpoints on the VLAN trunk. This
bug may also exist in other drivers, and the additional vlan
encapsulation logic should be abstracted and centralized in
if_vlan.c if so.
RELENG_5_3 candidate.
MFC after: 1 week
Tested by: pjd, rwatson
Reported by: astesin at ukrtelecom dot net
Reported by: Mike Tancsa <mike at sentex dot net>
Reported by: Iasen Kostov <tbyte at OTEL dot net>
Notes:
svn path=/head/; revision=137609
|
| |
|
|
|
|
|
| |
Pointy hat to: bms
Notes:
svn path=/head/; revision=137583
|
| |
|
|
| |
Notes:
svn path=/head/; revision=137576
|
| |
|
|
|
|
|
|
| |
Reviewed by: mux
Prodded by: rwatson
Notes:
svn path=/head/; revision=137575
|
| |
|
|
|
|
|
|
| |
that we need to tell people about every cable in the network anymore. It can
be enabled for debugging purposes with "boot -v".
Notes:
svn path=/head/; revision=137155
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
with a weak memory model or x86 + PAE (or more specifically, your
driver is using bounce pages) and you have had problems with em(4),
this may fix it. At least this is needed to have em(4) work properly
on FreeBSD/arm.
Original version by: cognet
Reviewed by: tackerman
Tested by: cognet
Notes:
svn path=/head/; revision=136718
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Since the e1000 DMA engines hava no constraints on the alignment of buffer
transfers, there is no reason to tell busdma that there is. This save a
minimum of 1 malloc call per packet, which translates to eliminating 4 locks.
It also means that buffers are not needlessly bounced when transfered. The
end result is a 38% improvement in pps in a 4 way bridging environment.
Obtained from: Sandvine, Inc.
Notes:
svn path=/head/; revision=136685
|
| |
|
|
|
|
|
|
|
| |
not really an error.
Submitted by: Gerrit Nagelhout
Notes:
svn path=/head/; revision=136300
|
| |
|
|
|
|
|
|
|
|
|
| |
This might fix some of the trouble around em(4) filling up its buffers.
Submitted by: mtm
Pointy hat to: mlaier
MFC after: 2 days
Notes:
svn path=/head/; revision=135937
|
| |
|
|
|
|
|
| |
reason, it results in corrupted descriptors.
Notes:
svn path=/head/; revision=135676
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed support for Intel 82541ER
Added fix for 82547 which corrects an issue with Jumbo frames larger than 10k.
Added fix for vlan tagged frames not being properly bridged.
Corrected TBI workaround.
Corrected incorrect LED operation issues
Submitted by: tackerman (Tony Ackerman)
MFC after: 2 weeks
Notes:
svn path=/head/; revision=134619
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
following drivers: bfe(4), em(4), fxp(4), lnc(4), tun(4), de(4) rl(4),
sis(4) and xl(4)
More patches are pending on: http://peoples.freebsd.org/~mlaier/ Please take
a look and tell me if "your" driver is missing, so I can fix this.
Tested-by: many
No-objection: -current, -net
Notes:
svn path=/head/; revision=131455
|
| |
|
|
|
|
|
|
|
|
| |
This includes not only toggling the flag in if_capenable, but also really
reconfiguring the hardware.
Approved by: tackerman (as the em(4) maintainer)
Notes:
svn path=/head/; revision=130079
|
| |
|
|
| |
Notes:
svn path=/head/; revision=129879
|