freebsd-skq/sys/netinet
Jonathan T. Looney dc6a41b936 Add the infrastructure to support loading multiple versions of TCP
stack modules.

It adds support for mangling symbols exported by a module by prepending
a string to them. (This avoids overlapping symbols in the kernel linker.)

It allows the use of a macro as the module name in the DECLARE_MACRO()
and MACRO_VERSION() macros.

It allows the code to register stack aliases (e.g. both a generic name
["default"] and version-specific name ["default_10_3p1"]).

With these changes, it is trivial to compile TCP stack modules with
the name defined in the Makefile and to load multiple versions of the
same stack simultaneously. This functionality can be used to enable
side-by-side testing of an old and new version of the same TCP stack.
It also could support upgrading the TCP stack without a reboot.

Reviewed by:	gnn, sjg (makefiles only)
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D11086
2017-06-08 20:41:28 +00:00
..
cc Fix a variety of cosmetic typos and misspellings 2017-01-15 18:00:45 +00:00
khelp Remove "long" variables from the TCP stack (not including the modular 2016-10-06 16:28:34 +00:00
libalias ipfw nat and natd support multiple aliasing instances with "nat global" feature 2017-05-10 19:41:52 +00:00
tcp_stacks Improve comments to describe what the code does. 2017-06-01 15:11:18 +00:00
accf_data.c
accf_dns.c
accf_http.c
icmp6.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
icmp_var.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_ether.c Fix the L2 address printed in the "arp: %s moved from %*D" message. 2017-03-11 04:57:52 +00:00
if_ether.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
igmp_var.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
igmp.c Add some ntohl() love to r315277 2017-03-14 20:57:54 +00:00
igmp.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
in_cksum.c Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
in_debug.c
in_fib.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
in_fib.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
in_gif.c
in_jail.c Allow explicitly assigned IPv4 loopback address to be used in jails 2017-03-31 00:41:54 +00:00
in_kdtrace.c Use estimated RTT for receive buffer auto resizing instead of timestamps 2017-04-10 08:19:35 +00:00
in_kdtrace.h Use estimated RTT for receive buffer auto resizing instead of timestamps 2017-04-10 08:19:35 +00:00
in_mcast.c Add missing braces around MCAST_EXCLUDE check when KTR support is 2017-05-13 18:41:24 +00:00
in_pcb.c o Rearrange struct inpcb fields to optimize the TCP output code path 2017-05-24 17:47:16 +00:00
in_pcb.h o Rearrange struct inpcb fields to optimize the TCP output code path 2017-05-24 17:47:16 +00:00
in_pcbgroup.c Unbreak the RSS/PCBGROUp build. 2016-03-31 00:53:23 +00:00
in_prot.c Remove BSD and USL copyright and update license block in in_prot.c, as the 2016-07-28 18:39:30 +00:00
in_proto.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
in_rmx.c
in_rss.c
in_rss.h
in_systm.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
in_var.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
in.c Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
in.h Make sysctl identifiers for direct netisr queue unique. 2017-04-11 19:20:20 +00:00
ip6.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ip_carp.c After the in_control() changes in r257692, an existing address is 2017-01-25 19:04:08 +00:00
ip_carp.h After the in_control() changes in r257692, an existing address is 2017-01-25 19:04:08 +00:00
ip_divert.c Set M_BCAST and M_MCAST flags on mbuf sent via divert socket. 2017-05-17 09:04:09 +00:00
ip_divert.h
ip_dummynet.h Import Dummynet AQM version 0.2.1 (CoDel, FQ-CoDel, PIE and FQ-PIE). 2016-05-26 21:40:13 +00:00
ip_ecn.c
ip_ecn.h
ip_encap.c
ip_encap.h
ip_fastfwd.c When we are sending IP fragments, update ip pointers in IP_PROBE() for 2016-12-29 19:57:46 +00:00
ip_fw.h Add O_EXTERNAL_DATA opcode support. 2017-04-03 02:44:40 +00:00
ip_gre.c
ip_icmp.c Enforce the limit on ICMP messages before doing work to formulate the 2017-05-30 14:32:44 +00:00
ip_icmp.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ip_id.c Replace a number of conflations of mp_ncpus and mp_maxid with either 2016-07-06 14:09:49 +00:00
ip_input.c Make sysctl identifiers for direct netisr queue unique. 2017-04-11 19:20:20 +00:00
ip_mroute.c Add some ntohl() love to r315277 2017-03-14 20:57:54 +00:00
ip_mroute.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ip_options.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ip_options.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ip_output.c Fix reference count leak with L2 caching. 2017-03-25 15:06:28 +00:00
ip_reass.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ip_var.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ip.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
pim_var.h
pim.h
raw_ip.c Reduce in_pcbinfo_init() by two params. No users supply any flags to this 2017-05-15 21:58:36 +00:00
sctp_asconf.c Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_asconf.h Whitespace changes. 2016-12-06 10:21:25 +00:00
sctp_auth.c Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_auth.h Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_bsd_addr.c Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_bsd_addr.h Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_cc_functions.c Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_constants.h Cleanup the names of SSN, SID, TSN, FSN, PPID and MID. 2016-12-07 19:30:59 +00:00
sctp_crc32.c Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_crc32.h Whitespace changes. 2016-12-06 10:21:25 +00:00
sctp_dtrace_declare.h
sctp_dtrace_define.h This is work done by Michael Tuexen and myself at the IETF. This 2016-04-07 09:10:34 +00:00
sctp_header.h Cleanup the names of SSN, SID, TSN, FSN, PPID and MID. 2016-12-07 19:30:59 +00:00
sctp_indata.c Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_indata.h Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_input.c Use the SCTP_PCB_FLAGS_ACCEPTING flags to check for listeners. 2017-05-26 16:29:00 +00:00
sctp_input.h Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_lock_bsd.h netinet/sctp*: minor spelling fixes in comments. 2016-05-02 20:56:11 +00:00
sctp_os_bsd.h Use the SCTP_PCB_FLAGS_ACCEPTING flags to check for listeners. 2017-05-26 16:29:00 +00:00
sctp_os.h
sctp_output.c Use the SCTP_PCB_FLAGS_ACCEPTING flags to check for listeners. 2017-05-26 16:29:00 +00:00
sctp_output.h Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_pcb.c The desired lock here is socket buffer, not socket. 2017-06-08 06:34:09 +00:00
sctp_pcb.h Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_peeloff.c
sctp_peeloff.h Whitespace changes. 2016-12-06 10:21:25 +00:00
sctp_ss_functions.c Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_structs.h Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_syscalls.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sctp_sysctl.c Use the SCTP_PCB_FLAGS_ACCEPTING flags to check for listeners. 2017-05-26 16:29:00 +00:00
sctp_sysctl.h Retire net.inet.sctp.strict_sacks and net.inet.sctp.strict_data_order 2016-05-12 16:34:59 +00:00
sctp_timer.c Don't set the DF-bit on timer based retransmissions. 2017-04-29 09:57:27 +00:00
sctp_timer.h
sctp_uio.h Whitespace changes. 2016-12-06 10:21:25 +00:00
sctp_usrreq.c Use the SCTP_PCB_FLAGS_ACCEPTING flags to check for listeners. 2017-05-26 16:29:00 +00:00
sctp_var.h Use consistently uint32_t for mtu values. 2017-04-26 19:26:40 +00:00
sctp.h This is work done by Michael Tuexen and myself at the IETF. This 2016-04-07 09:10:34 +00:00
sctputil.c This code was missing socket unlock and socket buffer lock, but it 2017-06-08 06:37:11 +00:00
sctputil.h Allow SCTP to use the hostcache. 2017-04-29 19:20:50 +00:00
siftr.c
tcp_debug.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
tcp_debug.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
tcp_fastopen.c Fix VIMAGE-related bugs in TFO. The autokey callout vnet context was 2017-02-03 17:02:57 +00:00
tcp_fastopen.h
tcp_fsm.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
tcp_hostcache.c Use inet_ntoa_r() instead of inet_ntoa() throughout the kernel 2017-02-16 20:47:41 +00:00
tcp_hostcache.h Remove "long" variables from the TCP stack (not including the modular 2016-10-06 16:28:34 +00:00
tcp_input.c Improve comments to describe what the code does. 2017-06-01 15:11:18 +00:00
tcp_lro.c Flush the LRO ctrl as soon as lro_mbufs fills up. There is no need to 2017-04-24 22:35:00 +00:00
tcp_lro.h tcp/lro: Implement hash table for LRO entries. 2016-08-02 06:36:47 +00:00
tcp_offload.c
tcp_offload.h
tcp_output.c Use estimated RTT for receive buffer auto resizing instead of timestamps 2017-04-10 08:19:35 +00:00
tcp_pcap.c The TCPPCAP debugging feature caches recently-used mbufs for use in 2016-07-06 16:17:13 +00:00
tcp_pcap.h The TCPPCAP debugging feature caches recently-used mbufs for use in 2016-07-06 16:17:13 +00:00
tcp_reass.c There is no good reason for TCP reassembly zone to be UMA_ZONE_NOFREE. 2017-05-10 23:32:31 +00:00
tcp_sack.c Remove a KASSERT which is not always true. 2016-12-25 17:37:18 +00:00
tcp_seq.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
tcp_subr.c Add the infrastructure to support loading multiple versions of TCP 2017-06-08 20:41:28 +00:00
tcp_syncache.c Fix the ICMP6 handling for TCP. 2017-06-03 21:53:58 +00:00
tcp_syncache.h Fix the ICMP6 handling for TCP. 2017-06-03 21:53:58 +00:00
tcp_timer.c Hide struct inpcb, struct tcpcb from the userland. 2017-03-21 06:39:49 +00:00
tcp_timer.h Hide struct inpcb, struct tcpcb from the userland. 2017-03-21 06:39:49 +00:00
tcp_timewait.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
tcp_usrreq.c The connect() system call should return -1 and set errno to EAFNOSUPPORT 2017-05-22 15:29:10 +00:00
tcp_var.h Add the infrastructure to support loading multiple versions of TCP 2017-06-08 20:41:28 +00:00
tcp.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
tcpip.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
toecore.c This change re-adds L2 caching for TCP and UDP, as originally added in D4306 2016-06-02 17:51:29 +00:00
toecore.h
udp_usrreq.c Reduce in_pcbinfo_init() by two params. No users supply any flags to this 2017-05-15 21:58:36 +00:00
udp_var.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
udp.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
udplite.h