[RESEND net-next] rxrpc: Fix dependency on IPv6 in udp tunnel config

2021-02-12 Thread Vadim Fedorenko
As udp_port_cfg struct changes its members with dependency on IPv6 configuration, the code in rxrpc should also check for IPv6. Fixes: 1a9b86c9fd95 ("rxrpc: use udp tunnel APIs instead of open code in rxrpc_open_socket") Reported-by: kernel test robot Signed-off-by: Vadim Fedorenko

Re: [net-next] rxrpc: Fix dependency on IPv6 in udp tunnel config

2021-02-11 Thread Vadim Fedorenko
On 09.02.2021 13:54, Vadim Fedorenko wrote: As udp_port_cfg struct changes its members with dependency on IPv6 configuration, the code in rxrpc should also check for IPv6. Looks like this patch was mistakely tagged as superseded by dc0e6056decc rxrpc: Fix missing dependency on NET_UDP_TUNNEL

[net-next] rxrpc: Fix dependency on IPv6 in udp tunnel config

2021-02-09 Thread Vadim Fedorenko
As udp_port_cfg struct changes its members with dependency on IPv6 configuration, the code in rxrpc should also check for IPv6. Fixes: 1a9b86c9fd95 ("rxrpc: use udp tunnel APIs instead of open code in rxrpc_open_socket") Reported-by: kernel test robot Signed-off-by: Vadim Fedorenko

Re: [PATCH net-next] rxrpc: use udp tunnel APIs instead of open code in rxrpc_open_socket

2021-02-07 Thread Vadim Fedorenko
l simplify rxrpc_open_socket(). Note that with this patch, the udp tunnel socket will always bind to a random port if transport is not provided by users, which is suggested by David Howells, thanks! Acked-by: David Howells Signed-off-by: Xin Long Looks good to me. Reviewed-by: Vadim Fedorenko

[net v4] selftests: txtimestamp: fix compilation issue

2021-02-04 Thread Vadim Fedorenko
ation") Suggested-by: Willem de Bruijn Signed-off-by: Vadim Fedorenko --- tools/testing/selftests/net/txtimestamp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/net/txtimestamp.c b/tools/testing/selftests/net/txtimestamp.c index 490a8cc..fabb

[net v3] selftests: txtimestamp: fix compilation issue

2021-02-04 Thread Vadim Fedorenko
ation") Suggested-by: Willem de Bruijn Signed-off-by: Vadim Fedorenko --- tools/testing/selftests/net/txtimestamp.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/net/txtimestamp.c b/tools/testing/selftests/net/txtimestamp.c index 490a8cc..3d6b

Re: [net v2] selftests: txtimestamp: fix compilation issue

2021-02-04 Thread Vadim Fedorenko
On 04.02.2021 15:50, Willem de Bruijn wrote: On Thu, Feb 4, 2021 at 10:21 AM Vadim Fedorenko wrote: PACKET_TX_TIMESTAMP is defined in if_packet.h but it is not included in test. It could be included instead of otherwise the error of redefinition arrives. Fixes: 8fe2f761cae9 (net-timestamp

Re: [net] selftests: txtimestamp: fix compilation issue

2021-02-04 Thread Vadim Fedorenko
On 04.02.2021 13:34, Willem de Bruijn wrote: On Wed, Feb 3, 2021 at 4:11 PM Vadim Fedorenko wrote: PACKET_TX_TIMESTAMP is defined in if_packet.h but it is not included in test. But we cannot include it because we have definitions of struct and including leads to redefinition error. So define

[net v2] selftests: txtimestamp: fix compilation issue

2021-02-04 Thread Vadim Fedorenko
PACKET_TX_TIMESTAMP is defined in if_packet.h but it is not included in test. It could be included instead of otherwise the error of redefinition arrives. Fixes: 8fe2f761cae9 (net-timestamp: expand documentation) Suggested-by: Willem de Bruijn Signed-off-by: Vadim Fedorenko --- tools/testing

[net] selftests: txtimestamp: fix compilation issue

2021-02-03 Thread Vadim Fedorenko
) Signed-off-by: Vadim Fedorenko --- tools/testing/selftests/net/txtimestamp.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/testing/selftests/net/txtimestamp.c b/tools/testing/selftests/net/txtimestamp.c index 490a8cc..2010f47 100644 --- a/tools/testing/selftests/net/txtimestamp.c +++ b

[net-next] selftests/tls: fix selftest with CHACHA20-POLY1305

2021-02-03 Thread Vadim Fedorenko
: Rong Chen Signed-off-by: Vadim Fedorenko --- tools/testing/selftests/net/tls.c | 15 ++- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/tools/testing/selftests/net/tls.c b/tools/testing/selftests/net/tls.c index e0088c2..426d078 100644 --- a/tools/testing/selftests

