Age | Commit message (Collapse) | Author |
|
ok millert@, visa@
|
|
ok visa@
|
|
these packets have generally already been counted on the interface
because that's where they were sent or received from. the protocol
handling side of things already counts things like packets, which
you see with netstat -sp carp.
|
|
this is modelled on vlan_transmit, and basically enqueues the packet
directly on the parent interface.
even though carp is generally not used to transmit packets, we run
dhcp relays on it at work and hit a situation where we unecessarily
dropped packets because it's ifq maxlen was 1. i've been running
this for a month in production.
ok jmatthew@
|
|
driver here.
remi@ observed a small but noticeable improvement in packet forwarding
performance, and I saw a significant increase in TCP receive throughput,
especially with high MTU.
ok dlg@
|
|
Looks good to miod@
|
|
Looks good to miod@
|
|
Tested on IP30 with DS1687.
Looks good to miod@
|
|
OK millert@
|
|
The architecture has been using the MI mutex for a while.
OK mpi@
|
|
if we use the ifq to move packet processing to another context,
it's too easy to fill up the one slot and cause packet loss.
the ifq len was set to 1 to avoid delays produced by the original
implementation of tx mitigation. however, trunk now introduces
latency because it isn't mpsafe yet, which causes the network stack
to have to take the kernel lock for each packet, and the kernel
lock can be quite contended. i want to use the ifq to move the
packet to the systq thread (which already has the kernel lock)
before trunk is asked to transmit it.
tested by mark patruck and myself.
|
|
mark patruck found significant packet drops with trunk(4), and there's
some reports that pppx or pipex relies on some implicit locking
that it shouldn't.
i can fix those without this diff being in the tree.
|
|
Armada 3700. This makes my second ethernet controller/port
work on the Turris Mox.
ok kettenis@
|
|
naptime is now a member of the timehands, th_naptime.
|
|
|
|
When we resume from a suspend we use the time from the RTC to advance
the system offset. This changes the UTC to match what the RTC has given
us while increasing the system uptime to account for the time we were
suspended.
Currently we decide whether to change to the RTC time in tc_setclock()
by comparing the new offset with the th_offset member. This is wrong.
th_offset is the *minimum* possible value for the offset, not the "real
offset". We need to perform the comparison within tc_windup() after
updating th_offset, otherwise we might rewind said offset.
Because we're now doing the comparison within tc_windup() we ought to
move naptime into the timehands. This means we now need a way to safely
read the naptime to compute the value of CLOCK_UPTIME for userspace.
Enter nanoruntime(9); it increases monotonically from boot but does not
jump forward after a resume like nanouptime(9).
|
|
Locking `event_lock' in filt_drmread() is currently commented out as it
requires some refactoring to use proper 'struct drm_minor' like upstream.
That said, it is fine as long as all the code is run under KERNEL_LOCK().
ok visa@
|
|
From Sergey Ryazanov.
Reviewed by Vitaliy Makkoveev, ok claudio@
|
|
this reuses the tx mitigation machinery, but instead of deferring
some start calls to the nettq, it defers all calls to the systq.
this is to avoid taking the KERNEL_LOCK while processing packets
in the stack.
i've been running this in production for 6 or so months, and the
start of a release is a good time to get more people trying it too.
ok jmatthew@
|
|
Association to some access points breaks without the ESS capability bit.
Apparently I misunderstood something.
Reported by krw@ and tb@
|
|
|
|
Prevents crashes on broken AML.
ok jcs@
|
|
of returning -1. With a return type of u_int16_t, -1 is not different
to a valid checksum. For incoming packets, the header lengths don't
exceed that size anyway, but for outgoing packets it's better to see
if our bootloader crafts a broken one.
Discussed with gerhard@
ok deraadt@ procter@
|
|
The ESS capability bit should be set if the transmitter is an AP.
Association requests are sent by clients.
ok jca@
|
|
|
|
Assert that the KERNEL_LOCK() has to be held before grabbing `audio_lock'
to prevent lock ordering issues inside selwakeup().
ok visa@, ratchov@
|
|
This reduces CPU load during traffic bursts.
Based on an older diff we had in CVS history, updated to work with
newer firmware versions we use today.
Tested on the following devices, with great support from several people:
3160 (stsp)
3168 (stsp)
7260 (jmatthew, tobhe)
7265 (stsp, procter, gonzalo)
8265 (benno, tb)
8260 (stsp, Liberto on bsd.network)
9260 (stsp, Jesper Wallin)
9560 (stsp)
Not tested: 3165; these run the same firmware as 7265 so will likely be fine.
I couldn't find a 3165 device in my pile.
ok jmatthew@ (who also found a small bug in my diff)
|
|
|
|
with odd packet lengths, which can happen when using TFTP to load
a file with an odd length. ospfd actually took dvmrpd's version
in 2006 to fix the same issue, and both daemons implementations are
the same. For the bootloader we keep the consts from the previous
version and replace the fatal with a print and return.
ok deraadt@
|
|
ok deraadt@
|
|
But it was a constant, that is really silly. Pass back the first
word from the middle layer.
ok visa
|
|
on U-Boot anymore, since we checked if the method is provided, but
now U-Boot provides a simple stub that only returns EFI_UNSUPPORTED.
A proper UEFI would throw EFI_INVALID_PARAMETER if we pass NULL
as first parameter, but U-Boot doesn't. This way we can see if
the method is actually provided and not just a stub.
ok kettenis@
|
|
|
|
|
|
|
|
Amlogic SoCs.
|
|
|
|
ok kettenis@
|
|
|
|
clock on the G12A variant.
|
|
|
|
ok jsg@
|
|
ok visa@
|
|
|
|
it anymore.
jsg@
|
|
Avoids an unusable screen when switching to a VT with a custom VGA font
from X. While it is possible to modify the xserver to invoke an ioctl
for this kettenis@ points out the xserver may have crashed so doing it
in the kernel is preferred.
Problem reported by and patch from John Carmack. Changed slightly to
do the vga_restore_fonts() (write to video memory) call before
vga_setfont() (pointing the character generator at it) at the suggestion
of kettenis@.
ok kettenis@
|
|
This shrinks the ramdisks a tiny bit.
|
|
|
|
of todr_handle.
OK kettenis@
|
|
to hold a pointer to our struct cpu_info.
|