freebsd-skq/sys/netinet
Gleb Smirnoff 8f134647ca Switch the entire IPv4 stack to keep the IP packet header
in network byte order. Any host byte order processing is
done in local variables and host byte order values are
never[1] written to a packet.

  After this change a packet processed by the stack isn't
modified at all[2] except for TTL.

  After this change a network stack hacker doesn't need to
scratch his head trying to figure out what is the byte order
at the given place in the stack.

[1] One exception still remains. The raw sockets convert host
byte order before pass a packet to an application. Probably
this would remain for ages for compatibility.

[2] The ip_input() still subtructs header len from ip->ip_len,
but this is planned to be fixed soon.

Reviewed by:	luigi, Maxim Dounin <mdounin mdounin.ru>
Tested by:	ray, Olivier Cochard-Labbe <olivier cochard.me>
2012-10-22 21:09:03 +00:00
..
cc Staticize malloc types. 2011-04-13 11:28:46 +00:00
khelp The TCP PAWS fix for kernels with fast tick rates (r231767) changed the TCP 2012-08-17 01:49:51 +00:00
libalias Avoid potential bad pointer dereference. 2012-10-17 20:23:07 +00:00
accf_data.c
accf_dns.c
accf_http.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
cc.h Use the full and proper company name for Swinburne University of Technology 2011-04-12 08:13:18 +00:00
icmp6.h Correct typo in the RFC number for the constants based on IANA assignments 2012-03-04 18:47:20 +00:00
icmp_var.h Add rate limitation for SCTP OOTB responses. 2012-06-18 17:11:24 +00:00
if_atm.c Bring back (most of) NATM to avoid further bitrot after r186119. 2010-12-15 22:58:45 +00:00
if_atm.h
if_ether.c Provide a sysctl switch that allows to install ARP entries 2012-09-03 14:29:28 +00:00
if_ether.h - Updated TOE support in the kernel. 2012-06-19 07:34:13 +00:00
igmp_var.h
igmp.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
igmp.h
in_cksum.c nobody uses this file except the userspace ipfw code, but the cast 2012-07-31 08:04:49 +00:00
in_debug.c Remove last remnants of classful addressing: 2011-10-15 16:28:06 +00:00
in_gif.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
in_gif.h
in_mcast.c Remove unused variable. 2012-01-24 14:27:14 +00:00
in_pcb.c There is a complex race in in_pcblookup_hash() and in_pcblookup_group(). 2012-10-02 12:03:02 +00:00
in_pcb.h There is a complex race in in_pcblookup_hash() and in_pcblookup_group(). 2012-10-02 12:03:02 +00:00
in_pcbgroup.c Implement a CPU-affine TCP and UDP connection lookup data structure, 2011-06-06 12:55:02 +00:00
in_proto.c Bunch of fixes to pfsync(4) module load/unload: 2012-01-09 08:50:22 +00:00
in_rmx.c Cleanup documentation: cloning route support has been removed in r186119. 2012-10-13 09:31:01 +00:00
in_systm.h
in_var.h Do not check if found IPv4 rte is dynamic if net.inet.icmp.drop_redirect is 2012-10-10 19:06:11 +00:00
in.c Though I disagree, I conceed to jhb & Rui. Note 2012-08-19 11:54:02 +00:00
in.h Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
ip6.h Fix more continuous/contiguous typos (cf. r215955) 2010-11-27 21:51:39 +00:00
ip_carp.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
ip_carp.h Restore a feature that was present in 5.x and 6.x, and was cleared in 2011-12-20 13:53:31 +00:00
ip_divert.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
ip_divert.h
ip_dummynet.h s/lenght/length/ in comments 2012-08-07 07:52:25 +00:00
ip_ecn.c
ip_ecn.h
ip_encap.c
ip_encap.h
ip_fastfwd.c A step in resolving mess with byte ordering for AF_INET. After this change: 2012-10-06 10:02:11 +00:00
ip_fw.h Revert r234834 per luigi@ request. 2012-05-03 08:56:43 +00:00
ip_gre.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
ip_gre.h
ip_icmp.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
ip_icmp.h
ip_id.c
ip_input.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
ip_ipsec.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
ip_ipsec.h
ip_mroute.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
ip_mroute.h Remove route caching from IP multicast routing code. There is no 2012-07-02 19:44:18 +00:00
ip_options.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
ip_options.h In ip_stripoptions(): 2012-10-12 09:24:24 +00:00
ip_output.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
ip_var.h Do not check if found IPv4 rte is dynamic if net.inet.icmp.drop_redirect is 2012-10-10 19:06:11 +00:00
ip.h Add ToS definitions for DiffServ Codepoints as per RFC2474. 2012-05-04 21:00:32 +00:00
pim_var.h
pim.h
raw_ip.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
sctp_asconf.c Whitespace cleanup. 2012-09-08 20:54:54 +00:00
sctp_asconf.h Pass the src and dst address of a received packet explicitly around. 2012-06-28 16:01:08 +00:00
sctp_auth.c Using %p in a format string requires a void *. 2012-09-05 18:52:01 +00:00
sctp_auth.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_bsd_addr.c Testing an interface property should depend on the interface, not 2012-08-04 08:03:30 +00:00
sctp_bsd_addr.h Do packet logging in a consistent way. 2012-06-24 21:25:54 +00:00
sctp_cc_functions.c Get rid of a gcc'ism. 2012-09-06 07:03:56 +00:00
sctp_constants.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_crc32.c Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_crc32.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_dtrace_declare.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_dtrace_define.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_header.h Don't include a structure containing a flexible array in another 2012-09-07 13:36:42 +00:00
sctp_indata.c Don't include a structure containing a flexible array in another 2012-09-07 13:36:42 +00:00
sctp_indata.h Pass the src and dst address of a received packet explicitly around. 2012-06-28 16:01:08 +00:00
sctp_input.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
sctp_input.h Don't include a structure containing a flexible array in another 2012-09-07 13:36:42 +00:00
sctp_lock_bsd.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_os_bsd.h Pass the src and dst address of a received packet explicitly around. 2012-06-28 16:01:08 +00:00
sctp_os.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_output.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
sctp_output.h Small cleanups. No functional change. 2012-09-22 14:39:20 +00:00
sctp_pcb.c Whitespace change. 2012-09-23 07:43:10 +00:00
sctp_pcb.h Pass the src and dst address of a received packet explicitly around. 2012-06-28 16:01:08 +00:00
sctp_peeloff.c Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_peeloff.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_ss_functions.c Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_structs.h Don't include a structure containing a flexible array in another 2012-09-07 13:36:42 +00:00
sctp_sysctl.c Whitespace cleanup. 2012-06-25 17:15:09 +00:00
sctp_sysctl.h Whitespace cleanup. 2012-06-25 17:15:09 +00:00
sctp_timer.c Using %p in a format string requires a void *. 2012-09-05 18:52:01 +00:00
sctp_timer.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_uio.h Fix the sctp_sockstore union such that userland programs don't depend 2012-07-26 08:10:29 +00:00
sctp_usrreq.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
sctp_var.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp.h Undefine SCTP_PACKED before including sctp_uio.h, which doesn't 2012-05-25 11:14:08 +00:00
sctputil.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
sctputil.h Pass the src and dst address of a received packet explicitly around. 2012-06-28 16:01:08 +00:00
siftr.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
tcp_debug.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
tcp_debug.h
tcp_fsm.h
tcp_hostcache.c - Update cachelimit after hashsize and bucketlimit were set. 2012-10-19 14:00:03 +00:00
tcp_hostcache.h
tcp_input.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
tcp_lro.c Make TCP LRO work properly with VIMAGE kernels rather than just panicing. 2012-06-01 11:42:50 +00:00
tcp_lro.h MFp4 bz_ipv6_fast: 2012-05-24 23:03:23 +00:00
tcp_offload.c - Updated TOE support in the kernel. 2012-06-19 07:34:13 +00:00
tcp_offload.h - Updated TOE support in the kernel. 2012-06-19 07:34:13 +00:00
tcp_output.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
tcp_reass.c Plug a TCP reassembly UMA zone leak introduced in r226113 by only using the 2011-11-27 02:32:08 +00:00
tcp_sack.c Covers values if (BYTES_THIS_ACK(tp, th) / tp->t_maxseg) value is from 2011-03-28 19:03:56 +00:00
tcp_seq.h Fix PAWS (Protect Against Wrapped Sequence numbers) in cases when 2012-02-15 16:09:56 +00:00
tcp_subr.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
tcp_syncache.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
tcp_syncache.h - Updated TOE support in the kernel. 2012-06-19 07:34:13 +00:00
tcp_timer.c In tcp timers, check INP_DROPPED flag a little later, after 2012-08-05 17:30:17 +00:00
tcp_timer.h Add new socket options: TCP_KEEPINIT, TCP_KEEPIDLE, TCP_KEEPINTVL and 2012-02-05 16:53:02 +00:00
tcp_timewait.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
tcp_usrreq.c Fix bug in TCP_KEEPCNT setting, which slipped in in the last round 2012-09-27 07:13:21 +00:00
tcp_var.h - Updated TOE support in the kernel. 2012-06-19 07:34:13 +00:00
tcp.h Add new socket options: TCP_KEEPINIT, TCP_KEEPIDLE, TCP_KEEPINTVL and 2012-02-05 16:53:02 +00:00
tcpip.h
toecore.c Revert previous commit... 2012-10-10 08:36:38 +00:00
toecore.h Correctly handle the case where an inp has already been dropped by the time 2012-08-21 18:09:33 +00:00
udp_usrreq.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
udp_var.h Export the udp_cksum sysctl for upcoming SCTP work. Rather than always, 2012-03-27 15:14:29 +00:00
udp.h Trim extra spaces before tabs. 2011-01-07 21:40:34 +00:00