Re: [PATCH] selftests/tls: fix compile errors after adding CHACHA20-POLY1305

2021-02-02 Thread Vadim Fedorenko
On 02.02.2021 21:53, Jakub Kicinski wrote: On Tue, 2 Feb 2021 17:45:00 +0800 Rong Chen wrote: The kernel test robot reported the following errors: tls.c: In function ‘tls_setup’: tls.c:136:27: error: storage size of ‘tls12’ isn’t known union tls_crypto_context tls12;

Re: [PATCH] selftests/tls: fix compile errors after adding CHACHA20-POLY1305

2021-02-02 Thread Vadim Fedorenko
On 03.02.2021 00:58, Rong Chen wrote: On 2/2/21 6:11 PM, Vadim Fedorenko wrote: On 02.02.2021 09:45, Rong Chen wrote: The kernel test robot reported the following errors: tls.c: In function ‘tls_setup’: tls.c:136:27: error: storage size of ‘tls12’ isn’t known    union tls_crypto_context

Re: [PATCH] selftests/tls: fix compile errors after adding CHACHA20-POLY1305

2021-02-02 Thread Vadim Fedorenko
On 02.02.2021 09:45, Rong Chen wrote: The kernel test robot reported the following errors: tls.c: In function ‘tls_setup’: tls.c:136:27: error: storage size of ‘tls12’ isn’t known union tls_crypto_context tls12; ^ tls.c:150:21: error: ‘tls12_crypto_info_chacha2

[RESEND net v3] net: ip_tunnel: fix mtu calculation

2021-01-29 Thread Vadim Fedorenko
>needed_headroom properly") Reported-by: Slava Bacherikov Signed-off-by: Vadim Fedorenko --- net/ipv4/ip_tunnel.c | 16 +++- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c index 64594aa..76a420c 100644 --- a/net/ipv4/ip

Re: [PATCH net] rxrpc: Fix deadlock around release of dst cached on udp tunnel

2021-01-29 Thread Vadim Fedorenko
On 29.01.2021 17:41, David Howells wrote: Vadim Fedorenko wrote: You missed the call to dst_release(sk->sk_rx_dst) in rxrpc_sock_destructor. Without it we are still leaking the dst. Hmmm... I no longer get the messages appearing with this patch. I'll have another look. Sorry

Re: [PATCH net] rxrpc: Fix deadlock around release of dst cached on udp tunnel

2021-01-29 Thread Vadim Fedorenko
On 29.01.2021 17:30, Vadim Fedorenko wrote: On 29.01.2021 16:44, David Howells wrote: AF_RXRPC sockets use UDP ports in encap mode.  This causes socket and dst from an incoming packet to get stolen and attached to the UDP socket from whence it is leaked when that socket is closed. When a

Re: [PATCH net] rxrpc: Fix deadlock around release of dst cached on udp tunnel

2021-01-29 Thread Vadim Fedorenko
On 29.01.2021 16:44, David Howells wrote: AF_RXRPC sockets use UDP ports in encap mode. This causes socket and dst from an incoming packet to get stolen and attached to the UDP socket from whence it is leaked when that socket is closed. When a network namespace is removed, the wait for dst reco

Re: [net] udp: exclude UDP_ENCAP_RXRPC packets from early demux

2021-01-29 Thread Vadim Fedorenko
On 29.01.2021 14:25, Vadim Fedorenko wrote: While adding the early demux for udp sockets rxrpc were not changed to deal with sk_rx_dst cache. That leads to leaking early demux cache dst reference. But adding dst_release to destructor of rxrpc doesn't help in situation of destroying name

Re: [net v2] net: ip_tunnel: fix mtu calculation

2021-01-29 Thread Vadim Fedorenko
On 29.01.2021 02:38, Willem de Bruijn wrote: On Thu, Jan 28, 2021 at 9:21 PM Willem de Bruijn wrote: On Thu, Jan 28, 2021 at 8:02 PM Vadim Fedorenko wrote: dev->hard_header_len for tunnel interface is set only when header_ops are set too and already contains full overhead of any tun

Re: [net] net: ip_tunnel: fix mtu calculation

2021-01-28 Thread Vadim Fedorenko
On 28.01.2021 21:48, Willem de Bruijn wrote: On Wed, Jan 27, 2021 at 11:14 PM Vadim Fedorenko wrote: dev->hard_header_len for tunnel interface is set only when header_ops are set too and already contains full overhead of any tunnel encapsulation. That's why there is not need to

[net] net: ip_tunnel: fix mtu calculation

