[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190830063624.GN2312@nanopsycho>
Date: Fri, 30 Aug 2019 08:36:24 +0200
From: Jiri Pirko <jiri@...nulli.us>
To: David Miller <davem@...emloft.net>
Cc: idosch@...sch.org, andrew@...n.ch, horatiu.vultur@...rochip.com,
alexandre.belloni@...tlin.com, UNGLinuxDriver@...rochip.com,
allan.nielsen@...rochip.com, ivecera@...hat.com,
f.fainelli@...il.com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 1/2] net: core: Notify on changes to dev->promiscuity.
Fri, Aug 30, 2019 at 08:02:33AM CEST, davem@...emloft.net wrote:
>From: Jiri Pirko <jiri@...nulli.us>
>Date: Fri, 30 Aug 2019 07:39:40 +0200
>
>> Because the "promisc mode" would gain another meaning. Now how the
>> driver should guess which meaning the user ment when he setted it?
>> filter or trap?
>>
>> That is very confusing. If the flag is the way to do this, let's
>> introduce another flag, like IFF_TRAPPING indicating that user wants
>> exactly this.
>
>I don't understand how the meaning of promiscuous mode for a
>networking device has suddenly become ambiguous, when did this start
>happening?
The promiscuity is a way to setup the rx filter. So promics == rx filter
off. For normal nics, where there is no hw fwd datapath,
this coincidentally means all received packets go to cpu.
But if there is hw fwd datapath, rx filter is still off, all rxed packets
are processed. But that does not mean they should be trapped to cpu.
Simple example:
I need to see slowpath packets, for example arps/stp/bgp/... that
are going to cpu, I do:
tcpdump -i swp1
I don't want to get all the traffic running over hw running this cmd.
This is a valid usecase.
To cope with hw fwd datapath devices, I believe that tcpdump has to have
notion of that. Something like:
tcpdump -i swp1 --hw-trapping-mode
The logic can be inverse:
tcpdump -i swp1
tcpdump -i swp1 --no-hw-trapping-mode
However, that would provide inconsistent behaviour between existing and
patched tcpdump/kernel.
All I'm trying to say, there are 2 flags
needed (if we don't use tc trap).
Powered by blists - more mailing lists