name enp1s0np1.20 type vlan id 20
$ ip link add name br0 type bridge
$ ip link set dev enp1s0np1.10 master br0
$ ip link set dev enp1s0np1.20 master br0
Error: spectrum: Can not bridge VLAN uppers of the same port.
Signed-off-by: Ido Schimmel
Signed-off-by: Jiri Pirko
Acked-by: David Ahern
-by: Nogah Frankel
Signed-off-by: Jiri Pirko
---
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 2 +-
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.h | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
b
s the switchdev_attr.u.mrouter boolean flag to indicate
the current bridge mrouter status. Thus, it only indicates whether the
bridge is currently used as an mrouter or not, and does not indicate the
exact mrouter state of the bridge (learning, permanent, etc.).
Signed-off-by: Yotam Gigi
Signed-off-by: Jiri
port.
Signed-off-by: Yotam Gigi
Reviewed-by: Nogah Frankel
Signed-off-by: Jiri Pirko
---
.../ethernet/mellanox/mlxsw/spectrum_switchdev.c | 65 +-
1 file changed, 63 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
b/driver
notifications.
Signed-off-by: Yotam Gigi
Reviewed-by: Nogah Frankel
Signed-off-by: Jiri Pirko
---
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c | 13 +++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
b/drivers
change in
packet RX path, take the multicast_router bridge spinlock to protect the
read.
Signed-off-by: Yotam Gigi
Reviewed-by: Nogah Frankel
Reviewed-by: Nikolay Aleksandrov
Signed-off-by: Jiri Pirko
---
include/linux/if_bridge.h | 5 +
net/bridge/br_multicast.c | 12
2 files
From: Jiri Pirko
Yotam says:
Similarly to a bridged port, the bridge device itself can be configured by
the user to be an mrouter port. In this case, all multicast traffic should
be forwarded to it. Make the mlxsw Spectrum driver offload these directives
to the Spectrum hardware.
Patches 1 and
From: Jiri Pirko
Return dev directly, NULL if not possible. That is enough.
Makes no sense to pass struct net * to get_dev op, as there is only one
net possible, the one the action was created in. So just store it in
mirred priv and use directly.
Rename the mirred op callback function.
Signed
From: Jiri Pirko
The helper and the struct field ares no longer used by any code,
so remove them.
Signed-off-by: Jiri Pirko
---
include/net/pkt_cls.h | 3 ---
net/sched/cls_api.c | 22 --
2 files changed, 25 deletions(-)
diff --git a/include/net/pkt_cls.h b/include/net
From: Jiri Pirko
The only user of cls_flower->egress_dev is mlx5. So do the conversion
there alongside with the code originating the call in cls_flower
function fl_hw_replace_filter to the newly introduced egress device
callback infrastucture.
Signed-off-by: Jiri Pirko
---
drivers/
From: Jiri Pirko
Introduce infrastructure that allows drivers to register callbacks that
are called whenever tc would offload inserted rule and specified device
acts as tc action egress device.
Signed-off-by: Jiri Pirko
---
include/net/act_api.h | 34 +
include/net/pkt_cls.h | 2
From: Jiri Pirko
Introduction of cls_flower->egress_dev was a workaround. Turned out
to be a bit ugly hack. So replace it with more generic and reusable
infrastructure.
This is a dependency of shared block introduction that will be send as
a follow-up patchsets group.
Jiri Pirko (4):
Tue, Oct 10, 2017 at 03:31:59PM CEST, david.lai...@aculab.com wrote:
>From: Jiri Pirko
>> Sent: 10 October 2017 08:30
>> Introduce infrastructure that allows drivers to register callbacks that
>> are called whenever tc would offload inserted rule and specified device
>&g
Tue, Oct 10, 2017 at 05:12:34PM CEST, david.lai...@aculab.com wrote:
>From: Jiri Pirko
>> Sent: 10 October 2017 15:32
>> To: David Laight
>> Cc: netdev@vger.kernel.org; da...@davemloft.net; j...@mojatatu.com;
>> xiyou.wangc...@gmail.com;
>> sae...@mella
Tue, Oct 10, 2017 at 07:24:21PM CEST, gerlitz...@gmail.com wrote:
>Jiri,
>
>FWIW, as I reported to you earlier, I was playing with tc encap/decap rules
>on 4.14-rc+ (net) before
>applying any patch of this series, and something is messy w.r.t to decap
>rules. I don't see
>them removed at all when u
Tue, Oct 10, 2017 at 10:08:23PM CEST, gerlitz...@gmail.com wrote:
>On Tue, Oct 10, 2017 at 10:30 AM, Jiri Pirko wrote:
>> The only user of cls_flower->egress_dev is mlx5.
>
>but nfp supports decap action offload too and from the flower code
>stand point, I guess they are both
Tue, Oct 10, 2017 at 07:44:53PM CEST, xiyou.wangc...@gmail.com wrote:
>On Tue, Oct 10, 2017 at 12:30 AM, Jiri Pirko wrote:
>> -static int tcf_mirred_device(const struct tc_action *a, struct net *net,
>> -struct net_device **mirred_dev)
>> +sta
Tue, Oct 10, 2017 at 11:46:22PM CEST, gerlitz...@gmail.com wrote:
>On Wed, Oct 11, 2017 at 12:13 AM, Jiri Pirko wrote:
>> Tue, Oct 10, 2017 at 07:24:21PM CEST, gerlitz...@gmail.com wrote:
>
>> Or, as I replied to you earlier, the issue you describe is totally
>> unrelated
Wed, Oct 11, 2017 at 02:43:58AM CEST, vinicius.go...@intel.com wrote:
>This queueing discipline implements the shaper algorithm defined by
>the 802.1Q-2014 Section 8.6.8.2 and detailed in Annex L.
>
>It's primary usage is to apply some bandwidth reservation to user
>defined traffic classes, which a
Wed, Oct 11, 2017 at 02:43:59AM CEST, vinicius.go...@intel.com wrote:
>This adds support for offloading the CBS algorithm to the controller,
>if supported.
Oh, so you have it as a separate patch, yet some bits left in the
previous one...
>
>Signed-off-by: Vinicius Costa Gomes
>---
> net/sched/s
From: Jiri Pirko
The only user of cls_flower->egress_dev is mlx5. So do the conversion
there alongside with the code originating the call in cls_flower
function fl_hw_replace_filter to the newly introduced egress device
callback infrastucture.
Signed-off-by: Jiri Pirko
---
drivers/
From: Jiri Pirko
Introduction of cls_flower->egress_dev was a workaround. Turned out
to be a bit ugly hack. So replace it with more generic and reusable
infrastructure.
This is a dependency of shared block introduction that will be send as
a follow-up patchsets group.
---
v1->v2:
-
From: Jiri Pirko
Return dev directly, NULL if not possible. That is enough.
Makes no sense to pass struct net * to get_dev op, as there is only one
net possible, the one the action was created in. So just store it in
mirred priv and use directly.
Rename the mirred op callback function.
Signed
From: Jiri Pirko
Introduce infrastructure that allows drivers to register callbacks that
are called whenever tc would offload inserted rule and specified device
acts as tc action egress device.
Signed-off-by: Jiri Pirko
---
v1->v2:
- take rtnl for register/unregister
---
include/net/act_ap
From: Jiri Pirko
The helper and the struct field ares no longer used by any code,
so remove them.
Signed-off-by: Jiri Pirko
---
include/net/pkt_cls.h | 3 ---
net/sched/cls_api.c | 22 --
2 files changed, 25 deletions(-)
diff --git a/include/net/pkt_cls.h b/include/net
Wed, Oct 11, 2017 at 02:24:12AM CEST, amritha.namb...@intel.com wrote:
>This patch series enables configuring cloud filters in i40e
>using the tc-flower classifier. The classification function
>of the filter is to match a packet to a class. cls_flower is
>extended to offload classid to hardware. Th
Wed, Oct 11, 2017 at 02:35:50PM CEST, manish.ku...@verizon.com wrote:
>Hi Jamal, Yes, that's an indentation mismatch - I put in one tab too many.
>Shall fix before commit.
No top-posting please!
>
>Thanks,
>
>-Manish
>
>-Original Message-
>From: Jamal Hadi Salim [mailto:j...@mojatatu.co
Wed, Oct 11, 2017 at 04:33:39AM CEST, kurup.man...@gmail.com wrote:
>Using a spinlock in the VLAN action causes performance issues when the VLAN
>action is used on multiple cores. Rewrote the VLAN action to use RCU read
>locking for reads and updates instead.
>
>Signed-off-by: Manish Kurup
>---
>
skb_pull_rcsum(skb, skb->mac_len);
>@@ -172,7 +174,7 @@ static int tcf_vlan_init(struct net *net, struct nlattr
>*nla,
>
> if (!exists) {
> ret = tcf_idr_create(tn, parm->index, est, a,
>- &act_vlan_ops, bind, false);
>+ &act_vlan_ops, bind, true);
Please fix this indent nit as pointed out by Jamal.
Feel free to add my tag:
Acked-by: Jiri Pirko
Thanks!
Wed, Oct 11, 2017 at 07:46:27PM CEST, alexander.du...@gmail.com wrote:
>On Wed, Oct 11, 2017 at 5:56 AM, Jiri Pirko wrote:
>> Wed, Oct 11, 2017 at 02:24:12AM CEST, amritha.namb...@intel.com wrote:
>>>This patch series enables configuring cloud filters in i40e
>>>usi
Wed, Oct 11, 2017 at 06:27:07PM CEST, xiyou.wangc...@gmail.com wrote:
>On Tue, Oct 10, 2017 at 7:33 PM, Manish Kurup wrote:
[...]
>> @@ -187,16 +196,33 @@ static int tcf_vlan_init(struct net *net, struct
>> nlattr *nla,
>>
>> v = to_vlan(*a);
>>
>> - spin_lock_bh(&v->tcf_lock);
>
Wed, Oct 11, 2017 at 06:34:51PM CEST, xiyou.wangc...@gmail.com wrote:
>On Tue, Oct 10, 2017 at 2:19 PM, Jiri Pirko wrote:
>> Tue, Oct 10, 2017 at 07:44:53PM CEST, xiyou.wangc...@gmail.com wrote:
>>>On Tue, Oct 10, 2017 at 12:30 AM, Jiri Pirko wrote:
>>>> -stat
Wed, Oct 11, 2017 at 10:46:52PM CEST, da...@davemloft.net wrote:
>From: Jiri Pirko
>Date: Wed, 11 Oct 2017 22:38:32 +0200
>
>> Wed, Oct 11, 2017 at 07:46:27PM CEST, alexander.du...@gmail.com wrote:
>>>On Wed, Oct 11, 2017 at 5:56 AM, Jiri Pirko wrote:
>>>>
Wed, Oct 11, 2017 at 11:19:29PM CEST, da...@davemloft.net wrote:
>From: Jiri Pirko
>Date: Wed, 11 Oct 2017 22:58:30 +0200
>
>> Well if I see classid, I expect it should refer to qdisc instance. So
>> far, this has been always a case. But for some drivers, this would mean
Thu, Oct 12, 2017 at 09:05:10AM CEST, alexander.du...@gmail.com wrote:
>On Wed, Oct 11, 2017 at 1:58 PM, Jiri Pirko wrote:
>> Wed, Oct 11, 2017 at 10:46:52PM CEST, da...@davemloft.net wrote:
>>>From: Jiri Pirko
>>>Date: Wed, 11 Oct 2017 22:38:32 +0200
>>>
Thu, Oct 12, 2017 at 03:34:20PM CEST, steven.l...@broadcom.com wrote:
>Add support for config parameter get/set commands. Initially used by
>bnxt driver, but other drivers can use the same, or new, attributes.
>The config_get() and config_set() operations operate as expected, but
>note that the dri
Thu, Oct 12, 2017 at 03:34:20PM CEST, steven.l...@broadcom.com wrote:
>+
>+ /* When config doesn't take effect until next reboot (config
>+ * just changed NVM which isn't read until boot, for example),
>+ * this attribute should be set by the driver.
>+ */
>+ DEVLINK_ATT
Thu, Oct 12, 2017 at 04:35:10PM CEST, ro...@cumulusnetworks.com wrote:
>On Thu, Oct 12, 2017 at 6:34 AM, Steve Lin wrote:
>> Adds a devlink command for getting & setting device configuration
>> parameters, and enumerates a bunch of those parameters as devlink
>> attributes. Also introduces an att
Thu, Oct 12, 2017 at 04:46:24PM CEST, ro...@cumulusnetworks.com wrote:
>On Thu, Oct 12, 2017 at 7:40 AM, Jiri Pirko wrote:
>> Thu, Oct 12, 2017 at 04:35:10PM CEST, ro...@cumulusnetworks.com wrote:
>>>On Thu, Oct 12, 2017 at 6:34 AM, Steve Lin wrote:
>>>> Adds
From: Jiri Pirko
Benefit from the newly introduced block callback infrastructure and
convert ndo_setup_tc calls for flower offloads to block callbacks.
Signed-off-by: Jiri Pirko
---
drivers/net/ethernet/mellanox/mlx5/core/en.h | 4 +-
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
From: Jiri Pirko
Benefit from the previously introduced shared filter blocks
infrastructure and allow ingress and clsact qdisc instances to share
filter blocks. The block index is coming from userspace as qdisc option.
Signed-off-by: Jiri Pirko
---
include/uapi/linux/pkt_sched.h | 12
From: Jiri Pirko
Benefit from the newly introduced block callback infrastructure and
convert ndo_setup_tc calls for flower offloads to block callbacks.
Signed-off-by: Jiri Pirko
---
.../net/ethernet/netronome/nfp/flower/offload.c| 56 ++
1 file changed, 48 insertions
From: Jiri Pirko
First of all, I would like to apologize for big patchset. However after
couple of hours trying to figure out how to cut it, I found out it is
actually not possible. I would have to add some interface in one patchset
and only use it in second, which is forbidden. Also, I would
From: Jiri Pirko
tc_u_common is now per-q. With blocks, it has to be converted to be
per-block.
Signed-off-by: Jiri Pirko
---
net/sched/cls_u32.c | 12
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
index 094d224..b6d4606
From: Jiri Pirko
It is no longer used by the drivers, so remove it.
Signed-off-by: Jiri Pirko
---
include/net/pkt_cls.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h
index 2e73832..1c8ef4f 100644
--- a/include/net/pkt_cls.h
+++ b/include
From: Jiri Pirko
Whenever the block->q is set, it can be used instead of tp->q as it
contains the same value. When it is not set, which can't happen now but
it might happen with the follow-up shared blocks introduction, the class
is not set in the result. That would lead to a c
From: Jiri Pirko
So far, there was possible only to register a single filter chain
pointer to block->chain[0]. However, when the blocks will get shareable,
we need to allow multiple filter chain pointers registration.
Signed-off-by: Jiri Pirko
---
include/net/pkt_sched.h | 7 +
incl
From: Jiri Pirko
Couple of classifiers call netif_keep_dst directly on q->dev. That is
not possible to do directly for shared blocke where multiple qdiscs are
owning the block. So introduce a infrastructure to keep track of the
block owners in list and use this list to implement block variant
From: Jiri Pirko
Introduce new type of ndo_setup_tc message to propage binding/unbinding
of a block to binder.
Signed-off-by: Jiri Pirko
---
include/linux/netdevice.h | 1 +
include/net/pkt_cls.h | 21 +++--
include/net/sch_generic.h | 1 +
net/sched/cls_api.c | 33
From: Jiri Pirko
Both are no longer used, so remove them.
Signed-off-by: Jiri Pirko
---
include/net/sch_generic.h | 2 --
net/sched/cls_api.c | 7 ++-
2 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
index 17c908a
From: Jiri Pirko
These helpers are no longer in use by drivers, so remove them.
Signed-off-by: Jiri Pirko
---
include/net/pkt_sched.h | 13 -
1 file changed, 13 deletions(-)
diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h
index 2d234af..b8ecafc 100644
--- a/include
From: Jiri Pirko
All drivers are converted to use block callbacks for TC_SETUP_CLS*.
So it is now safe to remove the calls to ndo_setup_tc from cls_*
Signed-off-by: Jiri Pirko
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 --
drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
From: Jiri Pirko
Benefit from the newly introduced block callback infrastructure and
convert ndo_setup_tc calls for matchall offloads to block callbacks.
Signed-off-by: Jiri Pirko
---
net/dsa/slave.c | 64 +++--
1 file changed, 53 insertions
From: Jiri Pirko
Extend the tc_setup_cb_call entrypoint function originally used only for
action egress devices callbacks to call per-block callbacks as well.
Signed-off-by: Jiri Pirko
---
include/net/pkt_cls.h | 4 ++--
net/sched/cls_api.c| 21 ++---
net/sched
From: Jiri Pirko
Benefit from the newly introduced block callback infrastructure and
convert ndo_setup_tc calls for flower offloads to block callbacks.
Signed-off-by: Jiri Pirko
---
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 44
1 file changed, 38 insertions
From: Jiri Pirko
Benefit from the newly introduced block callback infrastructure and
convert ndo_setup_tc calls for bpf offloads to block callbacks.
Signed-off-by: Jiri Pirko
---
drivers/net/ethernet/netronome/nfp/bpf/main.c| 53 +++-
drivers/net/ethernet/netronome/nfp
From: Jiri Pirko
Benefit from the newly introduced block callback infrastructure and
convert ndo_setup_tc calls for u32 offloads to block callbacks.
Signed-off-by: Jiri Pirko
---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 45 +++
1 file changed, 39 insertions
From: Jiri Pirko
Benefit from the newly introduced block callback infrastructure and
convert ndo_setup_tc calls for flower and u32 offloads to block callbacks.
Signed-off-by: Jiri Pirko
---
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 45 +
1 file changed, 39
From: Jiri Pirko
Use the newly introduced callbacks infrastructure and call block
callbacks alongside with the existing per-netdev ndo_setup_tc.
Signed-off-by: Jiri Pirko
---
net/sched/cls_matchall.c | 72 ++--
1 file changed, 45 insertions(+), 27
From: Jiri Pirko
Benefit from the newly introduced block callback infrastructure and
convert ndo_setup_tc calls for flower offloads to block callbacks.
Signed-off-by: Jiri Pirko
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 37 +++
drivers/net/ethernet/broadcom/bnxt
From: Jiri Pirko
Use the newly introduced callbacks infrastructure and call block
callbacks alongside with the existing per-netdev ndo_setup_tc.
Signed-off-by: Jiri Pirko
---
net/sched/cls_u32.c | 72 ++---
1 file changed, 52 insertions(+), 20
From: Jiri Pirko
Signed-off-by: Jiri Pirko
---
net/sched/cls_u32.c | 16
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
index b6d4606..f407f13 100644
--- a/net/sched/cls_u32.c
+++ b/net/sched/cls_u32.c
@@ -462,7 +462,7
From: Jiri Pirko
Benefit from the newly introduced block callback infrastructure and
convert ndo_setup_tc calls for matchall and flower offloads to block
callbacks.
Signed-off-by: Jiri Pirko
---
drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 82 +++---
1 file changed, 60
From: Jiri Pirko
Introduce infrastructure that allows drivers to register callbacks that
are called whenever tc would offload inserted rule for a specific block.
Signed-off-by: Jiri Pirko
---
include/net/pkt_cls.h | 81
include/net/sch_generic.h | 1
From: Jiri Pirko
Use previously introduced extended variants of block get and put
functions. This allows to specify a binder types specific to clsact
ingress/egress which is useful for drivers to distinguish who actually
got the block.
Signed-off-by: Jiri Pirko
---
include/net/pkt_cls.h
From: Jiri Pirko
Use the newly introduced callbacks infrastructure and call block
callbacks alongside with the existing per-netdev ndo_setup_tc.
Signed-off-by: Jiri Pirko
---
net/sched/cls_bpf.c | 40
1 file changed, 32 insertions(+), 8 deletions
From: Jiri Pirko
The callers have this info, they will pass it down to tcf_fill_node.
Signed-off-by: Jiri Pirko
---
net/sched/cls_api.c | 55 ++---
1 file changed, 35 insertions(+), 20 deletions(-)
diff --git a/net/sched/cls_api.c b/net/sched
From: Jiri Pirko
Use block index in the messages instead.
Signed-off-by: Jiri Pirko
---
net/sched/cls_api.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index 2d0f18f..b1bcc8b 100644
--- a/net/sched/cls_api.c
+++ b/net
From: Jiri Pirko
Instead of using tp->q, use block to get the net pointer.
Signed-off-by: Jiri Pirko
---
net/sched/ematch.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/sched/ematch.c b/net/sched/ematch.c
index 03b677b..1331a4c 100644
--- a/net/sched/ematch.c
++
From: Jiri Pirko
Use helper to get q pointer per block.
Signed-off-by: Jiri Pirko
---
net/sched/cls_flow.c| 7 +--
net/sched/cls_fw.c | 5 -
net/sched/cls_tcindex.c | 5 -
3 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/net/sched/cls_flow.c b/net/sched
From: Jiri Pirko
Prepare for removal of tp->q and store Qdisc pointer in the block
structure.
Signed-off-by: Jiri Pirko
---
include/net/pkt_cls.h | 4 ++--
include/net/sch_generic.h | 1 +
net/sched/cls_api.c | 3 ++-
net/sched/sch_atm.c | 4 ++--
net/sched/sch_cbq.c
From: Jiri Pirko
Allow qdiscs to share filter blocks among them. Each qdisc type has to
use block get/put modifications that enable sharing. Shared blocks are
tracked within each net namespace and identified by u32 value. This
value is auto-generated in case user did not pass it from userspace
From: Jiri Pirko
In sch_handle_egress and sch_handle_ingress, don't use tp->q and use
dev->ingress_queue which stores the same pointer instead.
Signed-off-by: Jiri Pirko
---
net/core/dev.c | 21 +++--
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git
From: Jiri Pirko
Use tcf_block_q helper to get q pointer to be used for direct call of
sch_tree_lock/unlock instead of tcf_tree_lock/unlock.
Signed-off-by: Jiri Pirko
---
include/net/sch_generic.h | 3 ---
net/sched/sch_api.c | 6 --
2 files changed, 4 insertions(+), 5 deletions
Thu, Oct 12, 2017 at 07:21:48PM CEST, da...@davemloft.net wrote:
>
>Jiri I'm not looking at a 34 patch set, it's too large.
>
>Break this up into groups of a dozen or so patches each, no
>more. Submit them one at a time and wait for each series
>to be fully reviewed and integrated before moving on
Thu, Oct 12, 2017 at 11:37:30PM CEST, dsah...@gmail.com wrote:
>On 10/12/17 11:17 AM, Jiri Pirko wrote:
>> So back to the example. First, we create 2 qdiscs. Both will share
>> block number 22. "22" is just an identification. If we don't pass any
>> block nu
Thu, Oct 12, 2017 at 11:45:43PM CEST, dan...@iogearbox.net wrote:
>On 10/12/2017 07:17 PM, Jiri Pirko wrote:
>> From: Jiri Pirko
>>
>> In sch_handle_egress and sch_handle_ingress, don't use tp->q and use
>> dev->ingress_queue which stores the same point
Thu, Oct 12, 2017 at 08:12:48PM CEST, andrew.gospoda...@broadcom.com wrote:
>On Thu, Oct 12, 2017 at 04:03:17PM +0200, Jiri Pirko wrote:
>> Thu, Oct 12, 2017 at 03:34:20PM CEST, steven.l...@broadcom.com wrote:
>> >Add support for config parameter get/set commands. Initially used
Thu, Oct 12, 2017 at 10:12:31PM CEST, steven.l...@broadcom.com wrote:
>On Thu, Oct 12, 2017 at 3:20 PM, Florian Fainelli wrote:
>> On 10/12/2017 12:06 PM, David Miller wrote:
>>> From: Florian Fainelli
>>> Date: Thu, 12 Oct 2017 08:43:59 -0700
>>>
Once we move ethtool (or however we name its
Thu, Oct 12, 2017 at 11:53:56PM CEST, ro...@cumulusnetworks.com wrote:
>On Thu, Oct 12, 2017 at 12:20 PM, Florian Fainelli
>wrote:
>> On 10/12/2017 12:06 PM, David Miller wrote:
>>> From: Florian Fainelli
>>> Date: Thu, 12 Oct 2017 08:43:59 -0700
>>>
Once we move ethtool (or however we name
Fri, Oct 13, 2017 at 08:31:53AM CEST, da...@davemloft.net wrote:
>From: Jiri Pirko
>Date: Fri, 13 Oct 2017 08:21:01 +0200
>
>> Thu, Oct 12, 2017 at 07:21:48PM CEST, da...@davemloft.net wrote:
>>>
>>>Jiri I'm not looking at a 34 patch set, it's too l
From: Jiri Pirko
In order to prepare for block sharing, tcf_proto instances need to be
independent on particular qdisc instances. This patchset takes care of
removal of couple occurrences of tp->q usage.
Jiri Pirko (9):
net: sched: store Qdisc pointer in struct block
net: sched: store
From: Jiri Pirko
Use helper to get q pointer per block.
Signed-off-by: Jiri Pirko
---
net/sched/cls_flow.c| 7 +--
net/sched/cls_fw.c | 5 -
net/sched/cls_tcindex.c | 5 -
3 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/net/sched/cls_flow.c b/net/sched
From: Jiri Pirko
Use tcf_block_q helper to get q pointer to be used for direct call of
sch_tree_lock/unlock instead of tcf_tree_lock/unlock.
Signed-off-by: Jiri Pirko
---
include/net/sch_generic.h | 3 ---
net/sched/sch_api.c | 6 --
2 files changed, 4 insertions(+), 5 deletions
From: Jiri Pirko
Prepare for removal of tp->q and store Qdisc pointer in the block
structure.
Signed-off-by: Jiri Pirko
---
include/net/pkt_cls.h | 4 ++--
include/net/sch_generic.h | 1 +
net/sched/cls_api.c | 3 ++-
net/sched/sch_atm.c | 4 ++--
net/sched/sch_cbq.c
From: Jiri Pirko
The callers have this info, they will pass it down to tcf_fill_node.
Signed-off-by: Jiri Pirko
---
net/sched/cls_api.c | 55 ++---
1 file changed, 35 insertions(+), 20 deletions(-)
diff --git a/net/sched/cls_api.c b/net/sched
From: Jiri Pirko
tc_u_common is now per-q. With blocks, it has to be converted to be
per-block.
Signed-off-by: Jiri Pirko
---
net/sched/cls_u32.c | 12
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
index 094d224..b6d4606
From: Jiri Pirko
Instead of using tp->q, use block to get the net pointer.
Signed-off-by: Jiri Pirko
---
net/sched/ematch.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/sched/ematch.c b/net/sched/ematch.c
index 03b677b..1331a4c 100644
--- a/net/sched/ematch.c
++
From: Jiri Pirko
These helpers allows to get a q and netdev pointers
for given block easily.
Signed-off-by: Jiri Pirko
---
include/net/pkt_cls.h | 21 +
1 file changed, 21 insertions(+)
diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h
index 772dfa8..01ffda5
From: Jiri Pirko
Whenever the block->q is set, it can be used instead of tp->q as it
contains the same value. When it is not set, which can't happen now but
it might happen with the follow-up shared blocks introduction, the class
is not set in the result. That would lead to a c
From: Jiri Pirko
Store net pointer in the block structure. Along the way, introduce
qdisc_net helper which allows to easily obtain net pointer for
qdisc instance.
Signed-off-by: Jiri Pirko
---
include/net/pkt_sched.h | 7 +++
include/net/sch_generic.h | 1 +
net/sched/cls_api.c
Fri, Oct 13, 2017 at 04:20:38PM CEST, dsah...@gmail.com wrote:
>On 10/13/17 12:26 AM, Jiri Pirko wrote:
>> Thu, Oct 12, 2017 at 11:37:30PM CEST, dsah...@gmail.com wrote:
>>> On 10/12/17 11:17 AM, Jiri Pirko wrote:
>>>> So back to the example. First, we create 2 qdis
Sun, Oct 15, 2017 at 01:18:54AM CEST, dan...@iogearbox.net wrote:
>On 10/13/2017 08:30 AM, Jiri Pirko wrote:
>> Thu, Oct 12, 2017 at 11:45:43PM CEST, dan...@iogearbox.net wrote:
>> > On 10/12/2017 07:17 PM, Jiri Pirko wrote:
>> > > From: Jiri Pirko
>>
ever the ingress device is
>different from the hw device since this is exactly the condition under
>which we're calling into the HW driver through the egress port net-device.
>
>Fixes: de4784ca030f ('net: sched: get rid of struct tc_to_netdev')
>Signed-off-by: Or Gerlitz
>Signed-off-by: Roi Dayan
Acked-by: Jiri Pirko
f-by: Petr Machata
Reviewed-by: Ido Schimmel
Signed-off-by: Jiri Pirko
---
drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 8 +-
drivers/net/ethernet/mellanox/mlxsw/spectrum.h | 6 ++
.../net/ethernet/mellanox/mlxsw/spectrum_router.c | 105 +++--
3 files changed, 109
From: Jiri Pirko
Petr says:
The current code doesn't offload GRE decapsulation unless there's a
corresponding encapsulation route as well. While not strictly incorrect (when
encap route is absent, the decap route traps traffic to CPU and the kernel
handles it), it's a miss
unlinks the IPIP entry from a next hop. Thus no dangling pointers
are left behind for the brief window after netdevice is gone, but routes
not yet.
Signed-off-by: Petr Machata
Reviewed-by: Ido Schimmel
Signed-off-by: Jiri Pirko
---
.../net/ethernet/mellanox/mlxsw/spectrum_ipip.h| 1 -
.../net
From: Petr Machata
Signed-off-by: Petr Machata
Reviewed-by: Ido Schimmel
Signed-off-by: Jiri Pirko
---
.../net/ethernet/mellanox/mlxsw/spectrum_router.c | 38 +++---
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlxsw
sure that the loopback is updated as necessary.
Signed-off-by: Petr Machata
Reviewed-by: Ido Schimmel
Signed-off-by: Jiri Pirko
---
drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 2 +-
drivers/net/ethernet/mellanox/mlxsw/spectrum.h | 3 +-
.../net/ethernet/mellanox/mlxsw
sp or
router data structures from the handler is inconvenient.
Therefore move the netdevice notifier blocks from global scope to struct
mlxsw_sp to allow retrieval from the notifier block pointer itself.
Signed-off-by: Petr Machata
Reviewed-by: Ido Schimmel
Signed-off-by: Jiri Pirko
---
driver
901 - 1000 of 5981 matches
Mail list logo