Eric Dumazet
20e1954fe2
ipv6: RFC 4884 partial support for SIT/GRE tunnels
...
When receiving an ICMPv4 message containing extensions as
defined in RFC 4884, and translating it to ICMPv6 at SIT
or GRE tunnel, we need some extra manipulation in order
to properly forward the extensions.
This patch only takes care of Time Exceeded messages as they
are the ones that typically carry information from various
routers in a fabric during a traceroute session.
It also avoids complex skb logic if the data_len is not
a multiple of 8.
RFC states :
The "original datagram" field MUST contain at least 128 octets.
If the original datagram did not contain 128 octets, the
"original datagram" field MUST be zero padded to 128 octets.
In practice routers use 128 bytes of original datagram, not more.
Initial translation was added in commit ca15a078bd
("sit: generate icmpv6 error when receiving icmpv4 error")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Oussama Ghorbel <ghorbel@pivasoftware.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-06-18 22:11:39 -07:00
..
netfilter
netfilter: conntrack: use a single expectation table for all namespaces
2016-05-06 11:50:01 +02:00
af_inet.c
ipv4: Fix non-initialized TTL when CONFIG_SYSCTL=n
2016-05-23 14:32:06 -07:00
ah4.c
arp.c
net: rename NET_{ADD|INC}_STATS_BH()
2016-04-27 22:48:24 -04:00
cipso_ipv4.c
datagram.c
devinet.c
esp4.c
fib_frontend.c
net: vrf: Create FIB tables on link create
2016-05-06 15:51:47 -04:00
fib_lookup.h
fib_rules.c
net: Add l3mdev rule
2016-06-08 11:36:02 -07:00
fib_semantics.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-05-15 13:32:48 -04:00
fib_trie.c
fou.c
gue: Implement direction IP encapsulation
2016-06-07 23:51:14 -07:00
gre_demux.c
gre: better support for ICMP messages for gre+ipv6
2016-06-18 22:11:39 -07:00
gre_offload.c
gso: Remove arbitrary checks for unsupported GSO
2016-05-20 18:03:15 -04:00
icmp.c
net: icmp: rename ICMPMSGIN_INC_STATS_BH()
2016-04-27 22:48:23 -04:00
igmp.c
inet_connection_sock.c
tcp: two more missing bh disable
2016-05-04 23:47:54 -04:00
inet_diag.c
inet_fragment.c
net: disable fragment reassembly if high_thresh is zero
2016-06-05 22:56:42 -04:00
inet_hashtables.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-05-04 00:52:29 -04:00
inet_timewait_sock.c
tcp: must block bh in __inet_twsk_hashdance()
2016-05-04 16:55:11 -04:00
inetpeer.c
ip_forward.c
skbuff: introduce skb_gso_validate_mtu
2016-06-03 19:37:21 -04:00
ip_fragment.c
net: rename IP_INC_STATS_BH()
2016-04-27 22:48:23 -04:00
ip_gre.c
ipv6: RFC 4884 partial support for SIT/GRE tunnels
2016-06-18 22:11:39 -07:00
ip_input.c
net: original ingress device index in PKTINFO
2016-05-11 19:31:40 -04:00
ip_options.c
ip_output.c
skbuff: introduce skb_gso_validate_mtu
2016-06-03 19:37:21 -04:00
ip_sockglue.c
sock: propagate __sock_cmsg_send() error
2016-05-16 13:46:23 -04:00
ip_tunnel.c
net: ipv4: Add ability to have GRE ignore DF bit in IPv4 payloads
2016-06-15 21:39:59 -07:00
ip_tunnel_core.c
ip6_tun: Add infrastructure for doing encapsulation
2016-05-20 18:03:16 -04:00
ip_vti.c
ipcomp.c
ipconfig.c
ipip.c
net: define gso types for IPx over IPv4 and IPv6
2016-05-20 18:03:15 -04:00
ipmr.c
Kconfig
tcp: add NV congestion control
2016-06-10 23:07:49 -07:00
Makefile
tcp: add NV congestion control
2016-06-10 23:07:49 -07:00
netfilter.c
ping.c
proc.c
protocol.c
raw.c
route.c
net: l3mdev: Allow send on enslaved interface
2016-05-09 22:33:52 -04:00
syncookies.c
net: rename NET_{ADD|INC}_STATS_BH()
2016-04-27 22:48:24 -04:00
sysctl_net_ipv4.c
ipv4: Fix non-initialized TTL when CONFIG_SYSCTL=n
2016-05-23 14:32:06 -07:00
tcp.c
tcp: guarantee forward progress in tcp_sendmsg()
2016-05-04 12:44:36 -04:00
tcp_bic.c
tcp: replace cnt & rtt with struct in pkts_acked()
2016-05-11 14:43:19 -04:00
tcp_cdg.c
tcp: replace cnt & rtt with struct in pkts_acked()
2016-05-11 14:43:19 -04:00
tcp_cong.c
tcp_cubic.c
tcp: replace cnt & rtt with struct in pkts_acked()
2016-05-11 14:43:19 -04:00
tcp_dctcp.c
tcp: return sizeof tcp_dctcp_info in dctcp_get_info()
2016-06-14 23:46:30 -07:00
tcp_diag.c
tcp_fastopen.c
tcp: do not assume TCP code is non preemptible
2016-05-02 17:02:25 -04:00
tcp_highspeed.c
tcp_htcp.c
tcp: replace cnt & rtt with struct in pkts_acked()
2016-05-11 14:43:19 -04:00
tcp_hybla.c
tcp_illinois.c
tcp: replace cnt & rtt with struct in pkts_acked()
2016-05-11 14:43:19 -04:00
tcp_input.c
tcp: add in_flight to tcp_skb_cb
2016-06-10 23:07:49 -07:00
tcp_ipv4.c
tcp: minor optimizations around tcp_hdr() usage
2016-05-16 13:46:23 -04:00
tcp_lp.c
tcp: replace cnt & rtt with struct in pkts_acked()
2016-05-11 14:43:19 -04:00
tcp_metrics.c
tcp_minisocks.c
tcp: do not assume TCP code is non preemptible
2016-05-02 17:02:25 -04:00
tcp_nv.c
tcp: add NV congestion control
2016-06-10 23:07:49 -07:00
tcp_offload.c
gso: Remove arbitrary checks for unsupported GSO
2016-05-20 18:03:15 -04:00
tcp_output.c
tcp: add in_flight to tcp_skb_cb
2016-06-10 23:07:49 -07:00
tcp_probe.c
tcp_recovery.c
tcp: do not assume TCP code is non preemptible
2016-05-02 17:02:25 -04:00
tcp_scalable.c
tcp_timer.c
tcp: do not assume TCP code is non preemptible
2016-05-02 17:02:25 -04:00
tcp_vegas.c
tcp: replace cnt & rtt with struct in pkts_acked()
2016-05-11 14:43:19 -04:00
tcp_vegas.h
tcp: replace cnt & rtt with struct in pkts_acked()
2016-05-11 14:43:19 -04:00
tcp_veno.c
tcp: replace cnt & rtt with struct in pkts_acked()
2016-05-11 14:43:19 -04:00
tcp_westwood.c
tcp: replace cnt & rtt with struct in pkts_acked()
2016-05-11 14:43:19 -04:00
tcp_yeah.c
tcp: replace cnt & rtt with struct in pkts_acked()
2016-05-11 14:43:19 -04:00
tunnel4.c
udp.c
Possible problem with e6afc8ac ("udp: remove headers from UDP packets before queueing")
2016-06-02 18:29:49 -04:00
udp_diag.c
udp_impl.h
udp_offload.c
gso: Remove arbitrary checks for unsupported GSO
2016-05-20 18:03:15 -04:00
udp_tunnel.c
net: Remove deprecated tunnel specific UDP offload functions
2016-06-17 20:23:32 -07:00
udplite.c
xfrm4_input.c
xfrm4_mode_beet.c
xfrm4_mode_transport.c
xfrm4_mode_tunnel.c
xfrm4_output.c
xfrm4_policy.c
net: xfrm: fix old-style declaration
2016-06-16 22:06:30 -07:00
xfrm4_protocol.c
xfrm4_state.c
xfrm4_tunnel.c