summaryrefslogtreecommitdiff
path: root/drivers/net/netdevsim
diff options
context:
space:
mode:
authorIdo Schimmel <idosch@nvidia.com>2021-04-22 16:50:50 +0300
committerDavid S. Miller <davem@davemloft.net>2021-04-22 13:23:56 -0700
commita9b5d871abc417cf65a05a9ba50c6b81a6e427eb (patch)
tree7e1298192b2b6629b6ababc7ffa72d16be0853ed /drivers/net/netdevsim
parent74c97ea3b61e4ce149444f904ee8d4fc7073505b (diff)
netdevsim: Only use sampling truncation length when valid
When the sampling truncation length is invalid (zero), pass the length of the packet. Without the fix, no payload is reported to user space when the truncation length is zero. Fixes: a8700c3dd0a4 ("netdevsim: Add dummy psample implementation") Signed-off-by: Ido Schimmel <idosch@nvidia.com> Acked-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/netdevsim')
-rw-r--r--drivers/net/netdevsim/psample.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/netdevsim/psample.c b/drivers/net/netdevsim/psample.c
index 5ec3bd7f891b..f0c6477dd0ae 100644
--- a/drivers/net/netdevsim/psample.c
+++ b/drivers/net/netdevsim/psample.c
@@ -79,9 +79,10 @@ static struct sk_buff *nsim_dev_psample_skb_build(void)
}
static void nsim_dev_psample_md_prepare(const struct nsim_dev_psample *psample,
- struct psample_metadata *md)
+ struct psample_metadata *md,
+ unsigned int len)
{
- md->trunc_size = psample->trunc_size;
+ md->trunc_size = psample->trunc_size ? psample->trunc_size : len;
md->in_ifindex = psample->in_ifindex;
md->out_ifindex = psample->out_ifindex;
@@ -120,7 +121,7 @@ static void nsim_dev_psample_report_work(struct work_struct *work)
if (!skb)
goto out;
- nsim_dev_psample_md_prepare(psample, &md);
+ nsim_dev_psample_md_prepare(psample, &md, skb->len);
psample_sample_packet(psample->group, skb, psample->rate, &md);
consume_skb(skb);