freebsd-nq/sys/netinet
Alexander V. Chernikov ae01d73c04 Add ipfw support for setting/matching DiffServ codepoints (DSCP).
Setting DSCP support is done via O_SETDSCP which works for both
IPv4 and IPv6 packets. Fast checksum recalculation (RFC 1624) is done for IPv4.
Dscp can be specified by name (AFXY, CSX, BE, EF), by value
(0..63) or via tablearg.

Matching DSCP is done via another opcode (O_DSCP) which accepts several
classes at once (af11,af22,be). Classes are stored in bitmask (2 u32 words).

Many people made their variants of this patch, the ones I'm aware of are
(in alphabetic order):

Dmitrii Tejblum
Marcelo Araujo
Roman Bogorodskiy (novel)
Sergey Matveichuk (sem)
Sergey Ryabin

PR:		kern/102471, kern/121122
MFC after:	2 weeks
2013-03-20 10:35:33 +00:00
..
cc
khelp
libalias In m_megapullup() instead of reserving some space at the end of packet, 2013-03-17 07:37:10 +00:00
accf_data.c
accf_dns.c
accf_http.c
cc.h
icmp6.h
icmp_var.h
if_atm.c
if_atm.h
if_ether.c Fix problem in r238990. The LLE_LINKED flag should be tested prior to 2012-12-13 11:11:15 +00:00
if_ether.h Retire struct sockaddr_inarp. 2013-01-31 08:55:21 +00:00
igmp_var.h
igmp.c - Replace compat macros with function calls. 2013-03-16 08:58:28 +00:00
igmp.h
in_cksum.c
in_debug.c
in_gif.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
in_gif.h
in_mcast.c
in_pcb.c Remove redundant test, we know inp_lport is 0. 2013-01-25 20:14:27 +00:00
in_pcb.h
in_pcbgroup.c
in_proto.c
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
in.c Retire struct sockaddr_inarp. 2013-01-31 08:55:21 +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
ip_carp.c Use m_get/m_gethdr instead of compat macros. 2013-03-15 12:55:30 +00:00
ip_carp.h Resolve source address selection in presense of CARP. Add a couple 2013-02-11 10:58:22 +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
ip_ecn.c
ip_ecn.h
ip_encap.c
ip_encap.h
ip_fastfwd.c Remove the recently added sysctl variable net.pfil.forward. 2012-11-02 01:20:55 +00:00
ip_fw.h Add ipfw support for setting/matching DiffServ codepoints (DSCP). 2013-03-20 10:35:33 +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 Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ip_icmp.h
ip_id.c
ip_input.c Use m_get/m_gethdr instead of compat macros. 2013-03-15 12:55:30 +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 Use m_get/m_gethdr instead of compat macros. 2013-03-15 12:55:30 +00:00
ip_mroute.h
ip_options.c - Replace compat macros with function calls. 2013-03-16 08:58:28 +00:00
ip_options.h
ip_output.c Use m_get/m_gethdr instead of compat macros. 2013-03-15 12:55:30 +00:00
ip_var.h Remove the recently added sysctl variable net.pfil.forward. 2012-11-02 01:20:55 +00:00
ip.h
pim_var.h
pim.h
raw_ip.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
sctp_asconf.c Cleanup the handling of address scopes. Announce in the INIT/INIT-ACK 2013-02-09 17:26:14 +00:00
sctp_asconf.h
sctp_auth.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
sctp_auth.h
sctp_bsd_addr.c
sctp_bsd_addr.h
sctp_cc_functions.c
sctp_constants.h Get the accounting working. We now have counters how many 2012-11-16 19:39:10 +00:00
sctp_crc32.c
sctp_crc32.h
sctp_dtrace_declare.h
sctp_dtrace_define.h
sctp_header.h
sctp_indata.c Don't send kernel provided information in the User Initiated 2013-02-11 13:57:03 +00:00
sctp_indata.h
sctp_input.c Cleanup the handling of address scopes. Announce in the INIT/INIT-ACK 2013-02-09 17:26:14 +00:00
sctp_input.h
sctp_lock_bsd.h
sctp_os_bsd.h
sctp_os.h
sctp_output.c Send the adaptation layer indication only if set by the user. 2013-02-11 21:02:49 +00:00
sctp_output.h Cleanup the handling of address scopes. Announce in the INIT/INIT-ACK 2013-02-09 17:26:14 +00:00
sctp_pcb.c Send the adaptation layer indication only if set by the user. 2013-02-11 21:02:49 +00:00
sctp_pcb.h Send the adaptation layer indication only if set by the user. 2013-02-11 21:02:49 +00:00
sctp_peeloff.c Add support for sctp_peeloff() also in the front states of the 2012-11-26 16:44:03 +00:00
sctp_peeloff.h Remove unused function. 2012-11-25 14:25:08 +00:00
sctp_ss_functions.c
sctp_structs.h Cleanup the handling of address scopes. Announce in the INIT/INIT-ACK 2013-02-09 17:26:14 +00:00
sctp_sysctl.c Cleanup the handling of address scopes. Announce in the INIT/INIT-ACK 2013-02-09 17:26:14 +00:00
sctp_sysctl.h
sctp_timer.c Fix a bug where HEARTBEATs were still sent in SHUTDOWN_SENT or 2013-02-09 08:27:08 +00:00
sctp_timer.h
sctp_uio.h Whitespace changes due to upstream integration of SCTP changes in the 2012-10-29 20:47:32 +00:00
sctp_usrreq.c Send the adaptation layer indication only if set by the user. 2013-02-11 21:02:49 +00:00
sctp_var.h Whitespace changes due to upstream integration of SCTP changes in the 2012-10-29 20:47:32 +00:00
sctp.h Cleanup the handling of address scopes. Announce in the INIT/INIT-ACK 2013-02-09 17:26:14 +00:00
sctputil.c Fix a potential race in returning setting errno when an 2013-02-27 19:51:47 +00:00
sctputil.h Add support for SCTP/UDP/IPV6. 2012-11-17 20:04:04 +00:00
siftr.c The hashmask returned by hashinit() is a valid index in the returned hash array. 2013-03-07 04:42:20 +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 Simplify and fix a bug in cc_ack_received()'s "are we congestion window limited" 2013-01-22 09:44:21 +00:00
tcp_lro.c Fix tcp_lro_rx_ipv4() for drivers that do not set CSUM_IP_CHECKED. 2013-02-21 17:00:35 +00:00
tcp_lro.h
tcp_offload.c
tcp_offload.h
tcp_output.c - Replace compat macros with function calls. 2013-03-16 08:58:28 +00:00
tcp_reass.c uma_zone_set_max() directly returns the rounded effective zone 2013-02-01 14:21:09 +00:00
tcp_sack.c
tcp_seq.h
tcp_subr.c Use m_get/m_gethdr instead of compat macros. 2013-03-15 12:55:30 +00:00
tcp_syncache.c uma_zone_set_max() directly returns the rounded effective zone 2013-02-01 14:21:09 +00:00
tcp_syncache.h Change the syncache count reporting the current number of entries 2012-10-28 18:07:34 +00:00
tcp_timer.c - Make callout(9) tickless, relying on eventtimers(4) as backend for 2013-03-04 11:09:56 +00:00
tcp_timer.h Add DELACK to list of timers. 2012-11-27 19:07:28 +00:00
tcp_timewait.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
tcp_usrreq.c Add checks for SO_NO_OFFLOAD in a couple of places that I missed earlier 2013-01-26 01:41:42 +00:00
tcp_var.h Increase the initial CWND to 10 segments as defined in IETF TCPM 2012-10-28 19:47:46 +00:00
tcp.h Add placeholder constants to reserve a portion of the socket option 2013-02-01 15:32:20 +00:00
tcpip.h
toecore.c Teach toe_l2_resolve to resolve IPv6 destinations too. 2013-01-26 00:57:29 +00:00
toecore.h
udp_usrreq.c More warnings for zones that depend on the kern.ipc.maxsockets limit. 2012-12-08 12:51:06 +00:00
udp_var.h
udp.h Add placeholder constants to reserve a portion of the socket option 2013-02-01 15:32:20 +00:00