From c58cfb7c7da257010346bd2d6dcca1c0acdc8321 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20=C5=BBenczykowski?= Date: Tue, 19 Nov 2024 20:16:44 +0000 Subject: [PATCH] Add BPF_LOAD_SKB_PKTTYPE macro to BpfClassic.h MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Useful for something like: BPF_LOAD_SKB_PKTTYPE BPF2_REJECT_IF_NOT_EQUAL(PACKET_OUTGOING) Test: TreeHugger Signed-off-by: Maciej Żenczykowski Change-Id: I7d3851830a3a764452a448a8663b8a140f69c9ff --- bpf/headers/include/bpf/BpfClassic.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bpf/headers/include/bpf/BpfClassic.h b/bpf/headers/include/bpf/BpfClassic.h index 924f7a3502..e6cef89a74 100644 --- a/bpf/headers/include/bpf/BpfClassic.h +++ b/bpf/headers/include/bpf/BpfClassic.h @@ -63,6 +63,10 @@ #define BPF_LOAD_SKB_PROTOCOL \ BPF_STMT(BPF_LD | BPF_H | BPF_ABS, (__u32)SKF_AD_OFF + SKF_AD_PROTOCOL) +// loads skb->pkt_type (0..7: see uapi/linux/if_packet.h PACKET_* constants) +#define BPF_LOAD_SKB_PKTTYPE \ + BPF_STMT(BPF_LD | BPF_B | BPF_ABS, (__u32)SKF_AD_OFF + SKF_AD_PKTTYPE) + // 8-bit load relative to start of link layer (mac/ethernet) header. #define BPF_LOAD_MAC_RELATIVE_U8(ofs) \ BPF_STMT(BPF_LD | BPF_B | BPF_ABS, (__u32)SKF_LL_OFF + (ofs))