| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
ok dlg@ tobhe@
|
|
|
|
|
|
| |
"new" API.
ok dlg@ tobhe@
|
| |
|
|
|
|
|
|
|
| |
this means packets are consistently counted in one place, unlike the
many and various ways that drivers thought they should do it.
ok mpi@ deraadt@
|
| |
|
|
|
|
| |
definitions; ok mpi@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
there are two things shared between the network stack and drivers
in the send path: the send queue and the IFF_OACTIVE flag. the send
queue is now protected by a mutex. this diff makes the oactive
functionality mpsafe too.
IFF_OACTIVE is part of if_flags. there are two problems with that.
firstly, if_flags is a short and we dont have any MI atomic operations
to manipulate a short. secondly, while we could make the IFF_OACTIVE
operates mpsafe, all changes to other flags would have to be made
safe at the same time, otherwise a read-modify-write cycle on their
updates could clobber the oactive change.
instead, this moves the oactive mark into struct ifqueue and provides
an API for changing it. there's ifq_set_oactive, ifq_clr_oactive,
and ifq_is_oactive. these are modelled on ifsq_set_oactive,
ifsq_clr_oactive, and ifsq_is_oactive in dragonflybsd.
this diff includes changes to all the drivers manipulating IFF_OACTIVE
to now use the ifsq_{set,clr_is}_oactive API too.
ok kettenis@ mpi@ jmatthew@ deraadt@
|
|
|
|
|
|
|
|
|
|
|
|
| |
IF_PREPEND assumes the underlying send queue is priq, while hfsc may be
enabled on it.
the previous code pattern to DEQUEUE, try and encap the mbuf on the
ring, and if that failed cos there was no space it would PREPEND
it.
now it checks for space on the ring before it attempts to DEQUEUE.
failure to encap means the mbuf is now unconditionally dropped.
|
| |
|
|
|
|
|
|
|
| |
Note that pseudo-drivers not using if_input() are not affected by this
conversion.
ok mikeb@, kettenis@, claudio@, dlg@
|
|
|
|
|
|
|
|
|
|
|
|
| |
there's no need to do it in m_devget(9).
Stop passing an ``ifp'' will help for upcoming interface pointer -> index
conversion.
While here remove unused ``ifp'' argument from m_clget(9) and kill two
birds^W layer violations in one commit.
ok henning@
|
|
|
|
|
| |
fighting trolls and daemons with old wireless cards to be able
to find the correct hardware to test this diff.
|
|
|
|
|
|
|
| |
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.
ok tedu@ deraadt@
|
| |
|
|
|
|
|
|
|
|
|
| |
additional register was erroneously added in the MAC register set
such that 7 TX statistics counters were wrong.
From FreeBSD
ok mikeb@
|
| |
|
|
|
|
| |
to include that than rdnvar.h. ok deraadt dlg
|
| |
|
|
|
|
|
| |
drivers) activate functions at DVACT_RESUME time do not need to do
so, since their PHYs are repaired by IFF_UP.
|
|
|
|
|
|
|
|
| |
kernel resumes normal (non-cold, able to run processes, etc) operation.
Previously we were relying on specific DVACT_RESUME op's in drivers
creating callback/threads themselves, but that has become too common,
indicating the need for a built-in mechanism.
ok dlg kettenis, tested by a sufficient amount of people
|
|
|
|
|
|
|
|
|
| |
alternative to bcopy since noone uses it.
while there use memcpy instead of bcopy because we know the memory cannot
overlap.
ok henning@ matthew@ mikeb@ deraadt@
|
|
|
|
|
| |
don't have to. Just remove these include lines.
Compiled on amd64 i386 sparc64; OK henning@ mikeb@
|
|
|
|
|
|
| |
From FreeBSD
ok kevlo@
|
|
|
|
|
|
| |
necessarily correct, there might not even be a link when attaching.
ok mikeb@ reyk@
|
|
|
|
|
|
|
|
| |
only valid when the interface is up.
From FreeBSD
ok sthen@
|
| |
|
|
|
|
|
|
|
|
|
| |
the FreeBSD code.
age(4) tested by Thomas Pfaff; alc(4) tested by Gabriel Linder;
ale(4) tested by Johan Torin.
From Brad
|
|
|
|
|
|
| |
better. No functional change.
From Brad
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove unnecessary nsegs variable from ale_encap() and
use map->dm_nsegs. Also remove unnecessary FreeBSD check
for 0 DMA segments check.
- Remove printfs in ale_encap() failure paths that shouldn't
be there.
- Add missing IF_PREPEND() from failure path coming off of
ale_encap() within ale_start().
- Fix error handling within ale_encap(). Previously ale_encap()
was attempting to unload a DMA map upon failure from
bus_dmamap_load_mbuf() even though one wasn't loaded at that
point and then always forcing mbufs through the EFBIG path.
Tested by Johan Torin.
From Brad
|
|
|
|
|
|
|
|
|
| |
from a FastE ale(4) controller. Previously only link parters which
support down-shifting were able to establish a link.
Tested by roberth, Johan Torin and sthen@
From Brad
|
|
|
|
|
|
| |
Tested by roberth <robert at openbsd dot pap dot st> and Johan Torin.
From Brad
|
|
|
|
| |
ok claudio krw
|
|
|
|
|
|
|
|
| |
DVACT_SUSPEND, therefore DVACT_QUIECE can do standard sleeping operations
to get ready.
Discussed quite a while back with kettenis and jakemsr, oga suddenly needed
it as well and wrote half of it, so it was time to finish it.
proofread by miod.
|
|
|
|
| |
ok deraadt@ henning@ claudio@
|
|
|
|
| |
tested by krw
|
|
|
|
| |
ok kevlo@, krw@
|
| |
|
|
|
|
|
|
| |
when computing multicast hash.
From Brad via FreeBSD
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
with m_tag_copy_chain() failures.
Use m_defrag() to eliminate hand rolled defragging of mbufs and
some uses of M_DUP_PKTHDR().
Original diff from thib@, claudio@'s feedback integrated by me.
Tests kevlo@ claudio@, "reads ok" blambert@
ok thib@ claudio@, "m_defrag() bits ok" kettenis@
|
|
|
|
|
|
|
| |
The handling of the IFF_ALLMULTI flag is wrong and the bcmp based range
checking shouldn't be there.
From Brad
|
|
|
|
|
|
| |
From dragonflybsd
tested by krw@
|
|
|
|
|
|
| |
whether this is an L1E or L2E chipset.
From Brad
|
|
|
|
| |
From Brad
|
|
|
|
|
|
|
| |
between instances, saving space in the kernel. feedback from many (some
incorporated, some left for future work).
ok deraadt, kettenis, "why not" miod.
|
|
|
|
| |
ok deraadt@
|
|
|
|
| |
ok deraadt@
|
|
written by Pyun YongHyeon for FreeBSD, ported to DragonFlyBSD
by Sepherosa Ziehau and then ported to OpenBSD by me.
ok deraadt@
|