Cong Wang wrote: > From: Cong Wang <cong.wang@xxxxxxxxxxxxx> > > It is hard to observe packet drops without increasing relevant > drop counters, here we should increase sk->sk_drops which is > a protocol-independent counter. Fortunately psock is always > associated with a struct sock, we can just use psock->sk. > > Suggested-by: John Fastabend <john.fastabend@xxxxxxxxx> > Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> > Cc: Jakub Sitnicki <jakub@xxxxxxxxxxxxxx> > Cc: Lorenz Bauer <lmb@xxxxxxxxxxxxxx> > Signed-off-by: Cong Wang <cong.wang@xxxxxxxxxxxxx> > --- > net/core/skmsg.c | 22 ++++++++++++++-------- > 1 file changed, 14 insertions(+), 8 deletions(-) > [...] > @@ -942,7 +948,7 @@ static int sk_psock_verdict_apply(struct sk_psock *psock, struct sk_buff *skb, > case __SK_DROP: > default: > out_free: > - kfree_skb(skb); > + sock_drop(psock->sk, skb); I must have missed this on first review. Why should we mark a packet we intentionally drop as sk_drops? I think we should leave it as just kfree_skb() this way sk_drops is just the error cases and if users want this counter they can always add it to the bpf prog itself. > } > > return err;