icmp: prepare rfc 4884 for ipv6

The RFC 4884 spec is largely the same between IPv4 and IPv6.
Factor out the IPv4 specific parts in preparation for IPv6 support:

- icmp types supported

- icmp header size, and thus offset to original datagram start

- datagram length field offset in icmp(6)hdr.

- datagram length field word size: 4B for IPv4, 8B for IPv6.

Signed-off-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Willem de Bruijn
2020-07-24 09:03:09 -04:00
committed by David S. Miller
parent c4e9e09f55
commit 178c49d9f9
3 changed files with 19 additions and 15 deletions

View File

@@ -37,6 +37,7 @@ static inline bool icmp_is_err(int type)
}
void ip_icmp_error_rfc4884(const struct sk_buff *skb,
struct sock_ee_data_rfc4884 *out);
struct sock_ee_data_rfc4884 *out,
int thlen, int off);
#endif /* _LINUX_ICMP_H */