[PATCH net-next] sfc: nicer log message on Siena SR-IOV probe fail

2015-05-15 Thread Edward Cree
We expect that MC_CMD_SRIOV will fail if the card has no VFs configured. So output a readable message instead of a cryptic MCDI error. --- drivers/net/ethernet/sfc/siena_sriov.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/sfc/siena_sriov.c

[PATCH net-next v2 0/4] sfc: add MCDI tracing

2015-05-20 Thread Edward Cree
, but the protocol is already detailed in drivers/net/ethernet/sfc/mcdi_pcol.h. -- v2: avoid long lines in cover letter; fix multiline comment style Edward Cree (3): sfc: add tracing of MCDI commands sfc: add sysfs entry to control MCDI tracing sfc: add module parameter to enable MCDI logging on new

[PATCH net-next 3/4] sfc: add module parameter to enable MCDI logging on new functions

2015-05-20 Thread Edward Cree
subsequently be changed as normal through the sysfs node. Signed-off-by: Edward Cree ec...@solarflare.com --- drivers/net/ethernet/sfc/mcdi.c | 9 + 1 file changed, 9 insertions(+) diff --git a/drivers/net/ethernet/sfc/mcdi.c b/drivers/net/ethernet/sfc/mcdi.c index 3e4137c..1f7153d 100644

[PATCH net-next 4/4] sfc: Initialise MCDI buffers to 0 on declaration.

2015-05-20 Thread Edward Cree
From: Jon Cooper jcoo...@solarflare.com Signed-off-by: Edward Cree ec...@solarflare.com --- drivers/net/ethernet/sfc/ef10.c | 24 +--- drivers/net/ethernet/sfc/mcdi.c | 8 drivers/net/ethernet/sfc/mcdi.h | 8 +--- drivers/net/ethernet/sfc/ptp.c | 6 +++--- 4

[PATCH net-next 1/4] sfc: add tracing of MCDI commands

2015-05-20 Thread Edward Cree
will then produce a similar line with RESP instead of REQ, and containing the MCDI response payload (if any). Signed-off-by: Edward Cree ec...@solarflare.com --- drivers/net/ethernet/sfc/Kconfig | 8 drivers/net/ethernet/sfc/ef10.c | 3 ++ drivers/net/ethernet/sfc/mcdi.c | 91

[PATCH net-next 2/4] sfc: add sysfs entry to control MCDI tracing

2015-05-20 Thread Edward Cree
MCDI tracing is enabled per-function with a sysfs file /sys/class/net/NET_DEV/device/mcdi_logging Signed-off-by: Edward Cree ec...@solarflare.com --- drivers/net/ethernet/sfc/Kconfig | 3 ++- drivers/net/ethernet/sfc/efx.c | 49 ++-- drivers/net

Re: [PATCH] ethernet/sfc: mark state UNINIT after unregister

2015-06-15 Thread Edward Cree
On 12/06/15 19:51, Jarod Wilson wrote: Without this change, modprobe -r sfc hits the BUG_ON() in efx_pci_remove_main(). Best as I can tell, this was just an oversight, efx-state gets set to STATE_UNINIT in the error path of efx_register_netdev() just after unregister_netdevice(), and the same

[PATCH net-next] sfc: mark state UNINIT after unregister

2015-06-15 Thread Edward Cree
Without this change, modprobe -r sfc hits the BUG_ON() in efx_pci_remove_main(). Fixes: e7fef9b45ae1 (sfc: add sysfs entry to control MCDI tracing) Reported-by: Jarod Wilson ja...@redhat.com Reviewed-by: Jarod Wilson ja...@redhat.com Signed-off-by: Edward Cree ec...@solarflare.com --- drivers

Re: [PATCH v5 3/3] ixgbe: Add new ndo to trust VF

2015-05-27 Thread Edward Cree
On 27/05/15 01:27, Hiroshi Shimamoto wrote: I think the VF shouldn't directly know whether it is trusted or not That's completely irrevelant. The person administering the PF will be the person who provided trusted privileges to the VF. He'll then *tell* or somehow other communicate to the

Re: [PATCH net-next 02/14] sfc: Add sysfs entry for flags (link control and primary)

