Commit a9b5d871 authored by Ido Schimmel's avatar Ido Schimmel Committed by David S. Miller

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: a8700c3d ("netdevsim: Add dummy psample implementation")
Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
Acked-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 74c97ea3
...@@ -79,9 +79,10 @@ static struct sk_buff *nsim_dev_psample_skb_build(void) ...@@ -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, 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->in_ifindex = psample->in_ifindex;
md->out_ifindex = psample->out_ifindex; md->out_ifindex = psample->out_ifindex;
...@@ -120,7 +121,7 @@ static void nsim_dev_psample_report_work(struct work_struct *work) ...@@ -120,7 +121,7 @@ static void nsim_dev_psample_report_work(struct work_struct *work)
if (!skb) if (!skb)
goto out; 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); psample_sample_packet(psample->group, skb, psample->rate, &md);
consume_skb(skb); consume_skb(skb);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment