Age | Commit message (Collapse) | Author |
|
a good idea. Instead hand the work off expiring interface addresses off
to a taskq. Fixes the "p->p_wchan == NULL" panics seen with usb ethernet
adapters.
tested by matthieu@
ok mpi@, stsp@
|
|
ok bluhm@, mikeb@
|
|
ok mikeb@, bluhm@
|
|
ok bluhm@
|
|
above the reroute label that pf uses after it does dest addr rewriting
on outgoing packets. previously rerouting caused an extra copy to
be allocated, which caused the first copy to be leaked.
this has been bugging me for over half a year probably. after i got
some rudimental mbuf tracing in place it took me and alex wilson
most of a work day to audit the stack.
ok claudio@ on an earlier diff
ok mpi@, who made my first diff better and was gracious enough to
let me commit his because of the pain id been through finding this
leak.
ok pelikan@
|
|
is needed and the lower parts of the stack will take care of it.
ok henning@, lteo@
|
|
are are lie, since the software engine emulates hardware offloading
and that is later indistinguishable. so kill the hw cksummed counters.
introduce software checksummed packet counters instead.
tcp/udp handles ip & ipvshit, ip cksum covered, 6 has no ip layer cksum.
as before we still have a miscounting bug for inbound with pf on, to be
fixed in the next step.
found by, prodding & ok naddy
|
|
new function, rt_sendmsg(). While here, in the v6 cases, pass the same
rtableid that was used for the request instead of dereferencing a pointer
after checking for it to be NULL.
ok krw@ on a previous version, ok bluhm@
|
|
into consistent locations; ok henning@
|
|
Always calculate the pseudo-header checksum.
Complete the checksum if hardware offload is not available.
Parts originally from NetBSD; ok henning@
|
|
request, so kill it along with the associated global variable.
ok claudio@
|
|
(unplugged). Even if it makes no sense to keep them around if the
interface is no more, we cannot safely remove them since pcb multicast
options might keep a pointer to them.
Fixes a user after free introduced by the multicast address linking
rewrite and reported by Alexey Suslikov, thanks!
ok claudio@
|
|
ok stsp@
|
|
consistent with struct ifaddr "ifa" and struct in_ifaddr "ia".
OK mpi@
|
|
sprinkle 0 -> NULL where obvious
ok millert mpi
|
|
|
|
OK mikeb@
|
|
the ifp pointer which can be NULL. This prevents a crash reported
by David Hill <dhill at mindcry ! org>. OK bluhm
|
|
Really change the link-local address in the unlikely event of an IFID
collision, instead of going into an infinite conf-nak loop with the peer.
To make the netinet6 code use the IPv6CP IFID in a new link-local address,
in6_ifattach_linklocal() must accept a provided IFID. Replace the unused
'altifp' parameter with a new 'ifid' parameter for this purpose.
Always use the latest suggested address in IPv6CP replies, even if
the task to update the interface's address hasn't run yet.
Also, clear the ifindex (KAME hack) in addresses sent during IPv6CP.
ok mpi
|
|
The route used to linger after an interface detached from IPv6.
ok mikeb
|
|
in the base. Ports fixes to follow shortly for the two ports (gkrellm
and net-snmp) affected.
ok zhuk@ millert@
|
|
Instead of linking multicast records to the first configured address of
the corresponding protocol, making this address and its position in the
global list special, add them to a new list directly linked to the
interface descriptor.
This new multicast address list is similar to the address list, all its
elements contain a protocol agnostic part. This design allows us to
be able to join a multicast group without necessarily having a configured
address. That means IPv6 multicast kludges are no longer needed.
Another benefit is to be able to add and remove an IP address from an
interface without worrying about multicast records. That means that the
global IPv4 list is no longer needed since the first configured address
of an interface is no longer special.
This new list might also be extended in the future to contain the
link-layer addresses used to configure hardware filters.
Tested by sthen@ and weerd@, ok mikeb@
|
|
ok henning@, mikeb@
|
|
ok mikeb@, henning@, deraadt@, brad@, miod@
|
|
divert6_packet() from "pd" to "divert" to match the rest of the source.
I think "pd" was not a good name for a struct pf_divert because "pd"
usually refers to a pf_pdesc.
No object file change.
OK benno@ bluhm@ henning@
|
|
stack should still scan for IPv6 type 0 routing headers. There are
OpenBSD routers running without pf and there are plenty of legacy
implementations supporting RH0.
Bring back the function ip6_check_rh0hdr() that I removed a month
ago. As an improvement to the prevoius solution, only scan the
header chain in ip6_input() if the packet has not been inspected
by pf. Both implementations drop packets with RH0 anywhere in the
extension header chain.
OK mikeb@ henning@
|
|
"clean that little thingy up" deraadt@
|
|
is marked as NODAD.
Since we're not gonna do duplicate address detection for this address,
the TENTATIVE flag won't get cleared, rendering the address unusable.
The existing logic only checked whether DAD was enabled for the interface,
but DAD can be configured on a per-address basis.
ok sthen@ as part of a larger diff
|
|
network to presentation format to inet_ntop().
The few remaining functions will be soon converted.
ok mikeb@, deraadt@ and moral support from henning@
|
|
clone of fd_set for interfaces
tested in ports tree build by naddy
|
|
ports tree grep run by sthen
|
|
miod@ cannot find two boards using the same media.
With precious punctuation review from guenther@, thanks!
ok deraadt@, henning@
|
|
|
|
includes this.
|
|
(basically, if they are easier to compare visually for namespace
issues, they they are easier to compare .... period!)
|
|
|
|
global variables to in6.h.
ok deraadt@
|
|
One worrying bit is in icmp6.h where some htols() and htonl() are
added, which may affect compatibility down the line. This component
can be reverted if issues show up. Ports tree greps indicate no issue.
ok claudio mpi etc
|
|
stack (factoid: by a bunch of people in my living room), some compatibility
#define's were created to shim incompatible inpcb access methods. There
was an understanding they would eventually be removed. Since they are
error prone, and 1999 is a long time ago, now they die.
ok mikeb claudio mpi
|
|
the UDP stack. ok henning@
|
|
|
|
|
|
|
|
|
|
making the code the same as netinet4 along the way.
ok bluhm phessler
|
|
|
|
|
|
|
|
Started by claudio@ for IPv4, lots of heavy work by sperreault@
My part started at s2k11, continued at n2k12, g2k12, c2k12 and n2k13.
Lots of help and hints from claudio and bluhm
OK claudio@, bluhm@
|
|
Mostly mechanical, setting and passing the rdomain and rtable correctly.
Not yet enabled.
Lots of help and hints from claudio and bluhm
OK claudio@, bluhm@
|