Add BPF_LOAD_SKB_PKTTYPE macro to BpfClassic.h

Useful for something like:
  BPF_LOAD_SKB_PKTTYPE
  BPF2_REJECT_IF_NOT_EQUAL(PACKET_OUTGOING)

Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I7d3851830a3a764452a448a8663b8a140f69c9ff
This commit is contained in:
Maciej Żenczykowski 2024-11-19 20:16:44 +00:00
commit c58cfb7c7d

View file

@ -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))