In order to support FDB add/del to be on a notifier chain the slave
API need to be changed to be switchdev independent.
Signed-off-by: Arkadi Sharshevsky
Reviewed-by: Vivien Didelot
Reviewed-by: Florian Fainelli
FDB add/del can be added via switchdev notification chain. Thus the support
for configuration via switchdev objects can be removed.
Signed-off-by: Arkadi Sharshevsky
Reviewed-by: Vivien Didelot
---
net/dsa/slave.c | 12
1
The DSA drivers do not support bridge flags offload. Yet, this attribute
should be added in order for the bridge to fail when one tries set a
flag on the port, as explained in commit dc0ecabd6231 ("net: switchdev:
Add support for querying supported bridge flags by hardware").
Signed-off-by:
Currently the bridge port flags, vlans, FDBs and MDBs can be offloaded
through the bridge code, making the switchdev's SELF bridge bypass
implementation to be redundant. This implies several changes:
- No need for dump infra in switchdev, DSA's special case is handled
privately.
- Remove
>From all switchdev devices only DSA requires special FDB dump. This is due
to lack of ability for syncing the hardware learned FDBs with the bridge.
Due to this it is removed from switchdev and moved inside DSA.
Signed-off-by: Arkadi Sharshevsky
---
v1->v2
- Cosmetics.
At this point no driver supports FDB add/del through switchdev object
but rather via notification chain, thus, it is removed.
Signed-off-by: Arkadi Sharshevsky
Reviewed-by: Vivien Didelot
---
net/bridge/br_fdb.c | 18 --
This is done as a preparation before removing support for MDB dump from
DSA core. The MDBs are synced with the bridge and thus there is no
need for special dump operation support.
Signed-off-by: Arkadi Sharshevsky
---
drivers/net/dsa/microchip/ksz_common.c | 9 -
Currently the MDB HW database is synced with the bridge's one, thus,
There is no need to support special dump functionality.
Signed-off-by: Arkadi Sharshevsky
---
include/net/dsa.h | 4
net/dsa/dsa_priv.h | 2 --
net/dsa/port.c | 11 ---
net/dsa/slave.c
Currently, the switchdev objects are embedded inside the DSA notifier
info. This patch removes this dependency. This is done as a preparation
stage before adding support for learning FDB through the switchdev
notification chain.
Signed-off-by: Arkadi Sharshevsky
On 7/19/17 1:02 AM, Jiri Pirko wrote:
> Allow user space applications to see which routes are offloaded and
> which aren't by setting the RTNH_F_OFFLOAD flag when dumping them.
>
> To be consistent with IPv4, a multipath route is marked as offloaded if
> one of its nexthops is offloaded.
On 7/19/17 9:49 AM, Ido Schimmel wrote:
> On Wed, Jul 19, 2017 at 09:27:30AM -0600, David Ahern wrote:
>> On 7/19/17 1:02 AM, Jiri Pirko wrote:
>>> Allow user space applications to see which routes are offloaded and
>>> which aren't by setting the RTNH_F_OFFLOAD flag when dumping them.
>>>
>>> To
On Wed, Jul 19, 2017 at 09:38:11AM -0600, David Ahern wrote:
> On 7/19/17 1:02 AM, Jiri Pirko wrote:
> > @@ -879,6 +891,8 @@ static int fib6_add_rt2node(struct fib6_node *fn,
> > struct rt6_info *rt,
> > *ins = rt;
> > rt->rt6i_node = fn;
> >
On Wed, Jul 19, 2017 at 09:27:30AM -0600, David Ahern wrote:
> On 7/19/17 1:02 AM, Jiri Pirko wrote:
> > Allow user space applications to see which routes are offloaded and
> > which aren't by setting the RTNH_F_OFFLOAD flag when dumping them.
> >
> > To be consistent with IPv4, a multipath route
On 7/19/17 1:02 AM, Jiri Pirko wrote:
> From: Ido Schimmel
>
> Listeners of the FIB notification chain are expected to be able to take
> and release a reference on notified IPv6 routes. This is needed in the
> case of drivers capable of offloading these routes to a capable
Commit a53e35db70d1 ("reset: Ensure drivers are explicit when requesting
reset lines") started to transition the reset control request API calls
to explicitly state whether the driver needs exclusive or shared reset
control behavior. Convert all drivers requesting exclusive resets to the
explicit
Commit a53e35db70d1 ("reset: Ensure drivers are explicit when requesting
reset lines") started to transition the reset control request API calls
to explicitly state whether the driver needs exclusive or shared reset
control behavior. Convert all drivers requesting exclusive resets to the
explicit
Commit a53e35db70d1 ("reset: Ensure drivers are explicit when requesting
reset lines") started to transition the reset control request API calls
to explicitly state whether the driver needs exclusive or shared reset
control behavior. Convert all drivers requesting exclusive resets to the
explicit
Commit a53e35db70d1 ("reset: Ensure drivers are explicit when requesting
reset lines") started to transition the reset control request API calls
to explicitly state whether the driver needs exclusive or shared reset
control behavior. Convert all drivers requesting exclusive resets to the
explicit
Commit a53e35db70d1 ("reset: Ensure drivers are explicit when requesting
reset lines") started to transition the reset control request API calls
to explicitly state whether the driver needs exclusive or shared reset
control behavior. Convert all drivers requesting exclusive resets to the
explicit
These patches address the quirks of the Atheros PHY, with respect
to RGMII RX and TX clock delays.
Once the PHY driver is fixed, the second patch fixes the ethernet
controller used on tango boards.
Marc Gonzalez (2):
net: phy: at803x: Fix RGMII RX and TX clock delays setup
net: ethernet:
Commit a53e35db70d1 ("reset: Ensure drivers are explicit when requesting
reset lines") started to transition the reset control request API calls
to explicitly state whether the driver needs exclusive or shared reset
control behavior. Convert all drivers requesting exclusive resets to the
explicit
According to commit e5f3a4a56ce2a707b2fb8ce37e4414dcac89c672
("Documentation: devicetree: clarify usage of the RGMII phy-modes")
there are 4 RGMII phy-modes to handle:
"rgmii" (RX and TX delays are added by the MAC when required)
"rgmii-id" (RGMII with internal RX and TX delays provided by the
The current code supports enabling RGMII RX and TX clock delays.
The unstated assumption is that these settings are disabled by
default at reset, which is not the case.
RX clock delay is enabled at reset. And TX clock delay "survives"
across SW resets. Thus, if the bootloader enables TX clock
On 7/19/17 1:02 AM, Jiri Pirko wrote:
> @@ -879,6 +891,8 @@ static int fib6_add_rt2node(struct fib6_node *fn, struct
> rt6_info *rt,
> *ins = rt;
> rt->rt6i_node = fn;
> atomic_inc(>rt6i_ref);
> + call_fib6_entry_notifiers(info->nl_net,
Each time we get disconencted from AP we get flooded with messages like:
...
ath10k_pci :03:00.0: no channel configured; ignoring frame(s)!
ath10k_warn: 155 callbacks suppressed
...
Use ath10k_dbg() here too.
Signed-off-by: Gabriel
On Tue, Jul 18, 2017 at 4:51 PM, David Miller wrote:
> From: Rob Herring
> Date: Tue, 18 Jul 2017 16:43:19 -0500
>
>> Now that we have a custom printf format specifier, convert users of
>> full_name to use %pOF instead. This is preparation to remove storing
On 18.07.2017 09:14, Ryan Hsu wrote:
On 07/16/2017 03:56 PM, Gabriel C wrote:
Can ath10k_warn() be ath10k_dbg() there ? Maybe this ?
Looks good to me.
From d4138d936635ca7b69ed7f7b0cda4914f0f07917 Mon Sep 17 00:00:00 2001
From: Gabriel Craciunescu
Date: Mon, 17
On Wed, Jul 19, 2017 at 08:11:56AM -0600, David Ahern wrote:
> On 7/19/17 1:02 AM, Jiri Pirko wrote:
> > +struct fib_notifier_ops *
> > +fib_notifier_ops_register(const struct fib_notifier_ops *tmpl, struct net
> > *net)
> > +{
> > + struct fib_notifier_ops *ops;
> > + int err;
> > +
> > +
On Tue, Jul 18, 2017 at 04:14:35PM -0700, Benjamin Poirier wrote:
> Thanks for the detailed analysis.
>
> Refering to the original discussion around this patch series, it seemed like
> the IMS bit for a condition had to be set for the Other interrupt to be raised
> for that condition.
>
>
On 7/19/17 1:02 AM, Jiri Pirko wrote:
> +struct fib_notifier_ops *
> +fib_notifier_ops_register(const struct fib_notifier_ops *tmpl, struct net
> *net)
> +{
> + struct fib_notifier_ops *ops;
> + int err;
> +
> + ops = kmemdup(tmpl, sizeof(*ops), GFP_KERNEL);
why allocate memory to
On Wed, Jul 19, 2017 at 08:17:02AM +0200, Martin Hundebøll wrote:
> Commit f39908d3b1c45 ('net: dsa: mv88e6xxx: Set the CMODE for mv88e6390
> ports 9 & 10') added support for setting the CMODE for the 6390X family,
> but only enabled it for 9290 and 6390 - and left out 6390X.
>
> Fix support for
Hi Sergei,
I meant that drivers/net/ethernet/huawei/* is all the dir under huawei dir.
(I saw this style of '*' is used in the maintainers file)
I will change it to drivers/net/ethernet/huawei/hinic/ in the next fix.
Thanks for review,
Aviad
On 7/19/2017 2:34 PM, Sergei Shtylyov wrote:
> On
Hi Joe,
I tried to be consistent with the comments before, that requested
that we will use dev_err exclude some special cases for use netif.
We will replace the dev_err(>dev,.. to netdev_err in the
next fix.
Thanks for review,
Aviad
On 7/19/2017 1:27 PM, Joe Perches wrote:
> On Wed, 2017-07-19
On 07/18/2017 09:06 PM, Vivien Didelot wrote:
> Hi Arkadi,
>
> Arkadi Sharshevsky writes:
>
>> +typedef int dsa_fdb_dump_cb_t(const unsigned char *addr, u16 vid,
>> + u16 ndm_state, void *data);
>
> Can I ask you to change u16 ndm_state for bool
On 07/18/2017 08:40 PM, Vivien Didelot wrote:
> Hi Arkadi,
>
> Arkadi Sharshevsky writes:
>
>> The bridge port attributes/vlan for DSA devices should be set only
>> from bridge code. Furthermore, The vlans are synced totally with the
>> bridge so there is no need for
On 7/19/2017 12:19 PM, Aviad Krawczyk wrote:
Add more netdev operations.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
MAINTAINERS| 7 ++
drivers/net/ethernet/huawei/hinic/hinic_main.c |
On Tue, 2017-07-18 at 18:23 -0700, Jeff Kirsher wrote:
> This patch adds a check to ensure that adding the MAC filter was
> successful before setting the MACVLAN. If it was unsuccessful, propagate
> the error.
[]
> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
>
On Wed, 2017-07-19 at 17:19 +0800, Aviad Krawczyk wrote:
> Add ethtool operations and statistics operations.
series trivia:
> diff --git a/drivers/net/ethernet/huawei/hinic/hinic_main.c
> b/drivers/net/ethernet/huawei/hinic/hinic_main.c
[]
> @@ -67,6 +67,178 @@
[]
> +static int
On 07/18/2017 08:16 PM, Vivien Didelot wrote:
> Hi Arkadi,
>
> Arkadi Sharshevsky writes:
>
>> --- a/include/net/dsa.h
>> +++ b/include/net/dsa.h
>> @@ -451,6 +451,7 @@ void unregister_switch_driver(struct dsa_switch_driver
>> *type);
>> struct mii_bus
Initialize hw interface as part of the nic initialization for accessing hw.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
Documentation/networking/hinic.txt | 125
drivers/net/ethernet/Kconfig
Handle aeq elements that are accumulated on the aeq by calling the
registered handler for the specific event.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
drivers/net/ethernet/huawei/hinic/hinic_hw_csr.h | 49 +++
Add the api cmd commands for sending management messages to the nic.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
.../net/ethernet/huawei/hinic/hinic_hw_api_cmd.c | 331 -
Add port management message for setting Rx mode in the card, used for
rx_mode netdev operation. The link event handler is used for getting
a notification about the link state.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
Add cmdq commands for setting queue pair contexts in the nic.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
drivers/net/ethernet/huawei/hinic/hinic_common.c | 25 ++
drivers/net/ethernet/huawei/hinic/hinic_common.h | 15 ++
Initialize the completion event queues and handle ceq events by calling
the registered handlers. Used for cmdq command completion.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c | 17
Create the logical queues of the nic.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
drivers/net/ethernet/huawei/hinic/Makefile | 5 +-
drivers/net/ethernet/huawei/hinic/hinic_dev.h| 5 +
Add transmit operation for sending data by qp operations.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
drivers/net/ethernet/huawei/hinic/hinic_dev.h | 1 +
drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c | 47 +++
Add more netdev operations.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
MAINTAINERS| 7 ++
drivers/net/ethernet/huawei/hinic/hinic_main.c | 35 ++
2 files changed,
Add ethtool operations and statistics operations.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
drivers/net/ethernet/huawei/hinic/hinic_dev.h | 3 +
drivers/net/ethernet/huawei/hinic/hinic_main.c | 218 -
Set the io resources in the nic and handle rx events by qp operations.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
drivers/net/ethernet/huawei/hinic/hinic_dev.h | 1 +
drivers/net/ethernet/huawei/hinic/hinic_hw_csr.h | 1
Add cmdq completion handler for getting a notification about the
completion of cmdq commands.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c | 286 +-
Create the work queues for cmdq and update the nic about the work queue
contexts. cmdq commands are used for updating the the nic about the qp
contexts.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
Create the resources for queue pair operations: doorbell area,
consumer index address and producer index address.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
drivers/net/ethernet/huawei/hinic/Makefile | 4 +-
Update the nic about the resources of the queue pairs.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
drivers/net/ethernet/huawei/hinic/Makefile | 5 +-
drivers/net/ethernet/huawei/hinic/hinic_common.c | 55 ++
Create work queues for being used by the queue pairs.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
drivers/net/ethernet/huawei/hinic/Makefile | 4 +-
drivers/net/ethernet/huawei/hinic/hinic_hw_io.c | 68 ++-
Add the port management commands that are sent as management messages.
The port management commands are used for netdev operations.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
drivers/net/ethernet/huawei/hinic/Makefile | 4
The patch-set contains the support of the HiNIC Ethernet driver for
hinic family of PCIE Network Interface Cards.
The Huawei's PCIE HiNIC card is a new Ethernet card and hence there was
a need of a new driver.
The current driver is meant to be used for the Physical Function and there
would soon
Add the management messages for sending to api cmd and the asynchronous
event handler for the completion of the messages.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
.../net/ethernet/huawei/hinic/hinic_hw_api_cmd.c | 35 ++
Update the hardware about api cmd resources and initialize it.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
.../net/ethernet/huawei/hinic/hinic_hw_api_cmd.c | 173 -
Initialize api cmd resources as part of management initialization.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
drivers/net/ethernet/huawei/hinic/Makefile | 4 +-
.../net/ethernet/huawei/hinic/hinic_hw_api_cmd.c | 445
Initialize hw device by calling the initialization functions of aeqs
and management channel.
Signed-off-by: Aviad Krawczyk
Signed-off-by: Zhao Chen
---
drivers/net/ethernet/huawei/hinic/Makefile| 3 +-
Hi:
This series brings two optimizations for virtio-net XDP:
- avoid reset during XDP set
- turn off offloads on demand
Changes from V1:
- Various tweaks on commit logs and comments
- Use virtnet_napi_enable() when enabling NAPI on XDP set
- Copy the small buffer packet only if xdp_headroom is
Allow zero to be store as a ctx, with this we could store e.g zero
value which could be meaningful for the case of storing headroom
through ctx.
Signed-off-by: Jason Wang
---
drivers/virtio/virtio_ring.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
Pack headroom into ctx - this way when we get a buffer we can figure out
the actual headroom that was allocated for the buffer. Will be helpful
to optimize switching between XDP and non-XDP modes which have different
headroom requirements.
Signed-off-by: Jason Wang
---
Use ctx API to store headroom for small buffers.
Following patches will retrieve this info and use it for XDP.
Signed-off-by: Jason Wang
---
drivers/net/virtio_net.c | 17 -
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git
We currently reset the device during XDP set, the main reason is
that we allocate more headroom with XDP (for header adjustment).
This works but causes network downtime for users.
Previous patches encoded the headroom in the buffer context,
this makes it possible to detect the case where a
Current XDP implementation wants guest offloads feature to be disabled
on device. This is inconvenient and means guest can't benefit from
offloads if XDP is not used. This patch tries to address this
limitation by disabling the offloads on demand through control guest
offloads. Guest offloads will
On Tue, Jul 18, 2017 at 09:58:38AM -0700, Stephen Hemminger wrote:
> On Tue, 18 Jul 2017 17:18:06 +0100
> Stefan Hajnoczi wrote:
>
> > I am implementing userspace access to socket information for AF_VSOCK.
> > A few hours into writing and testing a /proc/net/vsock seq_file I
From: Arjun Vynipadath
Signed-off-by: Arjun Vynipadath
Signed-off-by: Casey Leedom
Signed-off-by: Ganesh Goudar
---
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 51 --
1 file changed,
From: Ido Schimmel
Listeners of the FIB notification chain are expected to be able to take
and release a reference on notified IPv6 routes. This is needed in the
case of drivers capable of offloading these routes to a capable device.
Since notifications are sent in an
From: Ido Schimmel
As explained in commit 3c71006d15fd ("ipv4: fib_rules: Check if rule is
a default rule"), drivers supporting IPv6 FIB offload need to be able to
sanitize the rules they don't support and potentially flush their
tables.
Add an IPv6 helper to check if a FIB
From: Ido Schimmel
We're about to add IPv6 notifications in the FIB notification chain, but
the driver currently doesn't support these, so ignore them.
Signed-off-by: Ido Schimmel
Signed-off-by: Jiri Pirko
---
From: Ido Schimmel
We only allow FIB offload in the presence of default rules or an l3mdev
rule. In a similar fashion to IPv4 FIB rules, sanitize IPv6 rules.
Signed-off-by: Ido Schimmel
Signed-off-by: Jiri Pirko
---
From: Ido Schimmel
Without resorting to ACLs, the device performs route lookup solely based
on the destination IP address.
In case source-specific routing is needed, an error is returned and the
abort mechanism is activated, thus allowing the kernel to take over
forwarding
From: Ido Schimmel
Unlike the routing tables, the FIB rules share a common core, so instead
of replicating the same logic for each address family we can simply dump
the rules and send notifications from the core itself.
To protect the integrity of the dump, a rules-specific
From: Ido Schimmel
Allow directly connected and remote unicast IPv6 routes to be programmed
to the device's tables.
As with IPv4, identical routes - sharing the same destination prefix -
are ordered in a FIB node according to their table ID and then the
metric. While the
From: Ido Schimmel
Dump all the FIB tables in each net namespace upon registration to the
FIB notification chain so that the callee will have a complete view of
the tables.
The integrity of the dump is ensured by a per-table sequence counter
that is incremented (under write
From: Ido Schimmel
As with IPv4, allow listeners of the FIB notification chain to receive
notifications whenever a route is added, replaced or deleted. This is
done by placing calls to the FIB notification chain in the two lowest
level functions that end up performing these
From: Ido Schimmel
Allow user space applications to see which routes are offloaded and
which aren't by setting the RTNH_F_OFFLOAD flag when dumping them.
To be consistent with IPv4, a multipath route is marked as offloaded if
one of its nexthops is offloaded. Individual
From: Ido Schimmel
In case we got a replace event, then the replaced route must exist. If
the route isn't capable of multipath, then replace first matching
non-multipath capable route.
If the route is capable of multipath and matching multipath capable
route is found, then
From: Ido Schimmel
We now have all the necessary IPv6 infrastructure in place, so stop
ignoring these notifications.
Signed-off-by: Ido Schimmel
Signed-off-by: Jiri Pirko
---
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c |
From: Ido Schimmel
We're about to add IPv6 FIB offload support, so implement the necessary
callbacks in IPv6 code, which will later allow us to add routes and
rules notifications.
Signed-off-by: Ido Schimmel
Signed-off-by: Jiri Pirko
From: Ido Schimmel
The FIB notification block currently only handles IPv4 events, but we
want to start handling IPv6 events soon, so lay the groundwork now.
Do that by preparing the work item and process it according to the
notified address family.
Signed-off-by: Ido
From: Ido Schimmel
Allow users of the FIB notification chain to receive a complete view of
the IPv6 FIB rules upon registration to the chain.
The integrity of the dump is ensured by a per-family sequence counter
that is incremented (under RTNL) whenever a rule is added or
From: Ido Schimmel
As in previous patch, ignore IPv6 notifications since the driver doesn't
support these.
Signed-off-by: Ido Schimmel
Signed-off-by: Jiri Pirko
---
drivers/net/ethernet/rocker/rocker_main.c | 4
1 file
From: Jiri Pirko
This set adds support for IPv6 unicast routes offload. The first four
patches make the FIB notification chain generic so that it could be used
by address families other than IPv4. This is done by having each address
family register its callbacks with the
From: Ido Schimmel
The FIB notification chain is currently soley used by IPv4 code.
However, we're going to introduce IPv6 FIB offload support, which
requires these notification as well.
As explained in commit c3852ef7f2f8 ("ipv4: fib: Replay events when
registering FIB
On Fri, 2017-07-14 at 12:06 +0200, Christophe JAILLET wrote:
> We should free 'wgds.pointer' here as done a few lines above in another
> error handling path.
> It was allocated within 'acpi_evaluate_object()'.
>
> Signed-off-by: Christophe JAILLET
> ---
> v2:
Commit f39908d3b1c45 ('net: dsa: mv88e6xxx: Set the CMODE for mv88e6390
ports 9 & 10') added support for setting the CMODE for the 6390X family,
but only enabled it for 9290 and 6390 - and left out 6390X.
Fix support for setting the CMODE on 6390X also by assigning
mv88e6390x_port_set_cmode() to
101 - 189 of 189 matches
Mail list logo