BACKPORT: net: dev_is_mac_header_xmit() true for ARPHRD_RAWIP

__bpf_redirect() and act_mirred checks this boolean
to determine whether to prefix an ethernet header.

Signed-off-by: Maciej Żenczykowski <maze@google.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>

Note: this is commit 3b707c3008cad04604c1f50e39f456621821c414 upstream,
but it does not trivially cherrypick to 4.9, because the function does
not yet exist, and because ARPHRD_RAWIP is not yet defined.  However,
ARPHRD_RAWIP does exist in many device kernels, so by hiding it in
 #ifdef/#endif clause, we fix any device kernels which merge common.

Bug: 65674744
Change-Id: I79a14d064738805f4c82612b020406cd75eb872c
diff --git a/net/core/filter.c b/net/core/filter.c
index c385c55..768688b 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -1711,6 +1711,9 @@
 	case ARPHRD_IPGRE:
 	case ARPHRD_VOID:
 	case ARPHRD_NONE:
+#ifdef ARPHRD_RAWIP
+	case ARPHRD_RAWIP:
+#endif
 		return __bpf_redirect_no_mac(skb, dev, flags);
 	default:
 		return __bpf_redirect_common(skb, dev, flags);