The NF_INET_LOCAL_OUT
hook has skb->sk
pointing to a struct sock
for the socket that sent the packet. If there a hook that has it set for the socket that receives the packet? In the NF_INET_LOCAL_IN
hook, skb->sk
is null.
Will I have to use __inet_lookup_skb()
? If so, what is the complexity of that function?
EDIT: looks like __inet_lookup_skb()
is for TCP only, since there’s no udp_hashinfo
. I’m doing this for UDP initially.
Advertisement
Answer
It seems there isn’t, but for my case, the LSM hook socket_recvmsg was suitable. It gets a pointer to a struct sock
, which points to the struct sk_buff
s in the receive queue.