= RMNET_MAP_GET_MUX_ID(skb);
- cmd = RMNET_MAP_GET_CMD_START(skb);
if (mux_id >= RMNET_MAX_LOGICAL_EP) {
kfree_skb(skb);
Thanks for cleaning these up.
Acked-by: Subash Abhinov Kasiviswanathan
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundat
6c8
<2> rtnetlink_rcv_msg+0x1dc/0x328
<2> netlink_rcv_skb+0xac/0x118
<2> rtnetlink_rcv+0x24/0x30
<2> netlink_unicast+0x158/0x1f0
<2> netlink_sendmsg+0x32c/0x338
<2> sock_sendmsg+0x44/0x60
<2> SyS_sendto+0x150/0x1ac
<2> el0_svc_naked+0x3
On 2018-10-30 11:24, Paolo Abeni wrote:
So that we can re-use it at the UDP lavel in a later patch
Hi Paolo
Minor queries -
Should it be "level" instead of "lavel"? Similar comment for the ipv6
patch as well.
Signed-off-by: Paolo Abeni
---
net/ipv4/ip_input.c | 73
Is the "likely" required here?
Not required, but currently helpful IMHO, as we should hit the above
only on unlikey and really unwonted configuration.
Note that only SKB_GSO_UDP_L4 GSO packets will not match the above
likely condition.
HW can coalesce all incoming streams of UDP and may not
On 2018-10-19 08:25, Paolo Abeni wrote:
In some scenarios, the GRO engine can assemble an UDP GRO packet
that ultimately lands on a non GRO-enabled socket.
This patch tries to address the issue explicitly checking for the UDP
socket features before enqueuing the packet, and eventually segmenting
x40
[<6027bbcb>] __netif_receive_skb+0x24/0x8e
Fixes: 74692caf1b0b ("net: qualcomm: rmnet: Process packets over ethernet")
Signed-off-by: Sean Tranchetti
Signed-off-by: Subash Abhinov Kasiviswanathan
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c | 2 +-
1 file chang
Signed-off-by: Sean Tranchetti
Signed-off-by: Subash Abhinov Kasiviswanathan
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c
b/drivers/net/ethernet/qualcomm/rmnet/rmnet_handle
+0xa4/0x198
[32806.185125] __qdisc_run+0x1f8/0x310
[32806.188803] net_tx_action+0x23c/0x26c
[32806.192655] __do_softirq+0x220/0x408
[32806.196420] do_softirq+0x4c/0x70
Fixes: ceed73a2cf4a ("drivers: net: ethernet: qualcomm: rmnet: Initial
implementation")
Signed-off-by: Suba
This series is a set of small fixes for rmnet driver
Patch 1 is a fix for a scenario reported by syzkaller
Patch 2 & 3 are fixes for incorrect allocation flags
Sean Tranchetti (1):
net: qualcomm: rmnet: Skip processing loopback packets
Subash Abhinov Kasiviswanathan (2):
net: qual
On 2018-09-14 11:59, Willem de Bruijn wrote:
From: Willem de Bruijn
Avoid the socket lookup cost in udp_gro_receive if no socket has a
gro callback configured.
Signed-off-by: Willem de Bruijn
diff --git a/net/ipv4/udp_offload.c b/net/ipv4/udp_offload.c
index 4f6aa95a9b12..f44fe328aa0f 100644
On 2018-09-14 11:59, Willem de Bruijn wrote:
From: Willem de Bruijn
With configurable gro, the flags field in net_offloads may be changed.
Remove the const keyword. This is a noop otherwise.
Signed-off-by: Willem de Bruijn
diff --git a/net/sctp/offload.c b/net/sctp/offload.c
index
Looks like for a TCP_NEW_SYN_RECV socket, sock_diag_destroy
essentially ends up doing:
struct request_sock *req = inet_reqsk(sk);
local_bh_disable();
inet_csk_reqsk_queue_drop_and_put(req->rsk_listener,
We are seeing a crash on an ARM64 device with Android 4.14 based kernel.
From the call stack, a TCP socket is being destroyed using netlink_diag.
The memory dump showed that the socket was an inet request socket (in
state TCP_NEW_SYN_RECV) with refcount of 0.
The crash seems to have happened
The concepte looks fine to me, but I have a few comments to the
implementation below.
First: I missed the last part of the discussion around automatic
detection of passthrough mode. Could you give us a short summary of
the
alternatives you tried and why they were dropped?
Hi Bjørn
The
Pass through mode is to allow packets in MAP format to be passed
on to the stack. rmnet driver can be used to process and demultiplex
these packets. Note that pass through mode can be enabled when the
device is in raw ip mode only.
Signed-off-by: Subash Abhinov Kasiviswanathan
---
drivers/net
ror as mentioned by Lorenzo.
Keep mark and output-mark on the same line and add man page info as
mentioned by David.
Signed-off-by: Subash Abhinov Kasiviswanathan
---
ip/ipxfrm.c| 17 -
ip/xfrm_state.c| 9 +
man/man8/ip-xfrm.8 | 11 +++
3 files change
any reason to put output-mark on its own line? Why not
mark 0x1/0x3 output-mark 0x2
Hi David
I will move it to the same line in v3.
is the documentation clear on the difference between mark and
output-mark?
Lorenzo has described the differences in detail in the kernel
+
+static void print_explain(FILE *f)
+{
+ fprintf(f,
+ "Usage: ... rmnet mux_id MUXID\n"
+ "\n"
+ "MUXID := 1-127\n"
+ );
+}
Hi Daniele
This range can be from 1-254.
+
+static void explain(void)
+{
+ print_explain(stderr);
+}
+
Have you considered putting this earlier up in the output, where the
mark is printed as well?
+ if (tb[XFRMA_OUTPUT_MARK]) {
+ __u32 output_mark =
rta_getattr_u32(tb[XFRMA_OUTPUT_MARK]);
+
+ fprintf(fp, "\toutput-mark 0x%x %s", output_mark,
_SL_);
+ }
>v2: Moved the XFRMA_OUTPUT_MARK print after XFRMA_MARK in
xfrm_xfrma_print() as mentioned by Lorenzo
Signed-off-by: Subash Abhinov Kasiviswanathan
---
ip/ipxfrm.c| 6 ++
ip/xfrm_state.c| 9 +
man/man8/ip-xfrm.8 | 2 ++
3 files changed, 17 insertions(+)
diff --git a/ip/ipxfrm.c
ode tunnel
replay-window 0 flag af-unspec
auth-trunc xcbc(aes) 0x3ed0af408cf5dcbf5d5d9a5fa806b211 96
enc cbc(aes) 0x3ed0af408cf5dcbf5d5d9a5fa806b233
anti-replay context: seq 0x0, oseq 0x0, bitmap 0x
output-mark 0x2
Signed-off-by: Subash Abhinov Kasiv
both patches work properly for me.
Maybe it could be helpful in the first patch to add a print when
pass-through setting fails if raw-ip has not been set, just to let the
user know what is happening.
Thanks for testing Daniele.
I can add an error message there when pass through mode setting
f7a2b90948da47ade1b345eddb37b721f5ab65f4 Mon Sep 17 00:00:00 2001
From: Subash Abhinov Kasiviswanathan
Date: Sat, 9 Jun 2018 11:14:22 -0600
Subject: [PATCH] net: qmi_wwan: Allow packets to pass through to rmnet
Pass through mode is to allow packets in MAP format to be passed
on to rmnet if the rmnet rx handler is attached
Aurora Forum,
a Linux Foundation Collaborative ProjectFrom bccfae3707af1be671fe55ea63123438f2dc38a8 Mon Sep 17 00:00:00 2001
From: Subash Abhinov Kasiviswanathan
Date: Fri, 8 Jun 2018 19:53:08 -0600
Subject: [PATCH] net: qmi_wwan: Add pass through mode
Pass through mode is to allow packets in MAP
Actually, I think this is fine. RFC 7136 clarified this, and says:
==
Thus, we can conclude that the value of the "u" bit in IIDs has no
particular meaning. In the case of an IID created from a MAC
address
according to RFC 4291, its value is determined by the MAC address,
but
I followed Dan's advice and prepared a very basic test patch
(attached) for testing it through ip link.
Basically things seem to be properly working with qmicli, but I needed
to modify a bit qmi_wwan, so I'm adding Bjørn that maybe can help.
Bjørn,
I'm trying to add support to rmnet in
On 2018-06-05 08:54, Dan Williams wrote:
On Tue, 2018-06-05 at 11:38 +0200, Daniele Palmas wrote:
Hi,
2018-02-21 20:47 GMT+01:00 Subash Abhinov Kasiviswanathan
:
> On 2018-02-21 04:38, Daniele Palmas wrote:
> >
> > Hello,
> >
> > in rmnet kernel documentation I rea
itial
implementation")
Signed-off-by: Subash Abhinov Kasiviswanathan
---
v1->v2: Rebase change on net-next instead as mentioned by David.
Also remove an unnecessary variable.
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c | 8
1 file changed, 4 insertions(+), 4 delet
RAWIP devices such as rmnet do not have a hardware address and
instead require the kernel to generate a random IID for the
IPv6 addresses.
Signed-off-by: Sean Tranchetti
Signed-off-by: Subash Abhinov Kasiviswanathan
---
v1->v2: Yoshfuji suggested to update the I/G and G/L bit.
Simi
by: Subash Abhinov Kasiviswanathan
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c
b/drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c
index 78fdad
RAWIP devices such as rmnet do not have a hardware address and
instead require the kernel to generate a random IID for the
temporary addresses. For permanent addresses, the device IID is
used along with prefix received.
Signed-off-by: Subash Abhinov Kasiviswanathan
---
net/ipv6/addrconf.c | 17
-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
.../net/ethernet/qualcomm/rmnet/rmnet_handlers.c| 21 ++---
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c
b/drivers/net/ethernet/qualcomm
ine rmnet_ethtool_ops
as static as mentioned by kbuild test robot.
Subash Abhinov Kasiviswanathan (3):
net: qualcomm: rmnet: Capture all drops in transmit path
net: qualcomm: rmnet: Add support for ethtool private stats
net: qualcomm: rmnet: Remove redundant command check
drivers/net/ether
in the network stack.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h | 13 +
.../net/ethernet/qualcomm/rmnet/rmnet_map_data.c | 64 --
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c
The command packet size is already checked once in
rmnet_map_deaggregate() for the header, packet and trailer size, so
this additional check is not needed.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.
On 2018-05-15 02:41, kbuild test robot wrote:
Hi Subash,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
url:
https://github.com/0day-ci/linux/commits/Subash-Abhinov-Kasiviswanathan/net-qualcomm-rmnet-Updates-2018-05-14/20180515-115355
The command packet size is already checked once in
rmnet_map_deaggregate() for the header, packet and trailer size, so
this additional check is not needed.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.
This series contains some minor updates for rmnet driver.
Patch 1 adds tx_drops counter to more places.
Patch 2 adds ethtool private stats support to make it easy to debug
the checksum offload path.
Patch 3 is a cleanup in command packet processing path.
Subash Abhinov Kasiviswanathan (3
-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
.../net/ethernet/qualcomm/rmnet/rmnet_handlers.c| 21 ++---
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c
b/drivers/net/ethernet/qualcomm
in the network stack.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h | 13 +
.../net/ethernet/qualcomm/rmnet/rmnet_map_data.c | 59 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c
/0xec
[<6026ceec>] unregister_netdevice_many+0x21/0xa1
[<6027c765>] rtnl_delete_link+0x3e/0x4e
[<60280ecb>] rtnl_dellink+0x262/0x29c
[<6027c241>] ? rtnl_get_link+0x0/0x3e
[<6027f867>] rtnetlink_rcv_msg+0x235/0x274
Fixes: be81a85f5f87 ("net: qualcomm
We are seeing a warning followed by a crash on an ARM64 device with
Android 4.14 based kernel.
It looks like both sk->sk_write_queue and sk->sk_send_head are NULL.
Since the sk->sk_write_queue is NULL and is dereferenced in
tcp_rto_delta_us()
to get the skb->skb_mstamp, there is crash
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c:50:18:
warning: cast to restricted __be32
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c:74:21:
warning: cast to restricted __be16
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/et
Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c | 41 +-
.../net/ethernet/qualcomm/rmnet/rmnet_handlers.c | 10 +++---
.../ethernet/qualcomm/rmnet/rmnet_map_command.c| 2 +-
.../net/ethernet/qualcomm
ttributes as mentioned by David. The rmnet specific flags are also
moved to uapi. The netlink updates are done as part of #4 and #5 has the
fill_info operation.
Subash Abhinov Kasiviswanathan (5):
net: qualcomm: rmnet: Fix casting issues
net: qualcomm: rmnet: Update copyright year to 2
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c | 2 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h | 2 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c| 2 +-
drivers/net/ethernet/qu
Device of the de-aggregated skb is correctly assigned after inspecting
the mux_id, so remove the assignment in rmnet_map_deaggregate().
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c | 1 -
1 file chan
This is needed to query the mux_id and flags of a rmnet device.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c | 30 ++
1 file changed, 30 insertions(+)
diff --git a/drivers/net/ethernet/qu
Please address Joe's feedback and only update the copyright date on
files that actually had changes this year.
Thank you.
Hi David
I have fixed that now in v3.
However, patchwork is not showing the entire series.
It shows only the first patch for some reason even if I search with me
as
This is needed to query the mux_id and flags of a rmnet device.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c | 30 ++
1 file changed, 30 insertions(+)
diff --git a/drivers/net/ethernet/qu
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c | 2 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h | 2 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c| 2 +-
drivers/net/ethernet/qu
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c:50:18:
warning: cast to restricted __be32
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c:74:21:
warning: cast to restricted __be16
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/et
Device of the de-aggregated skb is correctly assigned after inspecting
the mux_id, so remove the assignment in rmnet_map_deaggregate().
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c | 1 -
1 file chan
ype is changed to __be
types as mentioned by David.
v3>-v3: Update copyright in files which actually had changes as
mentioned by Joe.
Subash Abhinov Kasiviswanathan (4):
net: qualcomm: rmnet: Fix casting issues
net: qualcomm: rmnet: Update copyright year to 2018
net: qualcomm: rmnet:
Did any work actually occur on all these files in 2018?
$ git log --name-only --since=01-01-2018
drivers/net/ethernet/qualcomm/rmnet/ | \
grep "^drivers" | sort | uniq
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h
Ummm, if you change pkt_len to be a proper __be16, then you don't need
these
casts when passing it to ntohs().
Hi David
I have fixed this now in v2.
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
Device of the de-aggregated skb is correctly assigned after inspecting
the mux_id, so remove the assignment in rmnet_map_deaggregate().
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c | 1 -
1 file chan
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c | 2 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h | 2 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c| 2 +-
drivers/net/ethernet/qu
This is needed to query the mux_id and flags of a rmnet device.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c | 30 ++
1 file changed, 30 insertions(+)
diff --git a/drivers/net/ethernet/qu
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c:50:18:
warning: cast to restricted __be32
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c:74:21:
warning: cast to restricted __be16
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/et
ype is changed to __be types
as mentioned by David.
Subash Abhinov Kasiviswanathan (4):
net: qualcomm: rmnet: Fix casting issues
net: qualcomm: rmnet: Update copyright year to 2018
net: qualcomm: rmnet: Remove unnecessary device assignment
net: qualcomm: rmnet: Implement fill_info
drivers/
This series contains some minor updates for rmnet driver.
Patch 1 contains fixes for sparse warnings.
Patch 2 updates the copyright date to 2018.
Patch 3 is a cleanup in receive path.
Patch 4 has the implementation of the fill_info operation.
Subash Abhinov Kasiviswanathan (4):
net: qualcomm
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c | 2 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h | 2 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c| 2 +-
drivers/net/ethernet/qu
This is needed to query the mux_id and flags of a rmnet device.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c | 30 ++
1 file changed, 30 insertions(+)
diff --git a/drivers/net/ethernet/qu
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c:50:18:
warning: cast to restricted __be32
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c:74:21:
warning: cast to restricted __be16
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/et
Device of the de-aggregated skb is correctly assigned after inspecting
the mux_id, so remove the assignment in rmnet_map_deaggregate().
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c | 1 -
1 file chan
On 2018-02-21 04:38, Daniele Palmas wrote:
Hello,
in rmnet kernel documentation I read:
"This driver can be used to register onto any physical network device
in
IP mode. Physical transports include USB, HSIC, PCIe and IP
accelerator."
Does this mean that it can be used in association with
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c
b/drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command
Fixes: ceed73a2cf4a ("drivers: net: ethernet: qualcomm: rmnet: Initial
implementation")
Fixes: 60d58f971c10 ("net: qualcomm: rmnet: Implement bridge mode")
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm
[] rtnetlink_rcv+0x34/0x44
[] netlink_unicast+0x1ec/0x294
[] netlink_sendmsg+0x320/0x390
[] sock_sendmsg+0x54/0x60
[] SyS_sendto+0x1a0/0x1e4
[] el0_svc_naked+0x24/0x28
Fixes: 192c4b5d48f2 ("net: qualcomm: rmnet: Add support for 64 bit stats")
Signed-off-by: Subash Abhinov Kasiviswanat
Patch 1 and 2 fixes issues identified when CONFIG_DEBUG_PREEMPT was
enabled. These involve APIs which were called in invalid contexts.
Patch 3 is a null derefence fix identified by code inspection.
Subash Abhinov Kasiviswanathan (3):
net: qualcomm: rmnet: Fix crash on real dev unregistration
Real devices may support scatter gather(SG), so enable SG on rmnet
devices to use GSO. GSO reduces CPU cycles by 20% for a rate of
146Mpbs for a single stream TCP connection.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm
When using the MAPv4 packet format in conjunction with MAP commands,
a dummy DL checksum trailer will be appended to the packet. Before
this packet is sent out as an ACK, the DL checksum trailer needs to be
removed.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.
the
sk_pacing_shift_update() helper. This value was determined based
on experiments with a single stream TCP TX using iperf for a
duration of 30s.
Pacing shift | Observed data rate (Mbps)
10 | 9
9 | 140
8 | 146 (Max link rate)
Signed-off-by: Subash Abhinov Kasiviswanathan
of partial checksum field in
transport header.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
.../net/ethernet/qualcomm/rmnet/rmnet_handlers.c | 8 ++
drivers/net/ethernet/qualcomm/rmnet/rmnet_map.h| 2 +
.../net/ethernet/qualcomm/rmnet/rmnet_map_data.c
hardware will insert the computed checksum.
The use of this additional packet format for checksum offload is
explained in subsequent patches.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_map.h
rmnet devices cannot have a mux id of 255. This is validated when
assigning the mux id to the rmnet devices. As a result, checking for
mux id 255 does not apply in egress path.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm
This is done so that we can use this field for both ingress and
egress flags.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c | 10 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h | 2 +-
d
as per RFC 768
and for unexpected TCP checksum of 0.
If checksum offload is disabled when using MAPv4 packet format in
receive path, the packet is queued as is to network stack without
the validations above.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
.
rmnet_map_demultiplex() is only declared but not defined anywhere,
so remove it.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_map.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/net/ethernet/qualcomm
ors reported by kbuild test robot
v2->v3: Update the commit message for Patch 5 based on Eric's comments
Subash Abhinov Kasiviswanathan (10):
net: qualcomm: rmnet: Remove redundant check when stamping map header
net: qualcomm: rmnet: Remove invalid condition while stamping mux id
net: qu
We already check the headroom once in rmnet_map_egress_handler(),
so this is not needed.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/net/et
It's there, in state "Changes Requested" because you were given
feedback on your patch series and you must address it.
"Changes Requested" state patches do not show up in the default
view, you must explicitly adjust the search criteria to see
patches which are not in state which qualifies as
On 2018-01-05 13:41, Subash Abhinov Kasiviswanathan wrote:
This series introduces the MAPv4 packet format for checksum
offload plus some other minor changes.
Patches 1-3 are cleanups.
Patch 4 renames the ingress format to data format so that all data
formats can be configured using this going
as per RFC 768
and for unexpected TCP checksum of 0.
If checksum offload is disabled when using MAPv4 packet format in
receive path, the packet is queued as is to network stack without
the validations above.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
.
rmnet devices cannot have a mux id of 255. This is validated when
assigning the mux id to the rmnet devices. As a result, checking for
mux id 255 does not apply in egress path.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm
When using the MAPv4 packet format in conjunction with MAP commands,
a dummy DL checksum trailer will be appended to the packet. Before
this packet is sent out as an ACK, the DL checksum trailer needs to be
removed.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.
rmnet_map_demultiplex() is only declared but not defined anywhere,
so remove it.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_map.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/net/ethernet/qualcomm
This is done so that we can use this field for both ingress and
egress flags.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c | 10 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h | 2 +-
d
Real devices may support scatter gather(SG), so enable SG on rmnet
devices to use GSO. GSO reduces CPU cycles by 20% for a rate of
146Mpbs for a single stream TCP connection.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm
hardware will insert the computed checksum.
The use of this additional packet format for checksum offload is
explained in subsequent patches.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_map.h
the
sk_pacing_shift_update() helper. This value was determined based
on experiments with a single stream TCP TX using iperf for a
duration of 30s.
Pacing shift | Observed data rate (Mbps)
10 | 9
9 | 140
8 | 146 (Max link rate)
Signed-off-by: Subash Abhinov Kasiviswanathan
of partial checksum field in
transport header.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
.../net/ethernet/qualcomm/rmnet/rmnet_handlers.c | 8 ++
drivers/net/ethernet/qualcomm/rmnet/rmnet_map.h| 2 +
.../net/ethernet/qualcomm/rmnet/rmnet_map_data.c
ors reported by kbuild test robot
v2->v3: Update the commit message for Patch 5 based on Eric's comments
Subash Abhinov Kasiviswanathan (10):
net: qualcomm: rmnet: Remove redundant check when stamping map header
net: qualcomm: rmnet: Remove invalid condition while stamping mux id
net: qu
We already check the headroom once in rmnet_map_egress_handler(),
so this is not needed.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/net/et
The real device over which the rmnet devices are installed also
aggregate multiple IP packets and sends them as a single large
aggregate
frame to the hardware.
It would be nice to give some details about this in the changelog.
Also what results you get with different values for the shift
+ sk_pacing_shift_update(skb->sk, 8);
Well... Please tell us why this is needed in this driver.
This interface is meant for wifi aggregation, not to work around some
strange ethernet drivers designs.
Hi Eric
The real device over which the rmnet devices are installed also
aggregate
This is done so that we can use this field for both ingress and
egress flags.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c | 10 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h | 2 +-
d
Real devices may support scatter gather(SG), so enable SG on rmnet
devices to use GSO. GSO reduces CPU cycles by 20% for a rate of
146Mpbs for a single stream TCP connection.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
drivers/net/ethernet/qualcomm
of partial checksum field in
transport header.
Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
---
.../net/ethernet/qualcomm/rmnet/rmnet_handlers.c | 8 ++
drivers/net/ethernet/qualcomm/rmnet/rmnet_map.h| 2 +
.../net/ethernet/qualcomm/rmnet/rmnet_map_data.c
1 - 100 of 295 matches
Mail list logo