Skip to content

Commit e68d198

Browse files
Pavel Dubovitskymeta-codesync[bot]
authored andcommitted
adding fwmark for decaped packets
Summary: adding option (disabled by default) to set fwmark on decapped packets. Reviewed By: avasylev Differential Revision: D99727012 fbshipit-source-id: c7a1735f69ac954ede865d5088a00ba51b4bf4a9
1 parent 22961e4 commit e68d198

2 files changed

Lines changed: 14 additions & 0 deletions

File tree

katran/decap/tc_bpf/tc_decap.bpf.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,9 @@ __attribute__((__always_inline__)) static inline int process_packet(
111111
if (action >= 0) {
112112
return action;
113113
}
114+
#ifdef ENABLE_DECAP_MARK
115+
set_decap_skb_mark(skb);
116+
#endif
114117
}
115118
}
116119
return TC_ACT_UNSPEC;

katran/decap/tc_bpf/tc_decap_kern_helpers.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,17 @@
2929
#include "katran/lib/linux_includes/bpf.h"
3030
#include "katran/lib/linux_includes/bpf_helpers.h"
3131

32+
#ifndef TC_DECAP_SKB_MARK
33+
#define TC_DECAP_SKB_MARK 0xDEC
34+
#endif
35+
36+
#ifdef ENABLE_DECAP_MARK
37+
__attribute__((__always_inline__)) static inline void set_decap_skb_mark(
38+
struct __sk_buff* skb) {
39+
skb->mark = TC_DECAP_SKB_MARK;
40+
}
41+
#endif
42+
3243
__attribute__((__always_inline__)) static inline bool tc_decap_v6(
3344
struct __sk_buff* skb,
3445
void** data,

0 commit comments

Comments
 (0)