2021-01-27 Thread Vadim Fedorenko
>needed_headroom properly") Reported-by: Slava Bacherikov Signed-off-by: Vadim Fedorenko --- net/ipv4/ip_tunnel.c | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c index 64594aa..ad78825 100644 --- a/net/ip

Re: BUG: Incorrect MTU on GRE device if remote is unspecified

2021-01-27 Thread Vadim Fedorenko
On 28.01.2021 01:38, Cong Wang wrote: On Wed, Jan 27, 2021 at 4:56 PM Jakub Kicinski wrote: On Mon, 25 Jan 2021 22:10:10 +0200 Slava Bacherikov wrote: Hi, I'd like to report a regression. Currently, if you create GRE interface on the latest stable or LTS kernel (5.4 branch) with unspecified r

[net] net: decnet: fix netdev refcount leaking on error path

2021-01-25 Thread Vadim Fedorenko
because this code was introduced long time ago. I don't think that this bug has ever fired but the patch is done just to have a consistent code base. Signed-off-by: Vadim Fedorenko --- net/decnet/dn_route.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/decnet/dn_rout

[net] selftests/tls: fix selftests after adding ChaCha20-Poly1305

2021-01-08 Thread Vadim Fedorenko
TLS selftests where broken because of wrong variable types used. Fix it by changing u16 -> uint16_t Fixes: 4f336e88a870 ("selftests/tls: add CHACHA20-POLY1305 to tls selftests") Reported-by: kernel test robot Signed-off-by: Vadim Fedorenko --- tools/testing/selftests/net/tls.c | 4

[net-next v2 3/5] net/tls: add CHACHA20-POLY1305 specific behavior

2020-11-24 Thread Vadim Fedorenko
RFC 7905 defines special behavior for ChaCha-Poly TLS sessions. The differences are in the calculation of nonce and the absence of explicit IV. This behavior is like TLSv1.3 partly. Signed-off-by: Vadim Fedorenko --- include/net/tls.h | 9 ++--- net/tls/tls_sw.c | 6 -- 2 files changed

[net-next v2 4/5] net/tls: add CHACHA20-POLY1305 configuration

2020-11-24 Thread Vadim Fedorenko
Add ChaCha-Poly specific configuration code. Signed-off-by: Vadim Fedorenko --- net/tls/tls_main.c | 3 +++ net/tls/tls_sw.c | 16 2 files changed, 19 insertions(+) diff --git a/net/tls/tls_main.c b/net/tls/tls_main.c index 8d93cea..47b7c53 100644 --- a/net/tls/tls_main.c

[net-next v2 5/5] selftests/tls: add CHACHA20-POLY1305 to tls selftests

2020-11-24 Thread Vadim Fedorenko
Add new cipher as a variant of standard tls selftests Signed-off-by: Vadim Fedorenko --- tools/testing/selftests/net/tls.c | 40 --- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/tools/testing/selftests/net/tls.c b/tools/testing/selftests

[net-next v2 1/5] net/tls: make inline helpers protocol-aware

2020-11-24 Thread Vadim Fedorenko
Inline functions defined in tls.h have a lot of AES-specific constants. Remove these constants and change argument to struct tls_prot_info to have an access to cipher type in later patches Signed-off-by: Vadim Fedorenko --- include/net/tls.h | 26 -- net/tls

[net-next v2 2/5] net/tls: add CHACHA20-POLY1305 specific defines and structures

2020-11-24 Thread Vadim Fedorenko
To provide support for ChaCha-Poly cipher we need to define specific constants and structures. Signed-off-by: Vadim Fedorenko --- include/net/tls.h| 1 + include/uapi/linux/tls.h | 15 +++ 2 files changed, 16 insertions(+) diff --git a/include/net/tls.h b/include/net/tls.h

[net-next v2 0/5] Add CHACHA20-POLY1305 cipher to Kernel TLS

2020-11-24 Thread Vadim Fedorenko
RFC 7905 defines usage of ChaCha20-Poly1305 in TLS connections. This cipher is widely used nowadays and it's good to have a support for it in TLS connections in kernel. Changes v2: nit fixes suggested by Jakub Kicinski add linux-crypto to review patch set Vadim Fedorenko (5): net/tls:

Re: [net v3] net/tls: missing received data after fast remote close

2020-11-23 Thread Vadim Fedorenko
On 20.11.2020 18:26, Jakub Kicinski wrote: On Thu, 19 Nov 2020 18:59:48 +0300 Vadim Fedorenko wrote: In case when tcp socket received FIN after some data and the parser haven't started before reading data caller will receive an empty buffer. This behavior differs from plain TCP socket and

