implement "checksum offload" between rport pairs.
this allows the kernel to skip ip/tcp/udp checksum calculation for
packets between rdomains.
rport interfaces advertise checksum offload capabilities to the
stack, so the stack will set CSUM_OUT mbuf flags rather than do the
checksum calculation for packets being transmitted on an port
interface. when these packets are sent back into the stack by the
partner rport interface, the CSUM_OUT flags get mapped to equivalent
CSUM_IN_OK flags. this is modelled on how lo(4) does the same thing.
When we move to more partitions, MAKEDEV will need sysctl kern.maxpartitions.
The ramdisk sysctl is a minimal version which only knows certain variables,
so add this one into the list.
test framework: allow overriding the "/tmp/" directory
Windows is super picky when it comes to paths, so it needs some special
massaging. Will let us avoid a patch or hack in portable.
propagate errors from bnxt_up() back to userspace
Reveals errors that can occur during 'ifconfig bnxt0 down up', such as:
ifconfig: bnxt0: SIOCSIFFLAGS: Cannot allocate memory
help & ok jmatthew@ sf@ jan@
don't reuse c->isatty for signalling that the remote channel
has a tty attached as this causes side effects, e.g. in
channel_handle_rfd(). bz3872
ok markus@
unbreak vport to vport communication on the same veb.
veb is now set up to support port interfaces that can do checksum
offloading on behalf of the network stack (or virtual machines via
tun_hdr offloads). to allow packets leaving the kernel ip stack via
a vport interface to use hardware offloading, vport interfaces
advertise ip/tcp/udp offloads. veb then fixes up the packet if
the outgoing port doesn't support the necessary offload.
however, veb and vport can be used to support communication between
rdomains. this means packets can leave the stack via a vport interface
in one rdomain, and then enter the stack again on another vport.
in this situation the packets (re)entering the stack don't have
checksums calculated because vport advertises csum offloads, so the
packets get dropped.
this has vport map the CSUM_OUT flags to CSUM_IN flags before pushing
the packets into the stack again, despite the checksums not being
calculated. this is modelled on the behaviour of lo(4) and tun(4)/
[4 lines not shown]
Lower bound for how long to prefer IPv6 at least.
RFC 8925 suggests 5 minutes, so that's what we are going with.
kn noticed that if the IPv6-Only preferred option is send from the
server with a value of 0, dhcpleased(8) would still request a lease
while apple devices would not.
There were two problems with that:
1. A value of 0 would be treated as turning the feature of, which is
not correct.
2. The value would be used for a timeout, so a very small value would
create a timeout that would constantly fire.
OK kn
rpki-client: improve error message for duplicate TALs
Using several TALs with the same SPKI doesn't really make sense and no
longer works due to the way the CCR is constructed. Since the current
error is very confusing, hint more clearly at the problem.
Prompted by a report by Gregory Edigarov on misc.
ok job
In pseudo-assembly statements, %L implies a trailing %., so constructs using
%L%. are wrong.
The fact that this never caused any assembler complaints hints that the two
occurrences of this wrong construct are never hit - and in fact, commenting
them out entirely does not appear to change anything in generated code.
Let cmmu_apr_cmode() also provide the value of CACHE_GLOBAL if needed, rather
than have pmap use an incorrect heuristic to decide whether it can be cleared.
If write() returned short, the subsequent write would restart from the
beginning of the buffer not the end of what was written. Fix, since
we want modpipe to corrupt data for testing purposes deliberately not
accidentally. ok djm@