freebsd-dev/sys/netgraph
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
..
atm Mechanically remove the last stray remains of spl* calls from net*/*. 2012-10-18 13:57:24 +00:00
bluetooth The USB Bluetooth driver should only grab its own interfaces. This allows the 2012-09-30 19:31:20 +00:00
netflow Add NG_NETFLOW_V9INFO_TYPE command to be able to request netflowv9-specific 2012-10-11 16:15:18 +00:00
netgraph.h Refactor the name hash and the ID hash, that are used to address nodes: 2012-02-16 19:10:01 +00:00
ng_async.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ng_async.h
ng_atmllc.c - Fix potential double mbuf free: M_PREPEND may free mbuf chain and return 2011-11-06 05:24:54 +00:00
ng_atmllc.h
ng_base.c Ensure that all cases that enqueue a netgraph item for delivery by a 2012-09-27 20:12:51 +00:00
ng_bpf.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ng_bpf.h
ng_bridge.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ng_bridge.h Add an optional "persistent" flag to ng_hub and ng_bridge, which if set, 2010-05-05 22:06:05 +00:00
ng_car.c Node constructor methods are supposed to be called in syscall 2011-04-18 09:12:27 +00:00
ng_car.h
ng_cisco.c - Use fixed-width integer types. 2012-02-12 05:14:12 +00:00
ng_cisco.h - Use fixed-width integer types. 2012-02-12 05:14:12 +00:00
ng_deflate.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ng_deflate.h
ng_device.c Remove direct access to si_name. 2012-02-10 12:35:57 +00:00
ng_device.h
ng_echo.c
ng_echo.h
ng_eiface.c Mechanically remove the last stray remains of spl* calls from net*/*. 2012-10-18 13:57:24 +00:00
ng_eiface.h Allow for MTU sizes of up to ETHER_MAX_LEN_JUMBO (i.e. 9018) bytes to be 2010-11-22 12:32:19 +00:00
ng_etf.c Node constructor methods are supposed to be called in syscall 2011-04-18 09:12:27 +00:00
ng_etf.h
ng_ether_echo.c
ng_ether_echo.h
ng_ether.c Mechanically remove the last stray remains of spl* calls from net*/*. 2012-10-18 13:57:24 +00:00
ng_ether.h
ng_fec.c Mechanically remove the last stray remains of spl* calls from net*/*. 2012-10-18 13:57:24 +00:00
ng_fec.h
ng_frame_relay.c Node constructor methods are supposed to be called in syscall 2011-04-18 09:12:27 +00:00
ng_frame_relay.h
ng_gif_demux.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ng_gif_demux.h
ng_gif.c Mechanically remove the last stray remains of spl* calls from net*/*. 2012-10-18 13:57:24 +00:00
ng_gif.h
ng_hole.c
ng_hole.h
ng_hub.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ng_hub.h Add an optional "persistent" flag to ng_hub and ng_bridge, which if set, 2010-05-05 22:06:05 +00:00
ng_iface.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ng_iface.h
ng_ip_input.c
ng_ip_input.h
ng_ipfw.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
ng_ipfw.h bring the NGM_IPFW_COOKIE back into ng_ipfw.h, libnetgraph expects 2009-12-28 12:29:13 +00:00
ng_ksocket.c Mechanically remove the last stray remains of spl* calls from net*/*. 2012-10-18 13:57:24 +00:00
ng_ksocket.h
ng_l2tp.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ng_l2tp.h
ng_lmi.c Node constructor methods are supposed to be called in syscall 2011-04-18 09:12:27 +00:00
ng_lmi.h
ng_message.h
ng_mppc.c Revert my local not yet properly tested changes, that leaked in 2012-05-25 07:46:24 +00:00
ng_mppc.h
ng_nat.c After r241245 it appeared that in_delayed_cksum(), which still expects 2012-10-08 08:03:58 +00:00
ng_nat.h
ng_one2many.c Node constructor methods are supposed to be called in syscall 2011-04-18 09:12:27 +00:00
ng_one2many.h Add XMIT_FAILOVER transmit algorithm to ng_one2many node. Packets are 2011-03-01 13:10:56 +00:00
ng_parse.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ng_parse.h
ng_patch.c Fix panic in ng_patch(4) caused by checksum flags being added to mbuf flags. 2012-04-22 17:00:52 +00:00
ng_patch.h Style(9) fixes: 2010-06-10 16:45:30 +00:00
ng_pipe.c Assume the link to be dead if bit error rate (BER) parameter is set to 1. 2011-05-24 14:36:32 +00:00
ng_pipe.h Start copyright notice with /*- 2010-04-07 16:29:10 +00:00
ng_ppp.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ng_ppp.h
ng_pppoe.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ng_pppoe.h
ng_pptpgre.c Remove duplicate check. 2012-08-03 12:55:31 +00:00
ng_pptpgre.h
ng_pred1.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ng_pred1.h
ng_rfc1490.c Node constructor methods are supposed to be called in syscall 2011-04-18 09:12:27 +00:00
ng_rfc1490.h
ng_sample.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ng_sample.h
ng_socket.c In ng_getsockaddr() allocate memory prior to obtaining lock. 2012-02-16 14:44:52 +00:00
ng_socket.h
ng_socketvar.h In ng_socket(4) expose less kernel internals to userland. This commit 2012-01-23 15:39:45 +00:00
ng_source.c Mechanically remove the last stray remains of spl* calls from net*/*. 2012-10-18 13:57:24 +00:00
ng_source.h Remove defunct email address from header as well. 2010-07-06 16:55:39 +00:00
ng_split.c Node constructor methods are supposed to be called in syscall 2011-04-18 09:12:27 +00:00
ng_split.h
ng_sppp.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ng_sppp.h
ng_tag.c The newhook method can be called in ISR context at 2012-01-17 18:10:25 +00:00
ng_tag.h
ng_tcpmss.c Remove alignment constraints. 2010-04-01 10:41:01 +00:00
ng_tcpmss.h
ng_tee.c Node constructor methods are supposed to be called in syscall 2011-04-18 09:12:27 +00:00
ng_tee.h
ng_tty.c Node constructor methods are supposed to be called in syscall 2011-04-18 09:12:27 +00:00
ng_tty.h
ng_UI.c Node constructor methods are supposed to be called in syscall 2011-04-18 09:12:27 +00:00
ng_UI.h
ng_vjc.c Node constructor methods are supposed to be called in syscall 2011-04-18 09:12:27 +00:00
ng_vjc.h
ng_vlan.c Upgrade the netgraph vlan node to support 802.1q, encapsulation type, 2012-03-11 19:08:56 +00:00
ng_vlan.h Upgrade the netgraph vlan node to support 802.1q, encapsulation type, 2012-03-11 19:08:56 +00:00
NOTES