[net-next 0/5] Add CHACHA20-POLY1305 cipher to Kernel TLS

2020-11-21 Thread Vadim Fedorenko
RFC 7905 defines usage of ChaCha20-Poly1305 in TLS connections. This cipher is widely used nowadays and it's good to have a support for it in TLS connections in kernel Vadim Fedorenko (5): net/tls: make inline helpers protocol-aware net/tls: add CHACHA20-POLY1305 specific define

[net-next 5/5] selftests/tls: add CHACHA20-POLY1305 to tls selftests

2020-11-21 Thread Vadim Fedorenko
Add new cipher as a variant of standart tls selftests Signed-off-by: Vadim Fedorenko --- tools/testing/selftests/net/tls.c | 40 --- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/tools/testing/selftests/net/tls.c b/tools/testing/selftests

[net-next 3/5] net/tls: add CHACHA20-POLY1305 specific behavior

2020-11-21 Thread Vadim Fedorenko
RFC 7905 defines special behavior for ChaCha-Poly TLS sessions. The differences are in the calculation of nonce and the absence of explicit IV. This behavior is like TLSv1.3 partly. Signed-off-by: Vadim Fedorenko --- include/net/tls.h | 9 ++--- net/tls/tls_sw.c | 6 -- 2 files changed

[net-next 4/5] net/tls: add CHACHA20-POLY1305 configuration

2020-11-21 Thread Vadim Fedorenko
Add ChaCha-Poly specific configuration code. Signed-off-by: Vadim Fedorenko --- net/tls/tls_main.c | 3 +++ net/tls/tls_sw.c | 18 ++ 2 files changed, 21 insertions(+) diff --git a/net/tls/tls_main.c b/net/tls/tls_main.c index 8d93cea..47b7c53 100644 --- a/net/tls/tls_main.c

[net-next 1/5] net/tls: make inline helpers protocol-aware

2020-11-21 Thread Vadim Fedorenko
Inline functions defined in tls.h have a lot of AES-specific constants. Remove these constants and change argument to struct tls_prot_info to have an access to cipher type in later patches Signed-off-by: Vadim Fedorenko --- include/net/tls.h | 26 -- net/tls

[net-next 2/5] net/tls: add CHACHA20-POLY1305 specific defines and structures

2020-11-21 Thread Vadim Fedorenko
To provide support for ChaCha-Poly cipher we need to define specific constants and structures. Signed-off-by: Vadim Fedorenko --- include/net/tls.h| 1 + include/uapi/linux/tls.h | 15 +++ 2 files changed, 16 insertions(+) diff --git a/include/net/tls.h b/include/net/tls.h

[net v3] net/tls: missing received data after fast remote close

2020-11-19 Thread Vadim Fedorenko
ypted Alert record and FIN packet. So the TCP socket changes sk_shutdown to RCV_SHUTDOWN and sk_flag with SK_DONE bit set. The received data is not parsed upon arrival and is never sent to user-space. Patch unpauses parser directly if we have unparsed data in tcp receive queue. Signed-off-by:

Re: [net v2] net/tls: missing received data after fast remote close

2020-11-19 Thread Vadim Fedorenko
On 19.11.2020 01:13, Vadim Fedorenko wrote: In case when tcp socket received FIN after some data and the parser haven't started before reading data caller will receive an empty buffer. This behavior differs from plain TCP socket and leads to special treating in user-space. The flow that tri

[net v2] net/tls: missing received data after fast remote close

2020-11-18 Thread Vadim Fedorenko
ypted Alert record and FIN packet. So the TCP socket changes sk_shutdown to RCV_SHUTDOWN and sk_flag with SK_DONE bit set. The received data is not parsed upon arrival and is never sent to user-space. Patch unpauses parser directly if we have unparsed data in tcp receive queue. Signed-off-by:

Re: [net] net/tls: missing received data after fast remote close

2020-11-18 Thread Vadim Fedorenko
On 18.11.2020 23:39, Jakub Kicinski wrote: On Wed, 18 Nov 2020 20:51:30 + Vadim Fedorenko wrote: The async nature of parser is OK for classic HTTPS server/client case because it's very good to have parsed record before actual call to recvmsg or splice_read is done. The code inside the

Re: [net] net/tls: missing received data after fast remote close

2020-11-18 Thread Vadim Fedorenko
On 18.11.2020 16:23, Jakub Kicinski wrote: On Wed, 18 Nov 2020 02:47:24 + Vadim Fedorenko wrote: This behavior differs from plain TCP socket and leads to special treating in user-space. Patch unpauses parser directly if we have unparsed data in tcp receive queue. Sure, but why is the

