Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef __LINUX_BRIDGE_NETFILTER_H |
2 | #define __LINUX_BRIDGE_NETFILTER_H | |
3 | ||
607ca46e DH |
4 | #include <uapi/linux/netfilter_bridge.h> |
5 | ||
1da177e4 LT |
6 | |
7 | enum nf_br_hook_priorities { | |
8 | NF_BR_PRI_FIRST = INT_MIN, | |
9 | NF_BR_PRI_NAT_DST_BRIDGED = -300, | |
10 | NF_BR_PRI_FILTER_BRIDGED = -200, | |
11 | NF_BR_PRI_BRNF = 0, | |
12 | NF_BR_PRI_NAT_DST_OTHER = 100, | |
13 | NF_BR_PRI_FILTER_OTHER = 200, | |
14 | NF_BR_PRI_NAT_SRC = 300, | |
15 | NF_BR_PRI_LAST = INT_MAX, | |
16 | }; | |
17 | ||
34666d46 | 18 | #if IS_ENABLED(CONFIG_BRIDGE_NETFILTER) |
1da177e4 LT |
19 | |
20 | #define BRNF_PKT_TYPE 0x01 | |
21 | #define BRNF_BRIDGED_DNAT 0x02 | |
ea2d9b41 | 22 | #define BRNF_NF_BRIDGE_PREROUTING 0x08 |
e179e632 BDS |
23 | #define BRNF_8021Q 0x10 |
24 | #define BRNF_PPPoE 0x20 | |
1da177e4 | 25 | |
6c79bf0f BDS |
26 | static inline unsigned int nf_bridge_mtu_reduction(const struct sk_buff *skb) |
27 | { | |
28 | if (unlikely(skb->nf_bridge->mask & BRNF_PPPoE)) | |
29 | return PPPOE_SES_HLEN; | |
30 | return 0; | |
31 | } | |
32 | ||
a0f4ecf3 | 33 | int br_handle_frame_finish(struct sk_buff *skb); |
ea2d9b41 | 34 | |
a881e963 PHP |
35 | static inline void br_drop_fake_rtable(struct sk_buff *skb) |
36 | { | |
37 | struct dst_entry *dst = skb_dst(skb); | |
38 | ||
39 | if (dst && (dst->flags & DST_FAKE_RTABLE)) | |
40 | skb_dst_drop(skb); | |
41 | } | |
42 | ||
07317621 | 43 | #else |
a881e963 | 44 | #define br_drop_fake_rtable(skb) do { } while (0) |
1da177e4 LT |
45 | #endif /* CONFIG_BRIDGE_NETFILTER */ |
46 | ||
1da177e4 | 47 | #endif |