Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1516586 > unrolled thread
| Started by | Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> |
|---|---|
| First post | 2016-11-07 22:10 +0100 |
| Last post | 2016-11-10 01:00 +0100 |
| Articles | 8 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH net-next v2 1/5] net: l2tp: change L2TP_ATTR_UDP_ZERO_CSUM6_{RX,TX} attribute types Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> - 2016-11-07 22:10 +0100
[PATCH net-next v2 2/5] net: l2tp: only set L2TP_ATTR_UDP_CSUM if AF_INET Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> - 2016-11-07 22:10 +0100
Re: [PATCH net-next v2 2/5] net: l2tp: only set L2TP_ATTR_UDP_CSUM if AF_INET David Miller <davem@davemloft.net> - 2016-11-10 01:00 +0100
[PATCH net-next v2 5/5] net: l2tp: fix negative assignment to unsigned int Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> - 2016-11-07 22:10 +0100
Re: [PATCH net-next v2 5/5] net: l2tp: fix negative assignment to unsigned int David Miller <davem@davemloft.net> - 2016-11-10 01:00 +0100
[PATCH net-next v2 3/5] net: l2tp: netlink: l2tp_nl_tunnel_send: set UDP6 checksum flags Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> - 2016-11-07 22:10 +0100
Re: [PATCH net-next v2 3/5] net: l2tp: netlink: l2tp_nl_tunnel_send: set UDP6 checksum flags David Miller <davem@davemloft.net> - 2016-11-10 01:00 +0100
Re: [PATCH net-next v2 1/5] net: l2tp: change L2TP_ATTR_UDP_ZERO_CSUM6_{RX,TX} attribute types David Miller <davem@davemloft.net> - 2016-11-10 01:00 +0100
| From | Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> |
|---|---|
| Date | 2016-11-07 22:10 +0100 |
| Subject | [PATCH net-next v2 1/5] net: l2tp: change L2TP_ATTR_UDP_ZERO_CSUM6_{RX,TX} attribute types |
| Message-ID | <sAZkZ-8k-9@gated-at.bofh.it> |
The attributes L2TP_ATTR_UDP_ZERO_CSUM6_RX and
L2TP_ATTR_UDP_ZERO_CSUM6_TX are used as flags,
but is defined as a u8 in a comment.
This patch redocuments them as flags.
Adding nla_policy entries would break API, so not doing that.
CC: Tom Herbert <therbert@google.com>
Signed-off-by: Asbjoern Sloth Toennesen <asbjorn@asbjorn.st>
---
include/uapi/linux/l2tp.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/uapi/linux/l2tp.h b/include/uapi/linux/l2tp.h
index 4bd27d0..5daa48e 100644
--- a/include/uapi/linux/l2tp.h
+++ b/include/uapi/linux/l2tp.h
@@ -124,8 +124,8 @@ enum {
L2TP_ATTR_STATS, /* nested */
L2TP_ATTR_IP6_SADDR, /* struct in6_addr */
L2TP_ATTR_IP6_DADDR, /* struct in6_addr */
- L2TP_ATTR_UDP_ZERO_CSUM6_TX, /* u8 */
- L2TP_ATTR_UDP_ZERO_CSUM6_RX, /* u8 */
+ L2TP_ATTR_UDP_ZERO_CSUM6_TX, /* flag */
+ L2TP_ATTR_UDP_ZERO_CSUM6_RX, /* flag */
L2TP_ATTR_PAD,
__L2TP_ATTR_MAX,
};
--
2.10.1
[toc] | [next] | [standalone]
| From | Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> |
|---|---|
| Date | 2016-11-07 22:10 +0100 |
| Subject | [PATCH net-next v2 2/5] net: l2tp: only set L2TP_ATTR_UDP_CSUM if AF_INET |
| Message-ID | <sAZl0-8k-29@gated-at.bofh.it> |
| In reply to | #1516586 |
Only set L2TP_ATTR_UDP_CSUM in l2tp_nl_tunnel_send()
when it's running over IPv4.
This prepares the code to also have IPv6 specific attributes.
Signed-off-by: Asbjoern Sloth Toennesen <asbjorn@asbjorn.st>
---
net/l2tp/l2tp_netlink.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/net/l2tp/l2tp_netlink.c b/net/l2tp/l2tp_netlink.c
index 59aa2d2..2abd100 100644
--- a/net/l2tp/l2tp_netlink.c
+++ b/net/l2tp/l2tp_netlink.c
@@ -379,9 +379,14 @@ static int l2tp_nl_tunnel_send(struct sk_buff *skb, u32 portid, u32 seq, int fla
switch (tunnel->encap) {
case L2TP_ENCAPTYPE_UDP:
+ switch (sk->sk_family) {
+ case AF_INET:
+ if (nla_put_u8(skb, L2TP_ATTR_UDP_CSUM, !sk->sk_no_check_tx))
+ goto nla_put_failure;
+ break;
+ }
if (nla_put_u16(skb, L2TP_ATTR_UDP_SPORT, ntohs(inet->inet_sport)) ||
- nla_put_u16(skb, L2TP_ATTR_UDP_DPORT, ntohs(inet->inet_dport)) ||
- nla_put_u8(skb, L2TP_ATTR_UDP_CSUM, !sk->sk_no_check_tx))
+ nla_put_u16(skb, L2TP_ATTR_UDP_DPORT, ntohs(inet->inet_dport)))
goto nla_put_failure;
/* NOBREAK */
case L2TP_ENCAPTYPE_IP:
--
2.10.1
[toc] | [prev] | [next] | [standalone]
| From | David Miller <davem@davemloft.net> |
|---|---|
| Date | 2016-11-10 01:00 +0100 |
| Subject | Re: [PATCH net-next v2 2/5] net: l2tp: only set L2TP_ATTR_UDP_CSUM if AF_INET |
| Message-ID | <sBKWB-5VH-27@gated-at.bofh.it> |
| In reply to | #1516587 |
From: Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> Date: Mon, 7 Nov 2016 20:39:25 +0000 > Only set L2TP_ATTR_UDP_CSUM in l2tp_nl_tunnel_send() > when it's running over IPv4. > > This prepares the code to also have IPv6 specific attributes. > > Signed-off-by: Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> Applied.
[toc] | [prev] | [next] | [standalone]
| From | Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> |
|---|---|
| Date | 2016-11-07 22:10 +0100 |
| Subject | [PATCH net-next v2 5/5] net: l2tp: fix negative assignment to unsigned int |
| Message-ID | <sAZl0-8k-21@gated-at.bofh.it> |
| In reply to | #1516586 |
recv_seq, send_seq and lns_mode mode are all defined as
unsigned int foo:1;
Signed-off-by: Asbjoern Sloth Toennesen <asbjorn@asbjorn.st>
---
net/l2tp/l2tp_core.c | 2 +-
net/l2tp/l2tp_ppp.c | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/net/l2tp/l2tp_core.c b/net/l2tp/l2tp_core.c
index a2ed3bd..85948c6 100644
--- a/net/l2tp/l2tp_core.c
+++ b/net/l2tp/l2tp_core.c
@@ -715,7 +715,7 @@ void l2tp_recv_common(struct l2tp_session *session, struct sk_buff *skb,
l2tp_info(session, L2TP_MSG_SEQ,
"%s: requested to enable seq numbers by LNS\n",
session->name);
- session->send_seq = -1;
+ session->send_seq = 1;
l2tp_session_set_header_len(session, tunnel->version);
}
} else {
diff --git a/net/l2tp/l2tp_ppp.c b/net/l2tp/l2tp_ppp.c
index 41d47bf..2ddfec1 100644
--- a/net/l2tp/l2tp_ppp.c
+++ b/net/l2tp/l2tp_ppp.c
@@ -1272,7 +1272,7 @@ static int pppol2tp_session_setsockopt(struct sock *sk,
err = -EINVAL;
break;
}
- session->recv_seq = val ? -1 : 0;
+ session->recv_seq = !!val;
l2tp_info(session, PPPOL2TP_MSG_CONTROL,
"%s: set recv_seq=%d\n",
session->name, session->recv_seq);
@@ -1283,7 +1283,7 @@ static int pppol2tp_session_setsockopt(struct sock *sk,
err = -EINVAL;
break;
}
- session->send_seq = val ? -1 : 0;
+ session->send_seq = !!val;
{
struct sock *ssk = ps->sock;
struct pppox_sock *po = pppox_sk(ssk);
@@ -1301,7 +1301,7 @@ static int pppol2tp_session_setsockopt(struct sock *sk,
err = -EINVAL;
break;
}
- session->lns_mode = val ? -1 : 0;
+ session->lns_mode = !!val;
l2tp_info(session, PPPOL2TP_MSG_CONTROL,
"%s: set lns_mode=%d\n",
session->name, session->lns_mode);
--
2.10.1
[toc] | [prev] | [next] | [standalone]
| From | David Miller <davem@davemloft.net> |
|---|---|
| Date | 2016-11-10 01:00 +0100 |
| Subject | Re: [PATCH net-next v2 5/5] net: l2tp: fix negative assignment to unsigned int |
| Message-ID | <sBKWB-5VH-9@gated-at.bofh.it> |
| In reply to | #1516590 |
From: Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> Date: Mon, 7 Nov 2016 20:39:28 +0000 > recv_seq, send_seq and lns_mode mode are all defined as > unsigned int foo:1; > > Signed-off-by: Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> Applied.
[toc] | [prev] | [next] | [standalone]
| From | Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> |
|---|---|
| Date | 2016-11-07 22:10 +0100 |
| Subject | [PATCH net-next v2 3/5] net: l2tp: netlink: l2tp_nl_tunnel_send: set UDP6 checksum flags |
| Message-ID | <sAZl0-8k-19@gated-at.bofh.it> |
| In reply to | #1516586 |
This patch causes the proper attribute flags to be set, in the case that IPv6 UDP checksums are disabled, so that userspace ie. `ip l2tp show tunnel` knows about it. Signed-off-by: Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> --- net/l2tp/l2tp_netlink.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/net/l2tp/l2tp_netlink.c b/net/l2tp/l2tp_netlink.c index 2abd100..494910d 100644 --- a/net/l2tp/l2tp_netlink.c +++ b/net/l2tp/l2tp_netlink.c @@ -384,6 +384,16 @@ static int l2tp_nl_tunnel_send(struct sk_buff *skb, u32 portid, u32 seq, int fla if (nla_put_u8(skb, L2TP_ATTR_UDP_CSUM, !sk->sk_no_check_tx)) goto nla_put_failure; break; +#if IS_ENABLED(CONFIG_IPV6) + case AF_INET6: + if (udp_get_no_check6_tx(sk) && + nla_put_flag(skb, L2TP_ATTR_UDP_ZERO_CSUM6_TX)) + goto nla_put_failure; + if (udp_get_no_check6_rx(sk) && + nla_put_flag(skb, L2TP_ATTR_UDP_ZERO_CSUM6_RX)) + goto nla_put_failure; + break; +#endif } if (nla_put_u16(skb, L2TP_ATTR_UDP_SPORT, ntohs(inet->inet_sport)) || nla_put_u16(skb, L2TP_ATTR_UDP_DPORT, ntohs(inet->inet_dport))) -- 2.10.1
[toc] | [prev] | [next] | [standalone]
| From | David Miller <davem@davemloft.net> |
|---|---|
| Date | 2016-11-10 01:00 +0100 |
| Subject | Re: [PATCH net-next v2 3/5] net: l2tp: netlink: l2tp_nl_tunnel_send: set UDP6 checksum flags |
| Message-ID | <sBKWB-5VH-3@gated-at.bofh.it> |
| In reply to | #1516591 |
From: Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> Date: Mon, 7 Nov 2016 20:39:26 +0000 > This patch causes the proper attribute flags to be set, > in the case that IPv6 UDP checksums are disabled, so that > userspace ie. `ip l2tp show tunnel` knows about it. > > Signed-off-by: Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> Applied.
[toc] | [prev] | [next] | [standalone]
| From | David Miller <davem@davemloft.net> |
|---|---|
| Date | 2016-11-10 01:00 +0100 |
| Subject | Re: [PATCH net-next v2 1/5] net: l2tp: change L2TP_ATTR_UDP_ZERO_CSUM6_{RX,TX} attribute types |
| Message-ID | <sBKWC-5VH-31@gated-at.bofh.it> |
| In reply to | #1516586 |
From: Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> Date: Mon, 7 Nov 2016 20:39:24 +0000 > The attributes L2TP_ATTR_UDP_ZERO_CSUM6_RX and > L2TP_ATTR_UDP_ZERO_CSUM6_TX are used as flags, > but is defined as a u8 in a comment. > > This patch redocuments them as flags. > > Adding nla_policy entries would break API, so not doing that. > > CC: Tom Herbert <therbert@google.com> > Signed-off-by: Asbjoern Sloth Toennesen <asbjorn@asbjorn.st> Applied.
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web