NetBSD/sys/netinet
gdt e25f2a0d87 Restore to working order; this has apparently been nonworking since
the decapsulator dispatch changes in 2001.  Problems found and fixed
by Christine Jones of BBN.  Specifically:

Check for a packet's protocol to be ENCAP_PROTO, not AF_INET.

Remove one-back cache for last vif, because vif_encapcheck is called
for each vif, rather than being expected to find the appropriate vif.
The cache usage caused packets to be input on the wrong vif and hence
usually dropped.

In vif_encapcheck, verify the local source as well.  While mrouted
endeavors not to create multiple tunnels with a peer, a packet
arriving with the wrong local address is still wrong and should not be
accepted.  (This is a correctness nit, not a security issue.)  Order
checks to fail quickly for packets being checked to see if they match
a vif other than the one they belong on (essentially, check peer
source address in outer header first).

Claim 69 bits of match (32 each from outer src/dst and 5 from checking
that inner dst is within 224/5).  This should result in the vif having
a higher priority for multicast packets compared to a parallel gif(4)
tunnel, and that both seems appropriate if both are configured and
seems to match the semantics expected by the decapsulator dispatch
machinery.

(These changes were made in 2.99.15 and about a dozen nodes are
running them with many vifs.  ip_mroute.c has not changed
significantly since then (February 2005) and the changes applied
cleanly to current and compile cleanly.)
2005-08-03 18:20:11 +00:00
..
Makefile Move ipl.h into the ipfilter block, which is the right place. 2005-07-09 14:15:11 +00:00
files.ipfilter defopt IPFILTER_DEFAULT_BLOCK 2005-03-26 18:08:42 +00:00
files.netinet Commit TCP SACK patches from Kentaro A. Karahone's patch at: 2005-02-28 16:20:59 +00:00
icmp6.h remove stupid hand-rolled loop and kernel conditional. 2005-05-29 21:38:37 +00:00
icmp_var.h
if_arp.c Change the rest of the sysctl subsystem to use const consistently. 2005-06-20 02:49:18 +00:00
if_atm.c de-__P, do some ANSIfication. 2005-02-02 21:41:01 +00:00
if_atm.h
if_ether.h
if_inarp.h
igmp.c ANSIfy function prototypes. (Still have about 3/5ths of the C files in 2005-02-03 03:49:01 +00:00
igmp.h
igmp_var.h
in.c nuke trailing whitespace 2005-02-26 22:45:09 +00:00
in.h Add RFC 3378 EtherIP support, ported from OpenBSD to NetBSD by 2005-01-31 23:49:36 +00:00
in4_cksum.c ANSIfy function prototypes. (Still have about 3/5ths of the C files in 2005-02-03 03:49:01 +00:00
in_cksum.c ANSIfy function prototypes. (Still have about 3/5ths of the C files in 2005-02-03 03:49:01 +00:00
in_gif.c expire cached route. Fixes PR 22792. 2005-06-26 10:39:21 +00:00
in_gif.h Since we decided "const struct mbuf *" would not do the right thing (tm), 2005-06-06 06:06:50 +00:00
in_offload.h add a function to handle M_CSUM_TSOv4 by software. 2005-04-18 21:55:06 +00:00
in_pcb.c - add const 2005-05-29 21:41:23 +00:00
in_pcb.h Add support for IPsec Network Address Translator traversal (NAT-T), as 2005-02-12 12:31:07 +00:00
in_pcb_hdr.h
in_proto.c Add PR_PURGEIF flag for protocols to indicate that the protocol might 2005-07-19 12:58:24 +00:00
in_proto.h move decl of inetsw to its own header to avoid array of incomplete type. 2005-04-29 10:39:09 +00:00
in_systm.h
in_var.h Add the following nodes to the sysctl tree: 2005-03-09 05:07:19 +00:00
ip.h
ip6.h - add const 2005-05-29 21:41:23 +00:00
ip_ecn.c ANSIfy function prototypes. (Still have about 3/5ths of the C files in 2005-02-03 03:49:01 +00:00
ip_ecn.h
ip_encap.c Since we decided "const struct mbuf *" would not do the right thing (tm), 2005-06-06 06:06:50 +00:00
ip_encap.h Since we decided "const struct mbuf *" would not do the right thing (tm), 2005-06-06 06:06:50 +00:00
ip_flow.c KNF + slightly ANSIfy 2005-02-03 22:43:34 +00:00
ip_gre.c PR/30844: Gert Doering: Non-inet traffic is passed to bpf incorrectly (as inet) 2005-07-26 21:26:48 +00:00
ip_gre.h
ip_icmp.c Implement PMTU checks from: 2005-07-19 17:00:02 +00:00
ip_icmp.h
ip_id.c
ip_input.c - Return ICMP_UNREACH_NET when no route found as per 2005-06-28 19:38:58 +00:00
ip_mroute.c Restore to working order; this has apparently been nonworking since 2005-08-03 18:20:11 +00:00
ip_mroute.h nuke trailing whitespace 2005-02-26 22:45:09 +00:00
ip_output.c - add const 2005-05-29 21:41:23 +00:00
ip_var.h Add #include <sys/protosw.h> when _KERNEL 2005-05-06 04:28:37 +00:00
pim.h
pim_var.h
raw_ip.c move decl of inetsw to its own header to avoid array of incomplete type. 2005-04-29 10:39:09 +00:00
tcp.h Add a definition for TCPOLEN_SIGLEN from OpenBSD, so a kernel with 2005-07-21 17:32:11 +00:00
tcp_debug.c Fix some const fallout. 2005-06-02 04:40:46 +00:00
tcp_debug.h Fix some const fallout. 2005-06-02 04:40:46 +00:00
tcp_fsm.h
tcp_input.c Implement PMTU checks from: 2005-07-19 17:00:02 +00:00
tcp_output.c Implement PMTU checks from: 2005-07-19 17:00:02 +00:00
tcp_sack.c tcp_sack_option: ignore sack beyond snd_max. 2005-05-08 04:46:20 +00:00
tcp_seq.h Added sysctl tunable limits for the number of maximum SACK holes 2005-04-05 01:07:17 +00:00
tcp_subr.c Make this build without INET6. 2005-07-20 08:05:43 +00:00
tcp_timer.c Implement PMTU checks from: 2005-07-19 17:00:02 +00:00
tcp_timer.h Fix some const fallout. 2005-06-02 04:40:46 +00:00
tcp_usrreq.c Change the rest of the sysctl subsystem to use const consistently. 2005-06-20 02:49:18 +00:00
tcp_var.h Implement PMTU checks from: 2005-07-19 17:00:02 +00:00
tcpip.h
udp.h Add support for IPsec Network Address Translator traversal (NAT-T), as 2005-02-12 12:31:07 +00:00
udp_usrreq.c Fix memory leak 2005-04-29 13:06:23 +00:00
udp_var.h Add support for IPsec Network Address Translator traversal (NAT-T), as 2005-02-12 12:31:07 +00:00