netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Fastabend <john.fastabend@gmail.com>
To: Jiri Pirko <jiri@resnulli.us>, netdev@vger.kernel.org
Cc: davem@davemloft.net, yotamg@mellanox.com, idosch@mellanox.com,
	eladr@mellanox.com, nogahf@mellanox.com, ogerlitz@mellanox.com,
	jhs@mojatatu.com, geert+renesas@glider.be,
	stephen@networkplumber.org, xiyou.wangcong@gmail.com,
	linux@roeck-us.net, roopa@cumulusnetworks.com
Subject: Re: [patch net-next 5/8] Introduce sample tc action
Date: Thu, 10 Nov 2016 11:35:26 -0800	[thread overview]
Message-ID: <5824CBFE.5030502@gmail.com> (raw)
In-Reply-To: <1478776988-5400-6-git-send-email-jiri@resnulli.us>

On 16-11-10 03:23 AM, Jiri Pirko wrote:
> From: Yotam Gigi <yotamg@mellanox.com>
> 
> This action allow the user to sample traffic matched by tc classifier.
> The sampling consists of choosing packets randomly, truncating them,
> adding some informative metadata regarding the interface and the original
> packet size and mark them with specific mark, to allow further tc rules to
> match and process. The marked sample packets are then injected into the
> device ingress qdisc using netif_receive_skb.
> 
> The packets metadata is packed using the ife encapsulation protocol, and
> the outer packet's ethernet dest, source and eth_type, along with the
> rate, mark and the optional truncation size can be configured from
> userspace.
> 
> Example:
> To sample ingress traffic from interface eth1, and redirect the sampled
> the sampled packets to interface dummy0, one may use the commands:
> 
> tc qdisc add dev eth1 handle ffff: ingress
> 
> tc filter add dev eth1 parent ffff: \
> 	   matchall action sample rate 12 mark 17
> 
> tc filter add parent ffff: dev eth1 protocol all \
> 	   u32 match mark 17 0xff \
> 	   action mirred egress redirect dev dummy0
> 
> Where the first command adds an ingress qdisc and the second starts
> sampling every 12'th packet on dev eth1 and marks the sampled packets with
> 17. The third command catches the sampled packets, which are marked with
> 17, and redirects them to dev dummy0.

The sampling algorithm was not randomized based on the above commit
log? It really needs to be for all the reasons Roopa mentioned earlier.
Did I miss some email on why it didn't get implemented?

Also there was an indication the already is actually implemented
correctly so don't we need the hw/sw to behave the same. The whole
argument about sw/hw parity, etc.

> 
> Signed-off-by: Yotam Gigi <yotamg@mellanox.com>
> Signed-off-by: Jiri Pirko <jiri@mellanox.com>
> ---

  reply	other threads:[~2016-11-10 19:35 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-10 11:23 [patch net-next 0/8] Add support for offloading packet-sampling Jiri Pirko
2016-11-10 11:23 ` [patch net-next 1/8] Introduce ife encapsulation module Jiri Pirko
2016-11-10 19:17   ` David Miller
2016-11-10 19:52     ` Yotam Gigi
2016-11-10 11:23 ` [patch net-next 2/8] act_ife: Change to use ife module Jiri Pirko
2016-11-10 11:23 ` [patch net-next 3/8] net: ife: Introduce new metadata tlv types Jiri Pirko
2016-11-10 11:23 ` [patch net-next 4/8] net: ife: Introduce packet info packing method Jiri Pirko
2016-11-10 11:23 ` [patch net-next 5/8] Introduce sample tc action Jiri Pirko
2016-11-10 19:35   ` John Fastabend [this message]
2016-11-10 19:38     ` John Fastabend
2016-11-10 19:58       ` Yotam Gigi
2016-11-10 20:16         ` John Fastabend
2016-11-11  8:28       ` Yotam Gigi
2016-11-11 12:43         ` Simon Horman
2016-11-11 14:52           ` John Fastabend
2016-11-11 17:47             ` David Miller
2016-11-11 16:34           ` Yotam Gigi
2016-11-10 11:23 ` [patch net-next 6/8] tc: sample: Add sequence number and sampler_id fields Jiri Pirko
2016-11-10 11:23 ` [patch net-next 7/8] mlxsw: reg: add the Monitoring Packet Sampling Configuration Register Jiri Pirko
2016-11-10 11:23 ` [patch net-next 8/8] mlxsw: packet sample: Add packet sample offloading support Jiri Pirko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5824CBFE.5030502@gmail.com \
    --to=john.fastabend@gmail.com \
    --cc=davem@davemloft.net \
    --cc=eladr@mellanox.com \
    --cc=geert+renesas@glider.be \
    --cc=idosch@mellanox.com \
    --cc=jhs@mojatatu.com \
    --cc=jiri@resnulli.us \
    --cc=linux@roeck-us.net \
    --cc=netdev@vger.kernel.org \
    --cc=nogahf@mellanox.com \
    --cc=ogerlitz@mellanox.com \
    --cc=roopa@cumulusnetworks.com \
    --cc=stephen@networkplumber.org \
    --cc=xiyou.wangcong@gmail.com \
    --cc=yotamg@mellanox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).