We want to call `bpf_setsockopt` to replace the kernel module in the TCP_ULP case. The purpose is to customize the behavior in `connect` and `sendmsg`. We have an open-source community project kmesh (kmesh.net). Based on this, we refer to some processes of TCP Fast Open to implement delayed connect and perform HTTP DNAT when `sendmsg`. I'll send a patch with a full description and test cases later. > > Signed-off-by: zhangmingyi <zhangmingyi5@xxxxxxxxxx> > > --- > > net/core/filter.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/net/core/filter.c b/net/core/filter.c > > index 713d6f454df3..f23d3f87e690 100644 > > --- a/net/core/filter.c > > +++ b/net/core/filter.c > > @@ -5383,6 +5383,10 @@ static int sol_tcp_sockopt(struct sock *sk, int optname, > > if (*optlen < 1) > > return -EINVAL; > > break; > > + case TCP_ULP: > > + if (getopt) > > + return -EINVAL; > > + break; > > case TCP_BPF_SOCK_OPS_CB_FLAGS: > > if (*optlen != sizeof(int)) > > return -EINVAL; >