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
, 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
-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
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
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
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
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
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
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
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
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
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:
>>>>
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
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
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
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.
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 +
-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 @
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
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
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 +
-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 @
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
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
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
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
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
-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(
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
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
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
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
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
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
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/
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>
---
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
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:
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/
-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
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
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
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
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/
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
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/
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
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/
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/
.
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 +++
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
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
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
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
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
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
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
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
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
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
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
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
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
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 +
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
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:
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
-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
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
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
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
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 +
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
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
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 +
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 - 100 of 688 matches
Mail list logo