net-core: rx_otherhost_dropped to core_stats
Increment rx_otherhost_dropped counter when packet dropped due to
mismatched dest MAC addr.
An example when this drop can occur is when manually crafting raw
packets that will be consumed by a user space application via a tap
device. For testing purposes local traffic was generated using trafgen
for the client and netcat to start a server
Tested: Created 2 netns, sent 1 packet using trafgen from 1 to the other
with "{eth(daddr=$INCORRECT_MAC...}", verified that iproute2 showed the
counter was incremented. (Also had to modify iproute2 to show the stat,
additional patch for that coming next.)
Signed-off-by: Jeffrey Ji <jeffreyji@google.com>
Reviewed-by: Brian Vazquez <brianvv@google.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://lore.kernel.org/r/20220406172600.1141083-1-jeffreyjilinux@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
4d242a190f
commit
794c24e992
@@ -203,6 +203,7 @@ struct net_device_core_stats {
|
||||
local_t rx_dropped;
|
||||
local_t tx_dropped;
|
||||
local_t rx_nohandler;
|
||||
local_t rx_otherhost_dropped;
|
||||
} __aligned(4 * sizeof(local_t));
|
||||
|
||||
#include <linux/cache.h>
|
||||
@@ -3837,6 +3838,7 @@ static inline void dev_core_stats_##FIELD##_inc(struct net_device *dev) \
|
||||
DEV_CORE_STATS_INC(rx_dropped)
|
||||
DEV_CORE_STATS_INC(tx_dropped)
|
||||
DEV_CORE_STATS_INC(rx_nohandler)
|
||||
DEV_CORE_STATS_INC(rx_otherhost_dropped)
|
||||
|
||||
static __always_inline int ____dev_forward_skb(struct net_device *dev,
|
||||
struct sk_buff *skb,
|
||||
|
||||
Reference in New Issue
Block a user