diff --git a/bpf_progs/clatd.c b/bpf_progs/clatd.c index a104084153a56579bf66618d8f0f1d19c8b60a70..8f0ff844aa2a2d2a9f55cc545090104764d89991 100644 --- a/bpf_progs/clatd.c +++ b/bpf_progs/clatd.c @@ -240,6 +240,8 @@ static inline __always_inline int nat64(struct __sk_buff* skb, return TC_ACT_SHOT; } + try_make_writable(skb, l2_header_size + sizeof(struct iphdr)); + // bpf_skb_change_proto() invalidates all pointers - reload them. data = (void*)(long)skb->data; data_end = (void*)(long)skb->data_end;