All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ipv6: icmp: Updating pmtu for link local route
@ 2018-07-06 12:59 Georg Kohmann
  2018-07-07 12:14 ` David Miller
  0 siblings, 1 reply; 4+ messages in thread
From: Georg Kohmann @ 2018-07-06 12:59 UTC (permalink / raw)
  To: netdev

When a ICMPV6_PKT_TOOBIG is received from a link local address the pmtu 
will be updated on a route with an arbitrary interface index. Subsequent 
packets sent back to the same link local address may therefore end up 
not considering the updated pmtu.

Current behavior breaks TAHI v6LC4.1.4 Reduce PMTU On-link.
Referring to RFC 1981: Section 3:
"Note that Path MTU Discovery must be performed even in cases where a 
node "thinks" a destination is attached to the same link as itself. In a 
situation such as when a neighboring router acts as proxy [ND] for some 
destination, the destination can to appear to be directly connected but 
is in fact more than one hop away."

Using the interface index from the incoming ICMPV6_PKT_TOOBIG when 
updating the pmtu.

Signed-off-by: Georg Kohmann <geokohma@cisco.com>
---
  net/ipv6/icmp.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c
index be491bf..7d0e9c7 100644
--- a/net/ipv6/icmp.c
+++ b/net/ipv6/icmp.c
@@ -92,7 +92,7 @@ static void icmpv6_err(struct sk_buff *skb, struct 
inet6_skb_parm *opt,
         struct net *net = dev_net(skb->dev);

         if (type == ICMPV6_PKT_TOOBIG)
-               ip6_update_pmtu(skb, net, info, 0, 0, sock_net_uid(net, 
NULL));
+               ip6_update_pmtu(skb, net, info, skb->dev->ifindex, 0, 
sock_net_uid(net, NULL));
         else if (type == NDISC_REDIRECT)
                 ip6_redirect(skb, net, skb->dev->ifindex, 0,
                              sock_net_uid(net, NULL));
---

Tested on kernel 4.4.38.
I am however worried that this patch may have consequences for other 
traffic on the same interface. Please advice or suggest at better approach.

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] ipv6: icmp: Updating pmtu for link local route
  2018-07-06 12:59 [PATCH] ipv6: icmp: Updating pmtu for link local route Georg Kohmann
@ 2018-07-07 12:14 ` David Miller
  0 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2018-07-07 12:14 UTC (permalink / raw)
  To: geokohma; +Cc: netdev

From: Georg Kohmann <geokohma@cisco.com>
Date: Fri, 6 Jul 2018 14:59:56 +0200

> @@ -92,7 +92,7 @@ static void icmpv6_err(struct sk_buff *skb, struct
> inet6_skb_parm *opt,
>         struct net *net = dev_net(skb->dev);
> 
>         if (type == ICMPV6_PKT_TOOBIG)
> -               ip6_update_pmtu(skb, net, info, 0, 0, sock_net_uid(net,
> -NULL));
> +               ip6_update_pmtu(skb, net, info, skb->dev->ifindex, 0,

This patch is pretty seriously mangled by your email client.

Fix this, then email a test patch to yourself.

Do not repost this patch to the mailing list until you can
successfully apply the patch you receive in your test email.

Thank you.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ipv6: icmp: Updating pmtu for link local route
  2018-08-02 11:56 Georg Kohmann
@ 2018-08-06  0:13 ` David Miller
  0 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2018-08-06  0:13 UTC (permalink / raw)
  To: geokohma; +Cc: netdev

From: Georg Kohmann <geokohma@cisco.com>
Date: Thu,  2 Aug 2018 13:56:58 +0200

> When a ICMPV6_PKT_TOOBIG is received from a link local address the pmtu will
> be updated on a route with an arbitrary interface index. Subsequent packets
> sent back to the same link local address may therefore end up not
> considering the updated pmtu.
> 
> Current behavior breaks TAHI v6LC4.1.4 Reduce PMTU On-link. Referring to RFC
> 1981: Section 3: "Note that Path MTU Discovery must be performed even in
> cases where a node "thinks" a destination is attached to the same link as
> itself. In a situation such as when a neighboring router acts as proxy [ND]
> for some destination, the destination can to appear to be directly
> connected but is in fact more than one hop away."
> 
> Using the interface index from the incoming ICMPV6_PKT_TOOBIG when updating
> the pmtu.
> 
> Signed-off-by: Georg Kohmann <geokohma@cisco.com>

Applied, thanks Georg.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] ipv6: icmp: Updating pmtu for link local route
@ 2018-08-02 11:56 Georg Kohmann
  2018-08-06  0:13 ` David Miller
  0 siblings, 1 reply; 4+ messages in thread
From: Georg Kohmann @ 2018-08-02 11:56 UTC (permalink / raw)
  To: netdev; +Cc: Georg Kohmann

When a ICMPV6_PKT_TOOBIG is received from a link local address the pmtu will
be updated on a route with an arbitrary interface index. Subsequent packets
sent back to the same link local address may therefore end up not
considering the updated pmtu.

Current behavior breaks TAHI v6LC4.1.4 Reduce PMTU On-link. Referring to RFC
1981: Section 3: "Note that Path MTU Discovery must be performed even in
cases where a node "thinks" a destination is attached to the same link as
itself. In a situation such as when a neighboring router acts as proxy [ND]
for some destination, the destination can to appear to be directly
connected but is in fact more than one hop away."

Using the interface index from the incoming ICMPV6_PKT_TOOBIG when updating
the pmtu.

Signed-off-by: Georg Kohmann <geokohma@cisco.com>
---
 net/ipv6/icmp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c
index 3ae2fbe..211db37 100644
--- a/net/ipv6/icmp.c
+++ b/net/ipv6/icmp.c
@@ -92,7 +92,7 @@ static void icmpv6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
 	struct net *net = dev_net(skb->dev);
 
 	if (type == ICMPV6_PKT_TOOBIG)
-		ip6_update_pmtu(skb, net, info, 0, 0, sock_net_uid(net, NULL));
+		ip6_update_pmtu(skb, net, info, skb->dev->ifindex, 0, sock_net_uid(net, NULL));
 	else if (type == NDISC_REDIRECT)
 		ip6_redirect(skb, net, skb->dev->ifindex, 0,
 			     sock_net_uid(net, NULL));
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-08-06  2:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-06 12:59 [PATCH] ipv6: icmp: Updating pmtu for link local route Georg Kohmann
2018-07-07 12:14 ` David Miller
2018-08-02 11:56 Georg Kohmann
2018-08-06  0:13 ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.