summaryrefslogtreecommitdiff
path: root/sys/netinet
AgeCommit message (Collapse)Author
2013-10-31Convert the route expire timestamp in kernel and routing messageAlexander Bluhm
to 64 bit. Increase the routing message version from 4 to 5. Add a small compatibility layer that allows to set routes with old user land and new kernel. Old kernel with new user land does not work. The compatibility layer ist not perfect, but it allows to configure addresses with old ifconfig and new kernel. Route get also works in this setup. dhclient hangs as messages for interface address changes with old version are not generated. OK claudio@
2013-10-28tedu FDDI support and the 3 flavors the driver for DEC devices, evenMartin Pieuchot
miod@ cannot find two boards using the same media. With precious punctuation review from guenther@, thanks! ok deraadt@, henning@
2013-10-27delete UPCALL_TIMING debug code from a the dark agesTheo de Raadt
2013-10-25Don't let in_proto_cksum_out() assume that the ICMP checksum field isLawrence Teo
always in the first mbuf of an mbuf chain. Thanks to henning@ and bluhm@ for their work on checksums at b2k13, which allowed this fix to be very straightforward compared to earlier versions. help/feedback bluhm@ henning@ OK henning@ naddy@
2013-10-24ippseudo is kernel-only; checked in ports by sthenTheo de Raadt
2013-10-24Remove the number of in6_var.h inclusions by moving some functions andMartin Pieuchot
global variables to in6.h. ok deraadt@
2013-10-24Significant namespace cleanup of netinet6 symbols.Theo de Raadt
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
2013-10-24Move obvious kernel prototypes (and structure's with kernel pointers,Theo de Raadt
obviously only used in the kernel) behind #ifdef _KERNEL This is a more substantial change than the others commited minutes ago, so it is seperate. More structs get hidden. ok various
2013-10-23Back when some NRL code was merged into KAME to create the *BSD IPV6Theo de Raadt
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
2013-10-23remove historical #if 1Theo de Raadt
2013-10-23remove the ipprintfs debug stuff; if you are debugging at this level,Theo de Raadt
you probably write your own chunks as need be. ok mpi claudio
2013-10-23Remove the number of in_var.h inclusions by moving some functions andMartin Pieuchot
global variables to in.h. ok mikeb@, deraadt@
2013-10-23No need to expose twice in_socktrim(), it is only used in one file.Martin Pieuchot
2013-10-21Remove some historical comments.Theo de Raadt
2013-10-21There are gasps of shock! Add a pmtu delay sysctl BUTTON for netinet6,Theo de Raadt
making the code the same as netinet4 along the way. ok bluhm phessler
2013-10-21Sprinkle a lot more IPv6 routing domains support in the kernel.Peter Hessler
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@
2013-10-20Make the IPv4 and IPv6 code look similar to allow easy comparison.Alexander Bluhm
While there fix some white space errors. No functional change. OK claudio@ phessler@
2013-10-20no need to make the icmp cksum "offloading" case special insofar that theHenning Brauer
cksum needs to be 0'd before, pf does that now (just like in the tcp/udp case) and nothing else uses the icmp "offloading" yet. with & ok bluhm
2013-10-20Put a large chunk of the IPv6 rdomain support in-tree.Peter Hessler
Still some important missing pieces, and this is not yet enabled. OK bluhm@
2013-10-19Now carp_set_addr() and carp_set_addr6() break out of the loop afterAlexander Bluhm
they have found the interface address, so we can get rid of the additional variable ia_if. No functional change. OK mpi@ phessler@
2013-10-19remove confusing comments referencing the vaxTheo de Raadt
2013-10-19make in_proto_cksum_out not rely on the pseudo header checksum to beHenning Brauer
already there, just compute it - it's dirt cheap. since that happens very late in ip_output, the rest of the stack doesn't have to care about checksums at all any more, if something needs to be checksummed, just set the flag on the pkthdr mbuf to indicate so. stop pre-computing the pseudo header checksum and incrementally updating it in the tcp and udp stacks. ok lteo florian
2013-10-19In carp_set_addr6() break out of the loop after the interface addressAlexander Bluhm
has been found. This makes the IPv6 code work like IPv4. OK mpi@
2013-10-18In in_pcblookup() convert a hand crafted loop into a LIST_FOREACHAlexander Bluhm
macro. No binary change. OK mpi@
2013-10-18Abstract the fact that IPv4 muticast records are linked to theMartin Pieuchot
interface descriptor throught the first configured address in the global list, this will help reducing the size of future diffs. No object change. ok sthen@
2013-10-17The header file netinet/in_var.h included netinet6/in6_var.h. ThisAlexander Bluhm
created a bunch of useless dependencies. Remove this implicit inclusion and do an explicit #include <netinet6/in6_var.h> when it is needed. OK mpi@ henning@
2013-10-14By passing invalid values in the routing message, root could crashAlexander Bluhm
the kernel from user land. Add a null pointer check as quick fix. OK blambert@ claudio@
2013-10-14Change the macros used to iterate over the multicast records of anMartin Pieuchot
interface to not depend on the global list of addresses. For IPv4 the IP_TO_IA() macro still depends on the global list of addresses because we want to be sure to grab the first configured address of an interface, where the records are linked. Tested by sthen@, ok henning@
2013-10-13Import vxlan(4), the virtual extensible local area network tunnelReyk Floeter
interface. VXLAN is a UDP-based tunnelling protocol for overlaying virtualized layer 2 networks over layer 3 networks. The implementation is based on draft-mahalingam-dutt-dcops-vxlan-04 and has been tested with other implementations in the wild. put it in deraadt@
2013-10-09Introduce in_ifdetach() a function to remove all the IPv4 addressesMartin Pieuchot
of an interface, named after its IPv6 equivalent. Make use of it instead of removing addresses by hand when detaching or destroying an interface. As a bonus, multicast records linked to the just divorced^Wdetached interface are no longer leaked. No objection from the gang, ok mikeb@
2013-09-26Move the logic for deleting an IPv4 address to its own function.Martin Pieuchot
No functional change. ok henning@, mikeb@
2013-09-06In one core dump the pointers to socket, inpcb, tcpcb on the stackAlexander Bluhm
of tcp_input() and tcp_output() were very inconsistent. Especially the so->so_pcb is NULL which can only happen after the inp has been detached. The whole issue looks similar to the old panic: pool_do_get(inpcbpl): free list modified. http://marc.info/?l=openbsd-bugs&m=132630237316970&w=2 To get more information, add some asserts that guarantee the consistency of the socket, inpcb, tcpcb linking. They should trigger when an inp is taken from the pcb hashes after it has been freed. OK henning@
2013-09-06Make use of IFP_TO_IA() instead of rolling our own copy.Martin Pieuchot
ok bluhm@, henning@
2013-09-03Use satosin() rather than the local SIN macro, no functional change.Martin Pieuchot
ok mikeb@
2013-08-29Iterate over the interface's address list instead of the global list.Martin Pieuchot
ok bluhm@, mikeb@
2013-08-28Replace hand-crafted for loop over in_ifaddr with FOREACH macro.Alexander Bluhm
OK mpi@
2013-08-28If have an interface pointer, look for an address on its list ratherMartin Pieuchot
than iterating on the global list. ok bluhm@
2013-08-28Remove unused argument from *rtrequest()Martin Pieuchot
ok krw@, mikeb@
2013-08-21Stop using static variables in ICMP. While this is perfectly ok forMartin Pieuchot
the moment because there might be at most one caller at a time, it wont be so as soon as this part of the network stack is run in parallel. While here also reduce the difference with the icmp6 code adding a redirect route. ok mikeb@
2013-08-21When checking for classful broadcast addresses, iterate over the listMartin Pieuchot
from the interface on which the packet was received on instead of filtering the global list. ok bluhm@, henning@
2013-08-20tedu netnatm and ueagle(4).Martin Pieuchot
ok mikeb@, sthen@, tedu@ (implied), doc bits ok jmc@
2013-08-19In case something bad happened when configuring an IPv4 address, makeMartin Pieuchot
sure we add its descriptor back to the tree and interface list to keep the various global structures consistent. ok mikeb@, bluhm@
2013-08-13When net.inet.ip.sourceroute is enable, store the source routeMartin Pieuchot
of incoming IPv4 packets with the SSRR or LSRR header option in a m_tag rather than in a single static entry. Use a new m_tag type, PACKET_TAG_SRCROUTE, for this and bump PACKET_TAG_MAXSIZE accordingly. Adapted from FreeBSD r135274 with inputs from bluhm@. ok bluhm@, mikeb@
2013-08-12Add the TCP socket option TCP_NOPUSH to delay sending the stream.Alexander Bluhm
This is useful to aggregate data in the kernel from multiple sources like writes and socket splicing. It avoids sending small packets. From FreeBSD via David Hill; OK mikeb@ henning@
2013-08-12In the common IPv4 and IPv6 file ip_carp.c an #ifdef INET6 wasAlexander Bluhm
missing. Especially the IN6_IS_ADDR_LINKLOCAL() macro should not be necessary in IPv4 only code. No binary change. OK henning@ claudio@
2013-08-09Constify the default null sockaddr_dl, no functional change.Martin Pieuchot
ok mikeb@
2013-08-08Constify the table of common MTUs and use nitems(), no functional change.Martin Pieuchot
2013-08-08Change MTU discovery functions to not abuse the global icmpsrc variableMartin Pieuchot
to pass the destination address of the route to clone. ok markus@, mikeb@
2013-08-08Insert new IPv4 addresses in only one place, no functional change.Martin Pieuchot
ok mikeb@, henning@
2013-08-08Make use of IFP_TO_IA() instead of rolling our own copy, no functionalMartin Pieuchot
change. ok mikeb@, henning@