>-----Original Message----- >From: Roopa Prabhu [mailto:ro...@cumulusnetworks.com] >Sent: Wednesday, November 16, 2016 6:15 PM >To: Jiri Pirko <j...@resnulli.us> >Cc: netdev@vger.kernel.org; da...@davemloft.net; Yotam Gigi ><yot...@mellanox.com>; Ido Schimmel <ido...@mellanox.com>; Elad Raz ><el...@mellanox.com>; Nogah Frankel <nog...@mellanox.com>; Or Gerlitz ><ogerl...@mellanox.com>; j...@mojatatu.com; geert+rene...@glider.be; >step...@networkplumber.org; xiyou.wangc...@gmail.com; li...@roeck-us.net; >john.fastab...@gmail.com; simon.hor...@netronome.com >Subject: Re: [patch net-next v2 5/8] Introduce sample tc action > >On 11/14/16, 7:00 AM, Jiri Pirko wrote: >> From: Yotam Gigi <yot...@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 > >Yotham, I am guessing in the future if one does not want to use mark, >the sample api is extensible to allow for other actions to be added. >This is from the general concern we had on using mark: some may not want to use >mark. >As long as the api is extensible to allow an alternate way in the future, > we should be good. (We would prefer to not go down the path of having to >introduce >a new 'action sample' if this limits us in some way).
The code is extensible - if one does want to add another action to sample, he totally can :) By the way, one of the reasons we removed the patches for now is that we consider adding mirroring functionality to it instead of heaving two tc-rules. > >> >> tc filter add parent ffff: dev eth1 protocol all \ >> u32 match mark 17 0xff \ >> action mirred egress redirect dev dummy0 >> > >thanks.