2015-05-29 Thread Edward Cree
On 29/05/15 11:48, David Laight wrote: From: Shradha Shah Sent: 29 May 2015 11:01 On every adapter there will be one primary PF per adaptor and one link control PF per port. ... +return sprintf(buf, %d\n, + ((efx-mcdi-fn_flags) +(1

[PATCH net-next v4 0/3] sfc: add MCDI tracing

2015-05-27 Thread Edward Cree
and freeing it every MCDI call, since MCDIs are already known to be serialised for other reasons. -- v4: remove patch #4, which has already been applied via sshah v3: add some explanations to cover letter and patch #4 v2: avoid long lines in cover letter; fix multiline comment style Edward Cree (3

[PATCH net-next 1/3] sfc: add tracing of MCDI commands

2015-05-27 Thread Edward Cree
will then produce a similar line with RESP instead of REQ, and containing the MCDI response payload (if any). Signed-off-by: Edward Cree ec...@solarflare.com --- drivers/net/ethernet/sfc/Kconfig | 8 drivers/net/ethernet/sfc/ef10.c | 3 ++ drivers/net/ethernet/sfc/mcdi.c | 91

[PATCH net-next 3/3] sfc: add module parameter to enable MCDI logging on new functions

2015-05-27 Thread Edward Cree
subsequently be changed as normal through the sysfs node. Signed-off-by: Edward Cree ec...@solarflare.com --- drivers/net/ethernet/sfc/mcdi.c | 9 + 1 file changed, 9 insertions(+) diff --git a/drivers/net/ethernet/sfc/mcdi.c b/drivers/net/ethernet/sfc/mcdi.c index dde7f90..81640f8 100644

[PATCH net-next 2/3] sfc: add sysfs entry to control MCDI tracing

2015-05-27 Thread Edward Cree
MCDI tracing is enabled per-function with a sysfs file /sys/class/net/NET_DEV/device/mcdi_logging Signed-off-by: Edward Cree ec...@solarflare.com --- drivers/net/ethernet/sfc/Kconfig | 3 ++- drivers/net/ethernet/sfc/efx.c | 49 ++-- drivers/net

Re: [PATCH v5 3/3] ixgbe: Add new ndo to trust VF

2015-05-27 Thread Edward Cree
On 27/05/15 16:55, Rose, Gregory V wrote: There's nothing to prevent any vendor from notifying a VF that it has privileges and there's nothing that require that they do. This should be a vendor specific detail. Agreed - purely a driver implementation detail. So now that I've stated my

Re: [PATCH v5 2/3] if_link: Add control trust VF

2015-05-27 Thread Edward Cree
and/or performance. The administrator never turn it on unless VF user is fully trusted. Seems fine; it's clear to me how these semantics would map to sfc (grant to the VF all the privilege groups the PF has). So I'm happy this entry point is sufficiently generic. Acked-by: Edward Cree ec

Re: We've released a generic netlink python library -- gnlpy

2015-05-21 Thread Edward Cree
On 21/05/15 00:33, Cong Wang wrote: On Wed, May 20, 2015 at 2:10 PM, Alex Gartrell agartr...@fb.com wrote: Hey everyone, tl;dr; pure python generic netlink library with simple clients for ipvs and taskstats here: https://github.com/facebook/gnlpy libnl should have python support for generic

Re: [PATCH net-next v2 0/4] sfc: add MCDI tracing

2015-05-22 Thread Edward Cree
On 21/05/15 23:52, David Miller wrote: All of this work to allocate the buffer, add messages to it, and dump it to some user obtainable location duplicates existing infrastructure in the kernel. Please do not do this, and instead use the kernel's existing tracing infrastructure to implement

[PATCH net-next 2/4] sfc: add sysfs entry to control MCDI tracing

2015-05-22 Thread Edward Cree
MCDI tracing is enabled per-function with a sysfs file /sys/class/net/NET_DEV/device/mcdi_logging Signed-off-by: Edward Cree ec...@solarflare.com --- drivers/net/ethernet/sfc/Kconfig | 3 ++- drivers/net/ethernet/sfc/efx.c | 49 ++-- drivers/net

[PATCH net-next 1/4] sfc: add tracing of MCDI commands

2015-05-22 Thread Edward Cree
will then produce a similar line with RESP instead of REQ, and containing the MCDI response payload (if any). Signed-off-by: Edward Cree ec...@solarflare.com --- drivers/net/ethernet/sfc/Kconfig | 8 drivers/net/ethernet/sfc/ef10.c | 3 ++ drivers/net/ethernet/sfc/mcdi.c | 91

[PATCH net-next v3 0/4] sfc: add MCDI tracing

2015-05-22 Thread Edward Cree
and freeing it every MCDI call, since MCDIs are already known to be serialised for other reasons. -- v3: add some explanations to cover letter and patch #4 v2: avoid long lines in cover letter; fix multiline comment style Edward Cree (3): sfc: add tracing of MCDI commands sfc: add sysfs entry

[PATCH net-next 4/4] sfc: Initialise MCDI buffers to 0 on declaration.

2015-05-22 Thread Edward Cree
From: Jon Cooper jcoo...@solarflare.com Prevents possible kernel memory disclosure from MCDI logging if some fields of an MCDI request were not initialised, or if a response length is not a multiple of 32 bits. Signed-off-by: Edward Cree ec...@solarflare.com --- drivers/net/ethernet/sfc/ef10

[PATCH net-next 3/4] sfc: add module parameter to enable MCDI logging on new functions

2015-05-22 Thread Edward Cree
subsequently be changed as normal through the sysfs node. Signed-off-by: Edward Cree ec...@solarflare.com --- drivers/net/ethernet/sfc/mcdi.c | 9 + 1 file changed, 9 insertions(+) diff --git a/drivers/net/ethernet/sfc/mcdi.c b/drivers/net/ethernet/sfc/mcdi.c index 3e4137c..1f7153d 100644

[PATCH net-next 4/4] sfc: Initialise MCDI buffers to 0 on declaration.

2015-05-19 Thread Edward Cree
From: Jon Cooper jcoo...@solarflare.com Signed-off-by: Edward Cree ec...@solarflare.com --- drivers/net/ethernet/sfc/ef10.c | 24 +--- drivers/net/ethernet/sfc/mcdi.c | 8 drivers/net/ethernet/sfc/mcdi.h | 8 +--- drivers/net/ethernet/sfc/ptp.c | 6 +++--- 4

[PATCH net-next 4/9] sfc: add output flag decoding to efx_mcdi_set_workaround

2015-07-21 Thread Edward Cree
From: Daniel Pieczko dpiec...@solarflare.com The initial use of this will be to check a flag reporting if an FLR was performed on other functions when enabling cascaded multicast filters. Signed-off-by: Edward Cree ec...@solarflare.com --- drivers/net/ethernet/sfc/ef10.c | 7 --- drivers

[PATCH net-next 5/9] sfc: warn if other functions have been reset by MCFW

2015-07-21 Thread Edward Cree
had to be reset. As other functions were reset, the MC will have incremented its boot count, so also increment the warm_boot_count on the function which enabled the workaround, as that function won't have received an MC reboot event and does not need to reset. Signed-off-by: Edward Cree ec

[PATCH net-next 3/9] sfc: cope with ENOSYS from efx_mcdi_get_workarounds()

2015-07-21 Thread Edward Cree
-by: Edward Cree ec...@solarflare.com --- drivers/net/ethernet/sfc/ef10.c | 33 - drivers/net/ethernet/sfc/mcdi.c | 6 +- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/drivers/net/ethernet/sfc/ef10.c b/drivers/net/ethernet/sfc/ef10.c index 1193017

[PATCH net-next 2/9] sfc: enable cascaded multicast filters in MCFW

2015-07-21 Thread Edward Cree
is implemented before trying to enable it, and store the current workaround setting before trying to change it. Signed-off-by: Edward Cree ec...@solarflare.com --- drivers/net/ethernet/sfc/ef10.c | 63 + drivers/net/ethernet/sfc/nic.h | 2 ++ 2 files changed, 47

[PATCH net-next 9/9] sfc: clean fallbacks between promisc/normal in efx_ef10_filter_sync_rx_mode

2015-07-21 Thread Edward Cree
Separate functions for inserting individual and promisc filters; explicit fallback logic in efx_ef10_filter_sync_rx_mode(), in order not to overload the 'promisc' flag as also meaning fall back to promisc. Signed-off-by: Edward Cree ec...@solarflare.com --- drivers/net/ethernet/sfc/ef10.c

[PATCH net-next 6/9] sfc: Insert multicast filters as well as mismatch filters in promiscuous mode

2015-07-21 Thread Edward Cree
show-stoppingly, a function listening on a multicast address that's also in promiscuous mode will not see that multicast traffic if another function is also listening on that multicast address. Signed-off-by: Edward Cree ec...@solarflare.com --- drivers/net/ethernet/sfc/ef10.c | 104

[PATCH net-next 0/9] sfc: support for cascaded multicast filtering

2015-07-21 Thread Edward Cree
Edward Cree (3): sfc: update MCDI protocol definitions sfc: cope with ENOSYS from efx_mcdi_get_workarounds() sfc: clean fallbacks between promisc/normal in efx_ef10_filter_sync_rx_mode Jon Cooper (1): sfc: Insert multicast filters as well as mismatch filters in promiscuous mode

Checksum offload queries

2015-12-07 Thread Edward Cree
CKSUM_PARTIAL to say "do your IP-specific stuff but ignore csum_start and friends). 4) Where, precisely, should I tell our hardware guys to stuff the protocol-specific encapsulated checksum offloads they're so proud of having added to our new chip? ;) -- Edward Cree, not speaking for

Re: Checksum offload queries

2015-12-08 Thread Edward Cree
On 07/12/15 19:38, David Miller wrote: > No, it is better to universally provide the 1's complement sum for > all receive packets. This allows the stack more flexibility in > checksum handling. I'm afraid I still don't see it. If a device can both provide the 1's complement sum _and_ validate

Re: Checksum offload queries

2015-12-08 Thread Edward Cree
On 07/12/15 17:29, Tom Herbert wrote: > On Mon, Dec 7, 2015 at 7:39 AM, Edward Cree <ec...@solarflare.com> wrote: >> 2) Transmit checksums. > It's analogous to CHECKSUM_COMPLETE, NETIF_F_HW_CSUM works for all > cases of checksum offload and any combination of protoco

Re: Checksum offload queries

2015-12-08 Thread Edward Cree
On 08/12/15 17:09, David Miller wrote: > From: Edward Cree <ec...@solarflare.com> > Date: Tue, 8 Dec 2015 16:03:18 + > >> NETIF_F_HW_CSUM is limited to one checksum per packet. > This is false. > > As we demux encapsulation layers, we re-adjust the provided

Re: Checksum offload queries

2015-12-08 Thread Edward Cree
On 08/12/15 16:43, Tom Herbert wrote: > On Tue, Dec 8, 2015 at 8:03 AM, Edward Cree <ec...@solarflare.com> wrote: >> On 07/12/15 17:29, Tom Herbert wrote: >>> On Mon, Dec 7, 2015 at 7:39 AM, Edward Cree <ec...@solarflare.com> wrote: >>>>

Re: Checksum offload queries

2015-12-09 Thread Edward Cree
On 08/12/15 17:06, David Miller wrote: > All of the headers get touched anyways as each layer of the stack > demuxes > the packet. Therefore there is _ZERO_ cost to use 1's > complement to > validate checksums in input. It's always superior. Ah, I understand now, it's touching the memory that's

Re: Checksum offload queries

2015-12-09 Thread Edward Cree
On 09/12/15 16:01, Tom Herbert wrote: > On Wed, Dec 9, 2015 at 4:14 AM, Edward Cree <ec...@solarflare.com> > wrote: > >> Convincing hardware designers to go the HW_CSUM way and only fill >> in > the inner checksum, when their current approach can fill in >&g

Re: Checksum offload queries

2015-12-10 Thread Edward Cree
On 10/12/15 16:26, Tom Herbert wrote: > It sounds like potentially interesting work. You'll probably want my patches > that provider helper functions that allow a driver to verify that it can > offload a checksum. We'll have to update those also to allow two checksums. I have just realised

Re: [PATCH 1/2] net: udp: local checksum offload for encapsulation

2015-12-15 Thread Edward Cree
On 14/12/15 17:16, Tom Herbert wrote: > It's clever, but I'm not sure this saves much. The outer checksum > could still be offloaded to the device without the extra work. The main thing it saves you is having to fit a second csum_start/offset pair into (a) the SKB and (b) the TX descriptor.

[PATCH 2/2] net: vxlan: enable local checksum offload on HW_CSUM devices

2015-12-14 Thread Edward Cree
Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/vxlan.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index 6369a57..c1660d6 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -1785,6 +

[PATCH 1/2] net: udp: local checksum offload for encapsulation

2015-12-14 Thread Edward Cree
-off-by: Edward Cree <ec...@solarflare.com> --- net/ipv4/udp.c | 31 +++ 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 0c7b0e6..07d679e 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -767,12 +767,35 @

[RFC PATCH net-next 0/2] Local checksum offload for VXLAN

2015-12-14 Thread Edward Cree
a packet, and not actually offload anything to the hw. I did it that way because I don't have any hw that can actually offload the inner checksum; but I should be able to get hold of some soon. Edward Cree (2): net: udp: local checksum offload for encapsulation net: vxlan: enable local

[PATCH net-next 0/2] Local checksum offload for VXLAN

2015-12-17 Thread Edward Cree
s case it is easier to use skb->csum and skb->csum_start, as gso_make_checksum() already does - a similar but simpler technique. It's not clear to me where else this should be done, so this is out of scope for this patch series. Edward Cree (2): net: udp: local checksum offload for e

[PATCH net-next 2/2] net: vxlan: enable local checksum offload on HW_CSUM devices

2015-12-17 Thread Edward Cree
Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/vxlan.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index 6369a57..c1660d6 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -1785,6 +

[PATCH net-next 1/2] net: udp: local checksum offload for encapsulation

2015-12-17 Thread Edward Cree
-off-by: Edward Cree <ec...@solarflare.com> --- net/ipv4/udp.c | 34 +- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 8841e98..3e63c3d 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -767,13 +767,37 @

Re: [PATCH net-next 0/2] Local checksum offload for VXLAN

2015-12-18 Thread Edward Cree
On 17/12/15 18:06, Tom Herbert wrote: > I'm not sure that we need bits in VXLAN or any other encapsulation. It > should be sufficient in udp_set_csum that if we already have > CHECKSUM_PARTIAL that can always be used to do local checksum offload. My understandingis that otherwise

Re: Checksum offload queries

2015-12-10 Thread Edward Cree
On 09/12/15 18:00, Tom Herbert wrote: > That is not at all true. If the stack has set up VXLAN RCO and the > device > decides to set the inner checksum itself then the checksum > will be bad. The > checksum interface is very specific please read it > carefully (sk_buff.h), > if the

Re: [PATCH net-next 0/2] Local checksum offload for VXLAN

2016-01-06 Thread Edward Cree
udp_set_csum ever looking at skb_dst(skb)->dev->features in the first place? Shouldn't it just always set up checksum offload, and rely on it getting fixed up in validate_xmit_skb()? > On Fri, Dec 18, 2015 at 2:41 AM, Edward Cree <ec...@solarflare.com> wrote: >> On 17/12/15

[PATCH v2 net-next 2/5] net: enable LCO for udp_tunnel_handle_offloads() users

2016-01-07 Thread Edward Cree
The only protocol affected at present is Geneve. Signed-off-by: Edward Cree <ec...@solarflare.com> --- include/net/udp_tunnel.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/net/udp_tunnel.h b/include/net/udp_tunnel.h index cb2f89f..210eb90 100644 --- a/i

[PATCH v2 net-next 5/5] Documentation/networking: add tx-offloads.txt to explain LCO

2016-01-07 Thread Edward Cree
It would also be a good place to explain GSO if someone wants to do that... Signed-off-by: Edward Cree <ec...@solarflare.com> --- Documentation/networking/00-INDEX| 2 + Documentation/networking/tx-offloads.txt | 122 +++ 2 files changed, 124 inse

[PATCH v2 net-next 1/5] net: local checksum offload for encapsulation

2016-01-07 Thread Edward Cree
-off-by: Edward Cree <ec...@solarflare.com> --- include/linux/skbuff.h| 26 ++ net/ipv4/ip_tunnel_core.c | 4 net/ipv4/udp.c| 29 ++--- net/ipv6/ip6_checksum.c | 24 4 files changed, 48 insertions(

[PATCH v2 net-next 0/5] Local Checksum Offload

2016-01-07 Thread Edward Cree
documentation covering TX checksum offload, LCO and RCO. Edward Cree (5): net: local checksum offload for encapsulation net: enable LCO for udp_tunnel_handle_offloads() users net: vxlan: enable local checksum offload fou: enable LCO in FOU and GUE Documentation/networking: add tx-offloads.txt

[PATCH net-next 00/17] sfc: RX VLAN filtering

2016-06-15 Thread Edward Cree
VLAN filtering feature if vPort has VLAN_RESTRICT flag Edward Cree (3): sfc: Assert filter_sem write locked when required sfc: Refactor checks for invalid filter ID sfc: Update MCDI protocol definitions Martin Habets (2): sfc: Take mac_lock before calling efx_ef10_filter_table_probe sfc

[PATCH net-next 03/17] sfc: Add efx_nic member with fixed netdev features

2016-06-15 Thread Edward Cree
From: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> It allows to change set of fixed features on datapath reset. Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/ethernet/sfc/efx.c| 18 ++ drivers/net/ethernet/sfc/net_driver.h | 3

[PATCH net-next 11/17] sfc: Take mac_lock before calling efx_ef10_filter_table_probe

2016-06-15 Thread Edward Cree
alling efx_ef10_filter_add_vlan. But to avoid a priority inversion mac_lock must be taken before filter_sem. To satisfy these requirements we end up taking mac_lock in efx_ef10_vport_set_mac_address, efx_ef10_set_mac_address, efx_ef10_sriov_set_vf_vlan and efx_probe_filters. Signed-off-by: Edward Cr

[PATCH net-next 04/17] sfc: Assert filter_sem write locked when required

2016-06-15 Thread Edward Cree
Based on a patch by Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/ethernet/sfc/ef10.c | 16 +++- drivers/net/ethernet/sfc/efx.h | 9 + 2 files changed, 24 insertions(+), 1 deletion(-) diff --g

[PATCH net-next 01/17] sfc: Define macro with EF10 offload feature

2016-06-15 Thread Edward Cree
From: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> It is useful to simplify features addition. Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/ethernet/sfc/ef10.c | 12 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/net/ether

[PATCH net-next 07/17] sfc: Store unicast and multicast promisc flag with address cache

2016-06-15 Thread Edward Cree
From: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> These flags are built when address cache is updated. The information will be required when VLAN filtering is added and address cache is used without re-sync. Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/

[PATCH net-next 06/17] sfc: Move filter IDs to per-VLAN data structure

2016-06-15 Thread Edward Cree
From: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> It is a step to support VLAN filtering in HW. Until then, there is only one struct efx_ef10_filter_vlan per struct efx_ef10_filter_table, with no VLAN information yet. Signed-off-by: Edward Cree <ec...@solarflare.com> ---

[PATCH net-next 02/17] sfc: Move last mc_promisc flag to EF10 filter table state

2016-06-15 Thread Edward Cree
From: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> It is used for EF10 only and logically belongs to EF10 filter table state. It is OK that it is reset to false on filter table recreation since all filters are removed on destruction. Signed-off-by: Edward Cree <ec...@solar

[PATCH net-next 05/17] sfc: Forget filter ID when the filter is marked old

2016-06-15 Thread Edward Cree
From: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> It is required to remove setting of filter IDs to invalid from multicast and unicast addresses caching functions. Add initialization to invalid when filter table is created. Add paranoid checks to track consistency. Signed-off-by:

[PATCH net-next 09/17] sfc: Implement list of VLANs added over interface

2016-06-15 Thread Edward Cree
From: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> Right now it contains dummy VLAN entry with unspecified VID only. The entry is used for the case when HW VLAN filtering is not used. Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/ethernet/sfc/

[PATCH net-next 12/17] sfc: Refactor checks for invalid filter ID

2016-06-15 Thread Edward Cree
-by: Edward Cree <ec...@solarflare.com> --- drivers/net/ethernet/sfc/ef10.c | 39 +-- 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/drivers/net/ethernet/sfc/ef10.c b/drivers/net/ethernet/sfc/ef10.c index add9f46..d4f9e94 100644 --- a/drive

[PATCH net-next 10/17] sfc: Implement ndo_vlan_rx_{add,kill}_vid() callbacks

2016-06-15 Thread Edward Cree
From: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> Supports HW VLAN filtering, en/disabled using ethtool. Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/ethernet/sfc/ef10.c | 86 +++ drivers/net/ethernet/sfc/efx.c

[PATCH net-next 08/17] sfc: Make EF10 filter management helper functions VLAN-aware

2016-06-15 Thread Edward Cree
From: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> It is a step to support VLAN filtering in HW. Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/ethernet/sfc/ef10.c | 70 - 1 file changed, 41 insertions(+), 29 deleti

[PATCH net-next 16/17] sfc: Update MCDI protocol definitions

2016-06-15 Thread Edward Cree
Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/ethernet/sfc/mcdi_pcol.h | 1327 -- 1 file changed, 1279 insertions(+), 48 deletions(-) diff --git a/drivers/net/ethernet/sfc/mcdi_pcol.h b/drivers/net/ethernet/sfc/mcdi_pcol.h index 4

[PATCH net-next 15/17] sfc: Disable VLAN filtering by default if not strictly required

2016-06-15 Thread Edward Cree
d traffic. Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/ethernet/sfc/efx.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c index 130ee17..14b821b 100644 --- a/drivers/net/ethernet/

[PATCH net-next 13/17] sfc: Fix dup unknown multicast/unicast filters after datapath reset

2016-06-15 Thread Edward Cree
iteria to find filter priority. Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/ethernet/sfc/ef10.c | 80 +++-- 1 file changed, 69 insertions(+), 11 deletions(-) diff --git a/drivers/net/ethernet/sfc/ef10.c b/drivers/net/ethernet/sfc/ef10.c i

[PATCH net-next 17/17] sfc: Fix VLAN filtering feature if vPort has VLAN_RESTRICT flag

2016-06-15 Thread Edward Cree
From: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> If vPort has VLAN_RESTRICT flag, VLAN tagged traffic will not be delivered without corresponding Rx filters which may be proxied to and moderated by hypervisor. Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/

[PATCH net-next 14/17] sfc: VLAN filters must only be created if the firmware supports this.

2016-06-15 Thread Edward Cree
ER_VID + LOC_MAC_IG. For the capture packet firmware it is the other way around. Only the full-feature variant can match on both combinations. Incorporates a fix by Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> in the net_dev->[hw_]features handling. Signed-off-by: Edward Cree <ec

[PATCH v2 net] sfc: Track RPS flow IDs per channel instead of per function

2016-05-31 Thread Edward Cree
From: Jon Cooper <jcoo...@solarflare.com> Otherwise we get confused when two flows on different channels get the same flow ID. Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/ethernet/sfc/efx.c| 32 +++- drivers/net/

[PATCH net 2/2] sfc: Track RPS flow IDs per channel instead of per function

2016-05-26 Thread Edward Cree
From: Jon Cooper <jcoo...@solarflare.com> Otherwise we get confused when two flows on different channels get the same flow ID. Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/ethernet/sfc/efx.c| 32 +++- drivers/net/

[PATCH net 1/2] sfc: handle nonlinear SKBs in efx_filter_rfs()

2016-05-26 Thread Edward Cree
. Also replace EFX_BUG_ON_PARANOID checks for insufficient data with checks that return -EINVAL, as this case is possible if the received packet was too short. Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/ethernet/sfc/rx.c | 39 +++

[PATCH net 0/2] sfc: aRFS fixes

2016-05-26 Thread Edward Cree
The issue fixed in patch #1 was found two years ago and might not still happen on current kernels, but (a) we didn't figure out what caused it, and (b) the fix should be harmless even if it's unnecessary. Edward Cree (1): sfc: handle nonlinear SKBs in efx_filter_rfs() Jon Cooper (1): sfc

Re: [PATCH net 1/2] sfc: handle nonlinear SKBs in efx_filter_rfs()

2016-05-26 Thread Edward Cree
On 26/05/16 17:56, Eric Dumazet wrote: > Lot of magic here. Yet another flow dissection. > > Seems to be a good place to use net/core/flow_dissector.c helpers. Fair point, but that doesn't really feel like 'net' material. I'll look into flow_dissector and see if I can get something ready for when

[PATCH net] sfc: use flow dissector helpers for aRFS

2016-05-26 Thread Edward Cree
Signed-off-by: Edward Cree <ec...@solarflare.com> --- This seems to work in my testing, but I first looked at the flow dissector API less than four hours ago, so I might be doing it wrong. I still think that this is too big a change for 'net' and that it's better to take the original f

Re: [PATCH] ethtool: fix a kernel infoleak in ethtool_get_pauseparam

2016-06-01 Thread Edward Cree
On 01/06/16 15:39, Kangjie Lu wrote: > The field autoneg of pauseparam is not initialized in some > implementations of get_pauseparam(), but the whole object is > copied to userland. > > Signed-off-by: Kangjie Lu > --- > net/core/ethtool.c | 5 - > 1 file changed, 4

Re: [net-next PATCH v3 00/17] Future-proof tunnel offload handlers

2016-06-21 Thread Edward Cree
On 21/06/16 09:22, David Miller wrote: > From: Tom Herbert Date: Mon, 20 Jun 2016 10:05:01 -0700 >> Generally, this means it needs to at least match by local addresses and port >> for an unconnected/unbound socket, the source address for an >> unconnected/bound socket, a

Re: [net-next PATCH v3 00/17] Future-proof tunnel offload handlers

2016-06-21 Thread Edward Cree
On 21/06/16 18:05, Alexander Duyck wrote: > On Tue, Jun 21, 2016 at 1:22 AM, David Miller wrote: >> But anyways, the vastness of the key is why we want to keep "sockets" >> out of network cards, because proper support of "sockets" requires >> access to information the card

Re: [net-next PATCH v3 00/17] Future-proof tunnel offload handlers

2016-06-21 Thread Edward Cree
On 21/06/16 18:40, Hannes Frederic Sowa wrote: > On 21.06.2016 10:27, Edward Cree wrote: >> At a given physical point in the network, a given UDP flow either is or is >> not carrying encapsulated traffic, and if it tries to be both then things >> are certain to break, j

Re: [PATCH net-next 0/5] qed/qede: Tunnel hardware GRO support

2016-06-24 Thread Edward Cree
On 23/06/16 18:07, Alexander Duyck wrote: > I would prefer to see us extend LRO to support "close enough GRO" > instead of have us extend GRO to also include LRO. This reminds me of something I've been meaning to bring up (sorry for slightly OT, but it might turn out relevant after all). In sfc we

Re: [PATCH net-next 0/5] qed/qede: Tunnel hardware GRO support

2016-06-24 Thread Edward Cree
On 24/06/16 17:31, Tom Herbert wrote: > Ed, > Because you took this OT... ;-) > > LRO/GRO is the one of the five common offloads that has no generic > analogue and requires protocol specific logic. For instance each > IP-over-foo encapsulation needs kernel code for GRO, device/driver > code for

[PATCH net-next 2/8] net: udp: always set up for CHECKSUM_PARTIAL offload

2016-02-05 Thread Edward Cree
If the dst device doesn't support it, it'll get fixed up later anyway by validate_xmit_skb(). Also, this allows us to take advantage of LCO to avoid summing the payload multiple times. Signed-off-by: Edward Cree <ec...@solarflare.com> --- net/ipv4/udp.c | 14 +- ne

[PATCH net-next 7/8] net: ip_tunnel: remove 'csum_help' argument to iptunnel_handle_offloads

2016-02-05 Thread Edward Cree
All users now pass false, so we can remove it, and remove the code that was conditional upon it. Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/vxlan.c | 4 ++-- include/net/ip_tunnels.h| 3 +-- include/net/udp_tunnel.h| 3 +-- net/ipv4

[PATCH net-next 4/8] net: vxlan: enable local checksum offload

2016-02-05 Thread Edward Cree
Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/vxlan.c | 18 ++ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index 6543918..7299e5f 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -1

[PATCH net-next 5/8] fou: enable LCO in FOU and GUE

2016-02-05 Thread Edward Cree
Signed-off-by: Edward Cree <ec...@solarflare.com> --- net/ipv4/fou.c | 14 ++ 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/net/ipv4/fou.c b/net/ipv4/fou.c index 976f0dc..dac1874 100644 --- a/net/ipv4/fou.c +++ b/net/ipv4/fou.c @@ -774,7 +774,6 @@ stati

[PATCH net-next 6/8] net: gre: Implement LCO for GRE over IPv4

2016-02-05 Thread Edward Cree
Signed-off-by: Edward Cree <ec...@solarflare.com> --- net/ipv4/ip_gre.c | 16 +--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index 7c51c4e..9b31532 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@ -440,6 +

[PATCH net-next 3/8] net: enable LCO for udp_tunnel_handle_offloads() users

2016-02-05 Thread Edward Cree
The only protocol affected at present is Geneve. Signed-off-by: Edward Cree <ec...@solarflare.com> --- include/net/udp_tunnel.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/net/udp_tunnel.h b/include/net/udp_tunnel.h index cca2ad3..734c156 100644 --- a/i

[PATCH v4 net-next 0/8] Local Checksum Offload

2016-02-05 Thread Edward Cree
TX checksum offload, LCO and RCO. Edward Cree (8): net: local checksum offload for encapsulation net: udp: always set up for CHECKSUM_PARTIAL offload net: enable LCO for udp_tunnel_handle_offloads() users net: vxlan: enable local checksum offload fou: enable LCO in FOU and GUE net:

[PATCH net-next 8/8] Documentation/networking: add checksum-offloads.txt to explain LCO

2016-02-05 Thread Edward Cree
Signed-off-by: Edward Cree <ec...@solarflare.com> --- Documentation/networking/00-INDEX | 2 + Documentation/networking/checksum-offloads.txt | 119 + include/linux/skbuff.h | 2 + 3 files changed, 123 insertions(+) creat

[PATCH net-next 1/8] net: local checksum offload for encapsulation

2016-02-05 Thread Edward Cree
-off-by: Edward Cree <ec...@solarflare.com> --- include/linux/skbuff.h| 24 net/ipv4/ip_tunnel_core.c | 10 +- net/ipv4/udp.c| 20 ++-- net/ipv6/ip6_checksum.c | 14 +++--- 4 files changed, 46 insertions(+), 22 del

[PATCH v5 net-next 2/8] net: udp: always set up for CHECKSUM_PARTIAL offload

2016-02-11 Thread Edward Cree
If the dst device doesn't support it, it'll get fixed up later anyway by validate_xmit_skb(). Also, this allows us to take advantage of LCO to avoid summing the payload multiple times. Signed-off-by: Edward Cree <ec...@solarflare.com> --- net/ipv4/udp.c | 14 +- ne

[PATCH v5 net-next 7/8] net: ip_tunnel: remove 'csum_help' argument to iptunnel_handle_offloads

2016-02-11 Thread Edward Cree
All users now pass false, so we can remove it, and remove the code that was conditional upon it. Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/vxlan.c | 2 +- include/net/ip_tunnels.h| 3 +-- include/net/udp_tunnel.h| 3 +-- net/ipv4

[PATCH v5 net-next 0/8] Local Checksum Offload

2016-02-11 Thread Edward Cree
ads. * Rewrote LCO callers to only fold once. * Simplified nocheck handling. Changes from v1: * Enabled support in more encapsulation protocols. I think it now covers everything except GRE. * Wrote up some documentation covering TX checksum offload, LCO and RCO. Edward Cree (8): net: local check

[PATCH v5 net-next 6/8] net: gre: Implement LCO for GRE over IPv4

2016-02-11 Thread Edward Cree
Signed-off-by: Edward Cree <ec...@solarflare.com> --- net/ipv4/ip_gre.c | 16 +--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index 7c51c4e..9b31532 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@ -440,6 +

[PATCH v5 net-next 5/8] fou: enable LCO in FOU and GUE

2016-02-11 Thread Edward Cree
Signed-off-by: Edward Cree <ec...@solarflare.com> --- net/ipv4/fou.c | 14 ++ 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/net/ipv4/fou.c b/net/ipv4/fou.c index 976f0dc..dac1874 100644 --- a/net/ipv4/fou.c +++ b/net/ipv4/fou.c @@ -774,7 +774,6 @@ stati

[PATCH v5 net-next 3/8] net: enable LCO for udp_tunnel_handle_offloads() users

2016-02-11 Thread Edward Cree
The only protocol affected at present is Geneve. Signed-off-by: Edward Cree <ec...@solarflare.com> --- include/net/udp_tunnel.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/net/udp_tunnel.h b/include/net/udp_tunnel.h index cca2ad3..734c156 100644 --- a/i

[PATCH v5 net-next 4/8] net: vxlan: enable local checksum offload

2016-02-11 Thread Edward Cree
Signed-off-by: Edward Cree <ec...@solarflare.com> --- drivers/net/vxlan.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index ebf57d9..9f52203 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -1702,10 +

[PATCH v5 net-next 8/8] Documentation/networking: add checksum-offloads.txt to explain LCO

2016-02-11 Thread Edward Cree
Signed-off-by: Edward Cree <ec...@solarflare.com> --- Documentation/networking/00-INDEX | 2 + Documentation/networking/checksum-offloads.txt | 119 + include/linux/skbuff.h | 2 + 3 files changed, 123 insertions(+) creat

  1   2   3   4   5   6   7   >