linux_dsm_epyc7002/net/ipv6
Ahmed Abdelsalam 5829d70b0b ipv6: sr: fix get_srh() to comply with IPv6 standard "RFC 8200"
IPv6 packet may carry more than one extension header, and IPv6 nodes must
accept and attempt to process extension headers in any order and occurring
any number of times in the same packet. Hence, there should be no
assumption that Segment Routing extension header is to appear immediately
after the IPv6 header.

Moreover, section 4.1 of RFC 8200 gives a recommendation on the order of
appearance of those extension headers within an IPv6 packet. According to
this recommendation, Segment Routing extension header should appear after
Hop-by-Hop and Destination Options headers (if they present).

This patch fixes the get_srh(), so it gets the segment routing header
regardless of its position in the chain of the extension headers in IPv6
packet, and makes sure that the IPv6 routing extension header is of Type 4.

Signed-off-by: Ahmed Abdelsalam <amsalam20@gmail.com>
Acked-by: David Lebrun <david.lebrun@uclouvain.be>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-08-30 15:19:25 -07:00
..
ila
netfilter
addrconf_core.c
addrconf.c net: ipv6: put host and anycast routes on device with address 2017-08-21 10:40:17 -07:00
addrlabel.c addrlabel: add/delete/get can run without rtnl 2017-08-29 09:41:56 -07:00
af_inet6.c ipv6: Add sysctl for per namespace flow label reflection 2017-08-24 18:05:43 -07:00
ah6.c
anycast.c
calipso.c
datagram.c
esp6_offload.c xfrm: Auto-load xfrm offload modules 2017-08-02 11:00:15 +02:00
esp6.c esp6: Fix RX checksum after header pull 2017-08-02 11:00:15 +02:00
exthdrs_core.c
exthdrs_offload.c
exthdrs.c ipv6: sr: allow SRH insertion with arbitrary segments_left value 2017-08-07 14:16:21 -07:00
fib6_notifier.c ipv6: fib: Dump tables during registration to FIB chain 2017-08-03 15:36:00 -07:00
fib6_rules.c net: ipv6: avoid overhead when no custom FIB rules are installed 2017-08-08 21:40:08 -07:00
fou6.c
icmp.c ipv6: Use rt6i_idev index for echo replies to a local address 2017-08-29 15:32:25 -07:00
inet6_connection_sock.c
inet6_hashtables.c net: ipv6: add second dif to inet6 socket lookups 2017-08-07 11:39:22 -07:00
ip6_checksum.c
ip6_fib.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-08-21 17:06:42 -07:00
ip6_flowlabel.c
ip6_gre.c
ip6_icmp.c
ip6_input.c
ip6_offload.c
ip6_offload.h
ip6_output.c udp: consistently apply ufo or fragmentation 2017-08-10 09:52:12 -07:00
ip6_tunnel.c
ip6_udp_tunnel.c
ip6_vti.c
ip6mr.c rtnetlink: make rtnl_register accept a flags parameter 2017-08-09 16:57:38 -07:00
ipcomp6.c
ipv6_sockglue.c
Kconfig ipv6: sr: add helper functions for seg6local 2017-08-25 17:10:24 -07:00
Makefile ipv6: sr: define core operations for seg6local lightweight tunnel 2017-08-07 14:16:22 -07:00
mcast_snoop.c
mcast.c
mip6.c
ndisc.c neigh: increase queue_len_bytes to match wmem_default 2017-08-29 16:10:50 -07:00
netfilter.c
output_core.c
ping.c
proc.c
protocol.c
raw.c net: ipv6: add second dif to raw socket lookups 2017-08-07 11:39:22 -07:00
reassembly.c
route.c ipv6: Use multipath hash from flow info if available 2017-08-24 18:21:17 -07:00
seg6_hmac.c
seg6_iptunnel.c ipv6: sr: add support for encapsulation of L2 frames 2017-08-25 17:10:23 -07:00
seg6_local.c ipv6: sr: fix get_srh() to comply with IPv6 standard "RFC 8200" 2017-08-30 15:19:25 -07:00
seg6.c ipv6: sr: define core operations for seg6local lightweight tunnel 2017-08-07 14:16:22 -07:00
sit.c
syncookies.c
sysctl_net_ipv6.c ipv6: Add sysctl for per namespace flow label reflection 2017-08-24 18:05:43 -07:00
tcp_ipv6.c net: Add comment that early_demux can change via sysctl 2017-08-28 15:17:29 -07:00
tcpv6_offload.c
tunnel6.c
udp_impl.h
udp_offload.c net: avoid skb_warn_bad_offload false positives on UFO 2017-08-08 21:39:01 -07:00
udp.c net: Add comment that early_demux can change via sysctl 2017-08-28 15:17:29 -07:00
udplite.c
xfrm6_input.c xfrm6: Fix CHECKSUM_COMPLETE after IPv6 header push 2017-08-02 11:00:15 +02:00
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c
xfrm6_output.c
xfrm6_policy.c net: xfrm: support setting an output mark. 2017-08-11 07:03:00 +02:00
xfrm6_protocol.c
xfrm6_state.c
xfrm6_tunnel.c