Re: [net] net/tls: missing received data after fast remote close

2020-11-17 Thread Vadim Fedorenko
On 18.11.2020 01:53, Jakub Kicinski wrote: On Wed, 18 Nov 2020 00:50:48 + Vadim Fedorenko wrote: On 17.11.2020 22:38, Jakub Kicinski wrote: On Sun, 15 Nov 2020 14:43:48 +0300 Vadim Fedorenko wrote: In case when tcp socket received FIN after some data and the parser haven't st

Re: [net] net/tls: missing received data after fast remote close

2020-11-17 Thread Vadim Fedorenko
On 17.11.2020 22:38, Jakub Kicinski wrote: On Sun, 15 Nov 2020 14:43:48 +0300 Vadim Fedorenko wrote: In case when tcp socket received FIN after some data and the parser haven't started before reading data caller will receive an empty buffer. This is pretty terse, too terse for me to under

Re: [net v2] net/tls: fix corrupted data in recvmsg

2020-11-16 Thread Vadim Fedorenko
On 17.11.2020 00:54, Jakub Kicinski wrote: On Tue, 17 Nov 2020 00:45:11 + Vadim Fedorenko wrote: On 17.11.2020 00:26, Jakub Kicinski wrote: On Sun, 15 Nov 2020 07:16:00 +0300 Vadim Fedorenko wrote: If tcp socket has more data than Encrypted Handshake Message then tls_sw_recvmsg will try

Re: [net v2] net/tls: fix corrupted data in recvmsg

2020-11-16 Thread Vadim Fedorenko
On 17.11.2020 00:26, Jakub Kicinski wrote: On Sun, 15 Nov 2020 07:16:00 +0300 Vadim Fedorenko wrote: If tcp socket has more data than Encrypted Handshake Message then tls_sw_recvmsg will try to decrypt next record instead of returning full control message to userspace as mentioned in comment

[net] net/tls: missing received data after fast remote close

