1*4882a593Smuzhiyun #include <linux/stddef.h> 2*4882a593Smuzhiyun #include <linux/ipv6.h> 3*4882a593Smuzhiyun #include <linux/bpf.h> 4*4882a593Smuzhiyun #include <linux/in.h> 5*4882a593Smuzhiyun #include <sys/socket.h> 6*4882a593Smuzhiyun #include <bpf/bpf_helpers.h> 7*4882a593Smuzhiyun #include <bpf/bpf_endian.h> 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun SEC("freplace/do_bind") new_do_bind(struct bpf_sock_addr * ctx)10*4882a593Smuzhiyunint new_do_bind(struct bpf_sock_addr *ctx) 11*4882a593Smuzhiyun { 12*4882a593Smuzhiyun struct sockaddr_in sa = {}; 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun bpf_bind(ctx, (struct sockaddr *)&sa, sizeof(sa)); 15*4882a593Smuzhiyun return 0; 16*4882a593Smuzhiyun } 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun char _license[] SEC("license") = "GPL"; 19