packet: restore packet statistics tp_packets to include drops
getsockopt PACKET_STATISTICS returns tp_packets + tp_drops. Commit
ee80fbf301
("packet: account statistics only in tpacket_stats_u")
cleaned up the getsockopt PACKET_STATISTICS code.
This also changed semantics. Historically, tp_packets included
tp_drops on return. The commit removed the line that adds tp_drops
into tp_packets.
This patch reinstates the old semantics.
Signed-off-by: Willem de Bruijn <willemb@google.com>
Acked-by: Daniel Borkmann <dborkman@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
8b64fd6147
Коммит
8bcdeaff5e
|
@ -3259,9 +3259,11 @@ static int packet_getsockopt(struct socket *sock, int level, int optname,
|
|||
|
||||
if (po->tp_version == TPACKET_V3) {
|
||||
lv = sizeof(struct tpacket_stats_v3);
|
||||
st.stats3.tp_packets += st.stats3.tp_drops;
|
||||
data = &st.stats3;
|
||||
} else {
|
||||
lv = sizeof(struct tpacket_stats);
|
||||
st.stats1.tp_packets += st.stats1.tp_drops;
|
||||
data = &st.stats1;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче