summaryrefslogtreecommitdiffstats
path: root/sys/netinet/udp_usrreq.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* switch IPv6 advanced API from RFC2292 to RFC3542 (2292 is superseded by 3542).itojun2006-12-091-7/+6
| | | | | | | | | | the kernel still handles RFC2292 set/getsockopts, so that compiled binary has no trouble running. userland sees RFC3542 symbols only on header file so new code has to use RFC3542 API. bump libc shlib minor for function additions. tested on i386/amd64 by jmc, i386 by brad. checked by deraadt.
* The current implementation to handle control options is broken as soon asclaudio2006-11-271-21/+24
| | | | | | SO_REUSEADDR and multicast/broadcast comes into play. Model the ip_savecontrol handling after the rip_input version which works. Problem found by Simon Kelley. OK henning@ michele@
* Call ip_savecontrol() in the multicast codepath of udp_input() similar toclaudio2006-07-171-1/+7
| | | | | | the INET6 code. With this it is possible to use e.g. IP_RECVIF to get the incomming interface. SOCK_RAW is not affected by this. Problem found and fixed by Michele 'mydecay' Marchetto. OK markus@
* Make number of varargs passed to ip_output match reality.pascoe2006-06-151-2/+2
| | | | henning@ claudio@ ok
* Make savecontrol functions more generic and use them now for raw IP too.claudio2006-05-291-53/+4
| | | | | Additionally add the IP_RECVIF option which returns the interface a packet was received on. OK markus@ norby@
* - pcbflags is not modified in pcb_(dis)connect, so there's nomarkus2006-05-161-11/+3
| | | | | | | | need to save/restore it. - inp->inp_laddr should be set _before_ calling pcb_disconnect(). otherwise pcb_disconnect() calls pcb_rehash() with the old laddr. [ currently this is not a problem since the hash ignores laddr ] tested by pedro
* Path MTU discovery for NAT-T.mpf2006-01-131-2/+11
| | | | OK markus@, "looks good" hshoexer@
* make pf use one mbuf tag instead of 6 distinct ones. use a little structhenning2005-10-171-5/+11
| | | | | | | | | in the data part for the data from the previously distinct tags. look up the tag early and carry a pointer to it around. makes the code easier and saves some tag lookups and thus helps performance, as proven by tests run by Schberle Dniel <Schoeberle.Daniel@aamtech.hu> Initially hacked up somewhere over the atlantic ocean in an A330 early testing reyk and moritz, "put it in" theo
* Experimental support for opportunitic use of jumbograms where only some hostsmcbride2005-05-271-2/+3
| | | | | | | | | | | | | | on the local network support them. This adds a new socket option, SO_JUMBO, and a new route flag, RTF_JUMBO. If _both_ the socket option is set and the route for the host has RTF_JUMBO set, ip_output will fragment the packet to the largest possible size for the link, ignoring the card's MTU. The semantics of this feature will be evolving rapidly; talk to us if you intend to use it. ok deraadt@ marius@
* csum -> csum_flagsbrad2005-04-251-5/+5
| | | | ok krw@ canacar@
* replace in_pcbnotify with in_pcbhashlookup and avoid looping overmarkus2004-08-101-3/+10
| | | | all connections; ok dhartmei, canacar, mcbride
* spellingmcbride2004-06-141-2/+2
|
* with IPv6, udp checksum is mandatory. henning okitojun2004-04-141-1/+6
|
* fix udp checksum verification if ip options are present;markus2004-03-211-7/+3
| | | | report from Pyun via dhartmei@; ok mcbride@, dhartmei@
* switch to sysctl_int_arr(); ok henning, deraadtmarkus2004-02-171-11/+10
|
* in_pcbnotify() now returns number of matches.markus2004-01-071-2/+2
|
* use CIRCLEQ* for pcb's; ok deraadt, henning, mcbride, with help from canacarmarkus2003-12-211-4/+2
|
* de-register. deraadt okitojun2003-12-101-13/+13
|
* Mbuf tag tcp and udp packets which are translated to localhost, andmcbride2003-12-081-4/+6
| | | | | | | | | | | | | use the the presence of this tag to reverse the match order in in{6}_pcblookup_listen(). Some daemons (such as portmap) do a double bind, binding to both * and localhost in order to differentiate local from non-local connections, and potentially granting more privilege to local ones. This change ensures that redirected connections to localhost do not appear local to such a daemon. Bulk of changes from dhartmei@, some changes markus@ ok dhartmei@ deraadt@
* UDP encapsulation for ESP in transport mode (draft-ietf-ipsec-udp-encaps-XX.txt)markus2003-12-021-1/+42
| | | | ok deraadt@
* add in(6)_pcblookup_listen() and replace all calls to in_pcblookup()markus2003-11-041-16/+8
| | | | | | with either in(6)_pcbhashlookup() or in(6)_pcblookup_listen(); in_pcblookup is now only used by bind(2); speeds up pcb lookup for listening sockets; from Claudio Jeker
* do not flip ip_len/ip_off in netinet stack. deraadt ok.itojun2003-07-091-2/+2
| | | | (please test, especially PF portion)
* Remove the advertising clause in the UCB license which Berkeleymillert2003-06-021-6/+2
| | | | rescinded 22 July 1999. Proofed by myself and Theo.
* missing #ifdef INET6. fries found ititojun2003-05-301-3/+7
|
* use m_pulldown instead of m_pullup2. enable support for IPv6 jumbogram.itojun2003-05-291-39/+23
| | | | markus & art ok
* Nuke a whole bunch of commons; ok tedu (still more to come *sigh*)jason2003-05-121-1/+3
|
* Fix a problem where passing NULL as a pointer with varargs does not promotepefo2002-08-281-2/+2
| | | | | | | | NULL to full 64 bits on a 64 bit address system. Soultion is to add a (void *) cast before NULL. This makes a 64 bit MIPS kernel work and will probably help future 64 bit ports as well. OK from art@
* be consistent with other KAME source, use "ip6" for ip6_hdr, not "ipv6".itojun2002-08-191-32/+32
|
* undo recent changes; they still crash for people (dhclient this time).deraadt2002-06-281-94/+67
| | | | This is a bullshit process. Test your shit before you toss it into the tree.
* Check for associated socket.angelos2002-06-261-2/+2
|
* A bit more paranoid.angelos2002-06-261-10/+15
|
* Ifdef the function proto as well.angelos2002-06-251-1/+4
|
* Make udp_input() a bit more readable by farming out the IPsec inputangelos2002-06-251-67/+86
| | | | | policy checking to a separate routine. Also, add missing checks for multicast sockets, pointed out by sam@errno.com
* minor indent cleanup while reading codederaadt2002-06-201-30/+27
|
* whitespaceitojun2002-06-091-10/+10
|
* Socket-specific IPsec policy.angelos2002-05-311-7/+15
|
* Kill #if __STDC__ used to do K&R vs. ANSI varargs/stdarg; just do thingsmillert2002-03-151-13/+1
| | | | the ANSI way.
* First round of __P removal in sysmillert2002-03-141-6/+6
|
* Defer output checksumming until ip_output() or hardware.angelos2001-06-251-24/+9
|
* Use in_cksum_phdr() rather than in_cksum() -- from NetBSDangelos2001-06-251-3/+4
|
* Remove printfs, fix comment typos.angelos2001-06-241-13/+5
|
* Save tdb_remote_auth on the PCB on latching; also save information onangelos2001-06-241-3/+30
| | | | UDP PCB's if the socket is connected.
* Clear the checksum flags after verification. Also, don't countangelos2001-06-231-7/+8
| | | | checksum errors as hardware checksum packets as well.
* Remove unneeded ip_id convertions.fgsch2001-06-231-2/+1
| | | | | | Instead of using HTONS macro in some places, use htons directly in the struct member and save us a few bytes. Fix comment.
* Likewise, only use outgoing TCP/UDP hardware checksumming if theangelos2001-06-231-2/+3
| | | | interface is not in bridge mode.
* Keep stats on TCP/UDP hardware checksumming.angelos2001-06-231-5/+14
|
* TCP/UDP hardware checksumming. Untested, since txp dies when it triesangelos2001-06-231-1/+14
| | | | to compute the checksums. Still, it shouldn't affect anything.
* Initialize only if no hardware checksumming.angelos2001-06-231-5/+5
|
* TCP, UDP, IPv4 input hardware checksumming processing; also IPv4angelos2001-06-231-5/+10
| | | | | | | | | output hardware checksumming. Not tested yet, but should be done tonight. Remain to be solved: interactions with bridge, TCP/UDP output checksumming, interactions of TCP/UDP checksumming with routing changes.
* mop up after angelosderaadt2001-06-191-1/+2
|