1*f789afedSDaniel Borkmann // SPDX-License-Identifier: GPL-2.0 2*f789afedSDaniel Borkmann #include "vmlinux.h" 3*f789afedSDaniel Borkmann #include <bpf/bpf_helpers.h> 4*f789afedSDaniel Borkmann 5*f789afedSDaniel Borkmann int redirect_ifindex = 1; 6*f789afedSDaniel Borkmann __u64 verdict_calls = 0; 7*f789afedSDaniel Borkmann __u64 helper_calls = 0; 8*f789afedSDaniel Borkmann 9*f789afedSDaniel Borkmann SEC("tc") qevent_redirect_verdict(struct __sk_buff * skb)10*f789afedSDaniel Borkmannint qevent_redirect_verdict(struct __sk_buff *skb) 11*f789afedSDaniel Borkmann { 12*f789afedSDaniel Borkmann __sync_fetch_and_add(&verdict_calls, 1); 13*f789afedSDaniel Borkmann return TCX_REDIRECT; 14*f789afedSDaniel Borkmann } 15*f789afedSDaniel Borkmann 16*f789afedSDaniel Borkmann SEC("tc") qevent_redirect_helper(struct __sk_buff * skb)17*f789afedSDaniel Borkmannint qevent_redirect_helper(struct __sk_buff *skb) 18*f789afedSDaniel Borkmann { 19*f789afedSDaniel Borkmann __sync_fetch_and_add(&helper_calls, 1); 20*f789afedSDaniel Borkmann return bpf_redirect(redirect_ifindex, 0); 21*f789afedSDaniel Borkmann } 22*f789afedSDaniel Borkmann 23*f789afedSDaniel Borkmann char _license[] SEC("license") = "GPL"; 24