2020-11-15 Thread Vadim Fedorenko
n tcp receive queue. Signed-off-by: Vadim Fedorenko --- net/tls/tls_sw.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c index 2fe9e2c..4db6943 100644 --- a/net/tls/tls_sw.c +++ b/net/tls/tls_sw.c @@ -1289,6 +1289,9 @@ static struct sk_buff *tls_wait_data(s

[net v2] net/tls: fix corrupted data in recvmsg

2020-11-14 Thread Vadim Fedorenko
that's why the data is not stored in skb for next iteration. Revert check to not decrypt next record if current is not Application Data. Fixes: 692d7b5d1f91 ("tls: Fix recvmsg() to be able to peek across multiple records") Signed-off-by: Vadim Fedorenko --- net/tls/tls_sw.c | 2 +-

Re: [net] net/tls: fix corrupted data in recvmsg

2020-11-14 Thread Vadim Fedorenko
On 15.11.2020 03:54, Jakub Kicinski wrote: Please don't top post. On Sun, 15 Nov 2020 02:26:30 + Vadim Fedorenko wrote: No, I don't have any BPFs in test. If we have Application Data in TCP queue then tls_sw_advance_skb will change ctx->control from 0x16 to 0x17 (TLS_REC

Re: [net] net/tls: fix corrupted data in recvmsg

2020-11-14 Thread Vadim Fedorenko
nski wrote: On Sat, 14 Nov 2020 07:09:42 +0300 Vadim Fedorenko wrote: If tcp socket has more data than Encrypted Handshake Message then tls_sw_recvmsg will try to decrypt next record instead of returning full control message to userspace as mentioned in comment. The next message - usually

[net] net/tls: fix corrupted data in recvmsg

2020-11-13 Thread Vadim Fedorenko
that's why the data is not stored in skb for next iteration. Disable zero copy for this case. Fixes: 692d7b5d1f91 ("tls: Fix recvmsg() to be able to peek across multiple records") Signed-off-by: Vadim Fedorenko --- net/tls/tls_sw.c | 1 + 1 file changed, 1 insertion(+) diff

Re: [PATCH net] ip6_tunnel: set inner ipproto before ip6_tnl_encap.

2020-10-30 Thread Vadim Fedorenko
On 30.10.2020 12:54, Alexander Ovechkin wrote: On 30 Oct 2020, at 14:01, Vadim Fedorenko wrote: Could not reproduce the bug. Could you please provide a test scenario? It can be reproduced if your net device doesn’t support udp tunnel segmentation (i.e its features do not have

Re: [PATCH net] ip6_tunnel: set inner ipproto before ip6_tnl_encap.

2020-10-30 Thread Vadim Fedorenko
On 29.10.2020 14:40, Willem de Bruijn wrote: On Thu, Oct 29, 2020 at 3:46 AM Alexander Ovechkin wrote: On 28 Oct 2020, at 01:53 UTC Willem de Bruijn wrote: On Tue, Oct 27, 2020 at 5:52 PM Alexander Ovechkin wrote: But it was moved on purpose to avoid setting the inner protocol to IPPROT

Re: [PATCH net] ip6_tunnel: set inner ipproto before ip6_tnl_encap.

2020-10-29 Thread Vadim Fedorenko
On 29.10.2020 14:40, Willem de Bruijn wrote: On Thu, Oct 29, 2020 at 3:46 AM Alexander Ovechkin wrote: On 28 Oct 2020, at 01:53 UTC Willem de Bruijn wrote: On Tue, Oct 27, 2020 at 5:52 PM Alexander Ovechkin wrote: But it was moved on purpose to avoid setting the inner protocol to IPPROT

Re: [PATCH net] ip6_tunnel: set inner ipproto before ip6_tnl_encap.

2020-10-16 Thread Vadim Fedorenko
On 16.10.2020 18:55, Willem de Bruijn wrote: On Fri, Oct 16, 2020 at 7:14 AM Alexander Ovechkin wrote: ip6_tnl_encap assigns to proto transport protocol which encapsulates inner packet, but we must pass to set_inner_ipproto protocol of that inner packet. Calling set_inner_ipproto after ip6_tnl

[net-next v2 1/5] ip6_tunnel: simplify transmit path

2020-05-20 Thread Vadim Fedorenko
Merge ip{4,6}ip6_tnl_xmit functions into one universal ipxip6_tnl_xmit in preparation for adding MPLS support. Signed-off-by: Vadim Fedorenko --- net/ipv6/ip6_tunnel.c | 182 ++ 1 file changed, 79 insertions(+), 103 deletions(-) diff --git a/net

[net-next v2 3/5] tunnel6: support for IPPROTO_MPLS

2020-05-20 Thread Vadim Fedorenko
This patch is just preparation for MPLS support in ip6_tunnel Signed-off-by: Vadim Fedorenko --- net/ipv6/tunnel6.c | 87 +++--- 1 file changed, 83 insertions(+), 4 deletions(-) diff --git a/net/ipv6/tunnel6.c b/net/ipv6/tunnel6.c index 21e7b95

[net-next v2 2/5] ip6_tunnel: add MPLS transmit support

2020-05-20 Thread Vadim Fedorenko
Add ETH_P_MPLS_UC as supported protocol. Signed-off-by: Vadim Fedorenko --- net/ipv6/ip6_tunnel.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index dae6f71..6b94c87 100644 --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6

[net-next v2 5/5] mpls: Add support for IPv6 tunnels

2020-05-20 Thread Vadim Fedorenko
Add support for IPv6 tunnel devices in AF_MPLS. Signed-off-by: Vadim Fedorenko --- net/mpls/af_mpls.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/mpls/af_mpls.c b/net/mpls/af_mpls.c index a42e4ed..fd30ea6 100644 --- a/net/mpls/af_mpls.c +++ b/net/mpls/af_mpls.c

[net-next v2 4/5] ip6_tunnel: add generic MPLS receive support

2020-05-20 Thread Vadim Fedorenko
Add support for MPLS in receive side. Signed-off-by: Vadim Fedorenko --- net/ipv6/ip6_tunnel.c | 59 +++ 1 file changed, 59 insertions(+) diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index 6b94c87..821d96c 100644 --- a/net/ipv6

[net-next v2 0/5] ip6_tunnel: add MPLS support

2020-05-20 Thread Vadim Fedorenko
The support for MPLS-in-IPv4 was added earlier. This patchset adds support for MPLS-in-IPv6. Changes in v2: - Eliminate ifdefs IS_ENABLE(CONFIG_MPLS) Vadim Fedorenko (5): ip6_tunnel: simplify transmit path ip6_tunnel: add MPLS transmit support tunnel6: support for IPPROTO_MPLS ip6_tunnel

[net] net: ipip: fix wrong address family in init error path

2020-05-20 Thread Vadim Fedorenko
In case of error with MPLS support the code is misusing AF_INET instead of AF_MPLS. Fixes: 1b69e7e6c4da ("ipip: support MPLS over IPv4") Signed-off-by: Vadim Fedorenko --- net/ipv4/ipip.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/ipv4/ipip.c b/net/ipv4/ip

[net v3 2/2] net/tls: free record only on encryption error

2020-05-20 Thread Vadim Fedorenko
We cannot free record on any transient error because it leads to losing previos data. Check socket error to know whether record must be freed or not. Fixes: d10523d0b3d7 ("net/tls: free the record on encryption error") Signed-off-by: Vadim Fedorenko --- net/tls/tls_sw.c | 6

[net v3 1/2] net/tls: fix encryption error checking

2020-05-20 Thread Vadim Fedorenko
ot;) Fixes: d3b18ad31f93 ("tls: add bpf support to sk_msg handling") Signed-off-by: Vadim Fedorenko --- net/tls/tls_sw.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c index d8ebdfc..e61c024 100644 --- a/net/tls/tls_sw.c ++

[net v3 0/2] net/tls: fix encryption error path

2020-05-20 Thread Vadim Fedorenko
error code was returned to user space in that case. This patchset fixes the problems. Vadim Fedorenko (2): net/tls: fix encryption error checking net/tls: free record only on encryption error net/tls/tls_sw.c | 17 ++--- 1 file changed, 10 insertions(+), 7 deletions(-) -- 1.8.3.1

Re: [net-next 0/5] ip6_tunnel: add MPLS support

2020-05-19 Thread Vadim Fedorenko
On 20.05.2020 01:34, David Miller wrote: From: Vadim Fedorenko Date: Mon, 18 May 2020 23:33:43 +0300 The support for MPLS-in-IPv4 was added earlier. This patchset adds support for MPLS-in-IPv6. This adds way too many ifdefs into the C code, please find another way to abstract this such that

Re: [PATCH v2 net] net/tls: fix encryption error checking

2020-05-19 Thread Vadim Fedorenko
On 20.05.2020 02:10, Jakub Kicinski wrote: On Wed, 20 May 2020 01:49:33 +0300 Vadim Fedorenko wrote: On 20.05.2020 01:04, Jakub Kicinski wrote: On Tue, 19 May 2020 13:20:43 +0300 Vadim Fedorenko wrote: bpf_exec_tx_verdict() can return negative value for copied variable. In that case this

Re: [PATCH v2 net] net/tls: fix encryption error checking

2020-05-19 Thread Vadim Fedorenko
On 20.05.2020 01:04, Jakub Kicinski wrote: On Tue, 19 May 2020 13:20:43 +0300 Vadim Fedorenko wrote: bpf_exec_tx_verdict() can return negative value for copied variable. In that case this value will be pushed back to caller and the real error code will be lost. Fix it using signed type and

[PATCH v2 net] net/tls: fix encryption error checking

2020-05-19 Thread Vadim Fedorenko
ot;) Fixes: d3b18ad31f93 ("tls: add bpf support to sk_msg handling") Signed-off-by: Vadim Fedorenko --- net/tls/tls_sw.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c index e23f94a..57f8082 100644 --- a/net/tls/tls_sw.c ++

Re: [PATCH] net/tls: fix encryption error checking

2020-05-18 Thread Vadim Fedorenko
On 19.05.2020 02:23, Jakub Kicinski wrote: On Tue, 19 May 2020 02:05:29 +0300 Vadim Fedorenko wrote: On 19.05.2020 01:30, Jakub Kicinski wrote: tls_push_record can return -EAGAIN because of tcp layer. In that case open_rec is already in the tx_record list and should not be freed. Also the

Re: [PATCH] net/tls: fix encryption error checking

2020-05-18 Thread Vadim Fedorenko
e(). That leads to overflow of copied variable > and wrong return code. > > Fixes: d10523d0b3d7 ("net/tls: free the record on encryption error") > Signed-off-by: Vadim Fedorenko Doesn't this return -EAGAIN back to user space? Meaning even tho we queued the user space will

[net-next 2/5] ip6_tunnel: add MPLS transmit support

2020-05-18 Thread Vadim Fedorenko
Add ETH_P_MPLS_UC as supported protocol. Signed-off-by: Vadim Fedorenko --- net/ipv6/ip6_tunnel.c | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index dae6f71..00ddd57 100644 --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6

[net-next 4/5] ip6_tunnel: add generic MPLS receive support

2020-05-18 Thread Vadim Fedorenko
Add support for MPLS in receive side. Signed-off-by: Vadim Fedorenko --- net/ipv6/ip6_tunnel.c | 65 +++ 1 file changed, 65 insertions(+) diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index 00ddd57..a17639f 100644 --- a/net/ipv6

[net-next 5/5] mpls: Add support for IPv6 tunnels

2020-05-18 Thread Vadim Fedorenko
Add support for IPv6 tunnel devices in AF_MPLS. Signed-off-by: Vadim Fedorenko --- net/mpls/af_mpls.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/mpls/af_mpls.c b/net/mpls/af_mpls.c index a42e4ed..fd30ea6 100644 --- a/net/mpls/af_mpls.c +++ b/net/mpls/af_mpls.c

[net-next 0/5] ip6_tunnel: add MPLS support

2020-05-18 Thread Vadim Fedorenko
The support for MPLS-in-IPv4 was added earlier. This patchset adds support for MPLS-in-IPv6. Vadim Fedorenko (5): ip6_tunnel: simplify transmit path ip6_tunnel: add MPLS transmit support tunnel6: support for IPPROTO_MPLS ip6_tunnel: add generic MPLS receive support mpls: Add support for

[net-next 1/5] ip6_tunnel: simplify transmit path

2020-05-18 Thread Vadim Fedorenko
Merge ip{4,6}ip6_tnl_xmit functions into one universal ipxip6_tnl_xmit in preparation for adding MPLS support. Signed-off-by: Vadim Fedorenko --- net/ipv6/ip6_tunnel.c | 182 ++ 1 file changed, 79 insertions(+), 103 deletions(-) diff --git a/net

[net-next 3/5] tunnel6: support for IPPROTO_MPLS

2020-05-18 Thread Vadim Fedorenko
This patch is just preparation for MPLS support in ip6_tunnel Signed-off-by: Vadim Fedorenko --- net/ipv6/tunnel6.c | 96 +++--- 1 file changed, 92 insertions(+), 4 deletions(-) diff --git a/net/ipv6/tunnel6.c b/net/ipv6/tunnel6.c index 21e7b95

[PATCH] net/tls: fix encryption error checking

2020-05-16 Thread Vadim Fedorenko
. Fixes: d10523d0b3d7 ("net/tls: free the record on encryption error") Signed-off-by: Vadim Fedorenko --- net/tls/tls_sw.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c index e23f94a..d4acbd1 100644 --- a/net/tls/tls_sw.c +++

[PATCH] ipvs: allow tunneling with gre encapsulation

2019-06-25 Thread Vadim Fedorenko
windows real servers can handle gre tunnels, this patch allows gre encapsulation with the tunneling method, thereby letting ipvs be load balancer for windows-based services Signed-off-by: Vadim Fedorenko --- include/uapi/linux/ip_vs.h | 1 + net/netfilter/ipvs/ip_vs_xmit.c | 76

Re: [PATCH net] add support of IFF_XMIT_DST_RELEASE bit in vlan

2017-11-02 Thread Vadim Fedorenko
On 02.11.2017 19:25, Eric Dumazet wrote: On Thu, 2017-11-02 at 17:47 +0300, Vadim Fedorenko wrote: On Thu, 2017-11-02 at 07:33 -7000, Eric Dumazet wrote: On Thu, 2017-11-02 at 15:49 +0300, Vadim Fedorenko wrote: Some time ago Eric Dumazet suggested a "hack the IFF_XMIT_DST_RELEASE fl

Re: [PATCH net] add support of IFF_XMIT_DST_RELEASE bit in vlan

2017-11-02 Thread Vadim Fedorenko
On Thu, 2017-11-02 at 07:33 -7000, Eric Dumazet wrote: > On Thu, 2017-11-02 at 15:49 +0300, Vadim Fedorenko wrote: >> Some time ago Eric Dumazet suggested a "hack the IFF_XMIT_DST_RELEASE >> flag on the vlan netdev". But the last comment was "does not support &g

[PATCH net] add support of IFF_XMIT_DST_RELEASE bit in vlan

2017-11-02 Thread Vadim Fedorenko
er_features(). Suggested-by: Eric Dumazet Signed-off-by: Vadim Fedorenko --- net/8021q/vlan.c | 3 +++ net/8021q/vlan_netlink.c | 1 + 2 files changed, 4 insertions(+) diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c index 9649579..510986c 100644 --- a/net/8021q/vlan.c +++ b/net/8021q/vlan.

[PATCH] Implement full-functionality option for ECN encapsulation in tunnel

2017-02-15 Thread Vadim Fedorenko
ction 9.1.1 recommendation. This patch implements ECN full-functionality option into ipvs xmit code. Cc: netdev@vger.kernel.org Cc: lvs-de...@vger.kernel.org Signed-off-by: Vadim Fedorenko Reviewed-by: Konstantin Khlebnikov --- net/netfilter/ipvs/ip_vs_xmit.c | 8 ++-- 1 file changed, 6 inser

[PATCH net] ip6_tunnel: fix ip6_tnl_lookup

2016-10-11 Thread Vadim Fedorenko
ip6_tunnel: Add support for wildcard tunnel endpoints.") Signed-off-by: Vadim Fedorenko --- net/ipv6/ip6_tunnel.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index 6a66adb..5692d6b 100644 --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunne