linux-next: manual merge of the ipsec tree with the net tree

2021-03-03 Thread Stephen Rothwell
Hi all,

Today's linux-next merge of the ipsec tree got conflicts in:

  net/ipv4/ip_vti.c
  net/ipv6/ip6_vti.c

between commit:

  4372339efc06 ("net: always use icmp{,v6}_ndo_send from ndo_start_xmit")

from the net tree and commits:

  c7c1abfd6d42 ("vti: fix ipv4 pmtu check to honor ip header df")
  4c38255892c0 ("vti6: fix ipv4 pmtu check to honor ip header df")

from the ipsec tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc net/ipv4/ip_vti.c
index eb207089ece0,613741384490..
--- a/net/ipv4/ip_vti.c
+++ b/net/ipv4/ip_vti.c
@@@ -238,8 -238,10 +238,10 @@@ static netdev_tx_t vti_xmit(struct sk_b
if (skb->len > mtu) {
skb_dst_update_pmtu_no_confirm(skb, mtu);
if (skb->protocol == htons(ETH_P_IP)) {
+   if (!(ip_hdr(skb)->frag_off & htons(IP_DF)))
+   goto xmit;
 -  icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED,
 -htonl(mtu));
 +  icmp_ndo_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED,
 +htonl(mtu));
} else {
if (mtu < IPV6_MIN_MTU)
mtu = IPV6_MIN_MTU;
diff --cc net/ipv6/ip6_vti.c
index f10e7a72ea62,2f0be5ac021c..
--- a/net/ipv6/ip6_vti.c
+++ b/net/ipv6/ip6_vti.c
@@@ -521,10 -521,12 +521,12 @@@ vti6_xmit(struct sk_buff *skb, struct n
if (mtu < IPV6_MIN_MTU)
mtu = IPV6_MIN_MTU;
  
 -  icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu);
 +  icmpv6_ndo_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu);
} else {
+   if (!(ip_hdr(skb)->frag_off & htons(IP_DF)))
+   goto xmit;
 -  icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED,
 -htonl(mtu));
 +  icmp_ndo_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED,
 +htonl(mtu));
}
  
err = -EMSGSIZE;


pgp6TGhe3tEFS.pgp
Description: OpenPGP digital signature


Re: linux-next: manual merge of the ipsec tree with the net tree

2018-03-27 Thread Stephen Rothwell
Hi Petr,

On Tue, 27 Mar 2018 17:33:43 +0300 Petr Machata  wrote:
>
> Hi, this conflict needs to be resolved differently. Below I'm adding a
> patch on top of linux-next. Squash or apply as you see fit.
> 
> What's the right way to proceed from here? It looks to me like Stefano
> or Steffen should take this into the ipsec tree (possibly just squash to
> the clamping fix), as they'll hit this conflict the next time they
> rebase on top of net...? Let me know what to do, please.

I fixed up the resolution in linux-next to match your patch from
today.  Dave will need to do this when he merges the ipsec tree into
the net tree before sending it to Linus.

-- 
Cheers,
Stephen Rothwell


pgpiTRiVzDSvB.pgp
Description: OpenPGP digital signature


Re: linux-next: manual merge of the ipsec tree with the net tree

2018-03-27 Thread Stefano Brivio
On Tue, 27 Mar 2018 17:33:43 +0300
Petr Machata  wrote:

> Hi, this conflict needs to be resolved differently. Below I'm adding a
> patch on top of linux-next. Squash or apply as you see fit.

Petr, thanks for spotting this. Stephen, you can carry these tags for
Petr's patch:

Fixes: adab890d00dc ("Merge remote-tracking branch 'ipsec/master'")
Reviewed-by: Stefano Brivio 
Tested-by: Stefano Brivio 

> What's the right way to proceed from here? It looks to me like Stefano
> or Steffen should take this into the ipsec tree (possibly just squash to
> the clamping fix), as they'll hit this conflict the next time they
> rebase on top of net...? Let me know what to do, please.

Steffen, please let me know if you want me to submit anything for the
ipsec tree on top of my previous patches.

I guess another alternative would be that David fixes the conflict the
way Petr solved it, when merging to net?

-- 
Stefano


Re: linux-next: manual merge of the ipsec tree with the net tree

2018-03-27 Thread Petr Machata
Stephen Rothwell  writes:

> Hi Steffen,
>
> Today's linux-next merge of the ipsec tree got a conflict in:
>
>   net/ipv4/ip_tunnel.c
>
> between commit:
>
>   f6cc9c054e77 ("ip_tunnel: Emit events for post-register MTU changes")
>
> from the net tree and commit:
>
>   24fc79798b8d ("ip_tunnel: Clamp MTU to bounds on new link")
>
> from the ipsec tree.
>
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.

Hi, this conflict needs to be resolved differently. Below I'm adding a
patch on top of linux-next. Squash or apply as you see fit.

What's the right way to proceed from here? It looks to me like Stefano
or Steffen should take this into the ipsec tree (possibly just squash to
the clamping fix), as they'll hit this conflict the next time they
rebase on top of net...? Let me know what to do, please.

Thanks,
Petr

>From 2c2210e59cd94571ac67d491026d6ea0f4d69ae4 Mon Sep 17 00:00:00 2001
Message-Id: 
<2c2210e59cd94571ac67d491026d6ea0f4d69ae4.1522155963.git.pe...@mellanox.com>
From: Petr Machata 
Date: Tue, 27 Mar 2018 16:00:38 +0300
Subject: [PATCH linux-next] net: ip_tunnel: Call dev_set_mtu to set
 clamped MTU

When adding a new IP tunnel link, MTU is clamped to sane bounds.
However, since the new MTU value is directly assigned to the netdevice,
instead of going through dev_set_mtu, the change is done without sending
the usual NETDEV_PRECHANGEMTU and NETDEV_CHANGEMTU events. Thus drivers
don't get to learn about the clamped MTU value.

Signed-off-by: Petr Machata 
---
 net/ipv4/ip_tunnel.c | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c
index a57cf0d..de6d944 100644
--- a/net/ipv4/ip_tunnel.c
+++ b/net/ipv4/ip_tunnel.c
@@ -1108,14 +1108,14 @@ int ip_tunnel_newlink(struct net_device *dev, struct 
nlattr *tb[],
if (tb[IFLA_MTU]) {
unsigned int max = 0xfff8 - dev->hard_header_len - nt->hlen;
 
-   dev->mtu = clamp(dev->mtu, (unsigned int)ETH_MIN_MTU,
-(unsigned int)(max - sizeof(struct iphdr)));
-   } else {
-   err = dev_set_mtu(dev, mtu);
-   if (err)
-   goto err_dev_set_mtu;
+   mtu = clamp(dev->mtu, (unsigned int)ETH_MIN_MTU,
+   (unsigned int)(max - sizeof(struct iphdr)));
}
 
+   err = dev_set_mtu(dev, mtu);
+   if (err)
+   goto err_dev_set_mtu;
+
ip_tunnel_add(itn, nt);
return 0;
 
-- 
2.4.11


linux-next: manual merge of the ipsec tree with the net tree

2018-03-25 Thread Stephen Rothwell
Hi Steffen,

Today's linux-next merge of the ipsec tree got a conflict in:

  net/ipv4/ip_tunnel.c

between commit:

  f6cc9c054e77 ("ip_tunnel: Emit events for post-register MTU changes")

from the net tree and commit:

  24fc79798b8d ("ip_tunnel: Clamp MTU to bounds on new link")

from the ipsec tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc net/ipv4/ip_tunnel.c
index 7b85ffad5d74,7c76dd17b6b9..
--- a/net/ipv4/ip_tunnel.c
+++ b/net/ipv4/ip_tunnel.c
@@@ -1117,10 -1108,13 +1117,15 @@@ int ip_tunnel_newlink(struct net_devic
eth_hw_addr_random(dev);
  
mtu = ip_tunnel_bind_dev(dev);
-   if (!tb[IFLA_MTU]) {
+   if (tb[IFLA_MTU]) {
+   unsigned int max = 0xfff8 - dev->hard_header_len - nt->hlen;
+ 
+   dev->mtu = clamp(dev->mtu, (unsigned int)ETH_MIN_MTU,
+(unsigned int)(max - sizeof(struct iphdr)));
+   } else {
 -  dev->mtu = mtu;
 +  err = dev_set_mtu(dev, mtu);
 +  if (err)
 +  goto err_dev_set_mtu;
}
  
ip_tunnel_add(itn, nt);


pgpChhvgOn4lq.pgp
Description: OpenPGP digital signature