Hi all,

On Mon, 15 Apr 2019 11:40:51 +1000 Stephen Rothwell <s...@canb.auug.org.au> 
wrote:
>
> Today's linux-next merge of the netfilter-next tree got a conflict in:
> 
>   tools/testing/selftests/netfilter/nft_nat.sh
> 
> between commit:
> 
>   51f9960db6ad ("netfilter: nat: fix icmp id randomization")
> 
> from the netfiler tree and commit:
> 
>   6978cdb129da ("kselftests: extend nft_nat with inet family based nat hooks")
> 
> from the netfilter-next tree.
> 
> I fixed it up (I think, 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 tools/testing/selftests/netfilter/nft_nat.sh
> index 3194007cf8d1,248905130d5d..000000000000
> --- a/tools/testing/selftests/netfilter/nft_nat.sh
> +++ b/tools/testing/selftests/netfilter/nft_nat.sh
> @@@ -321,7 -346,7 +346,8 @@@ EO
>   
>   test_masquerade6()
>   {
>  -    local family=$1
>  +    local natflags=$1
> ++    local family=$2
>       local lret=0
>   
>       ip netns exec ns0 sysctl net.ipv6.conf.all.forwarding=1 > /dev/null
> @@@ -352,16 -377,21 +378,21 @@@
>   
>   # add masquerading rule
>   ip netns exec ns0 nft -f - <<EOF
> - table ip6 nat {
> + table $family nat {
>       chain postrouting {
>               type nat hook postrouting priority 0; policy accept;
>  -            meta oif veth0 masquerade
>  +            meta oif veth0 masquerade $natflags
>       }
>   }
>   EOF
> +     if [ $? -ne 0 ]; then
> +             echo "SKIP: Could not add add $family masquerade hook"
> +             return $ksft_skip
> +     fi
> + 
>       ip netns exec ns2 ping -q -c 1 dead:1::99 > /dev/null # ping ns2->ns1
>       if [ $? -ne 0 ] ; then
> -             echo "ERROR: cannot ping ns1 from ns2 with active ipv6 
> masquerade $natflags"
>  -            echo "ERROR: cannot ping ns1 from ns2 with active $family 
> masquerading"
> ++            echo "ERROR: cannot ping ns1 from ns2 with active $family 
> masquerade $natflags"
>               lret=1
>       fi
>   
> @@@ -398,26 -428,20 +429,27 @@@
>               fi
>       done
>   
>  +    ip netns exec ns2 ping -q -c 1 dead:1::99 > /dev/null # ping ns2->ns1
>  +    if [ $? -ne 0 ] ; then
> -             echo "ERROR: cannot ping ns1 from ns2 with active ipv6 
> masquerade $natflags (attempt 2)"
> ++            echo "ERROR: cannot ping ns1 from ns2 with active $family 
> masquerade $natflags (attempt 2)"
>  +            lret=1
>  +    fi
>  +
> -     ip netns exec ns0 nft flush chain ip6 nat postrouting
> +     ip netns exec ns0 nft flush chain $family nat postrouting
>       if [ $? -ne 0 ]; then
> -             echo "ERROR: Could not flush ip6 nat postrouting" 1>&2
> +             echo "ERROR: Could not flush $family nat postrouting" 1>&2
>               lret=1
>       fi
>   
> -     test $lret -eq 0 && echo "PASS: IPv6 masquerade $natflags for ns2"
>  -    test $lret -eq 0 && echo "PASS: $family IPv6 masquerade for ns2"
> ++    test $lret -eq 0 && echo "PASS: $family IPv6 masquerade $natflags for 
> ns2"
>   
>       return $lret
>   }
>   
>   test_masquerade()
>   {
>  -    local family=$1
>  +    local natflags=$1
> ++    local family=$2
>       local lret=0
>   
>       ip netns exec ns0 sysctl net.ipv4.conf.veth0.forwarding=1 > /dev/null
> @@@ -448,16 -472,21 +480,21 @@@
>   
>   # add masquerading rule
>   ip netns exec ns0 nft -f - <<EOF
> - table ip nat {
> + table $family nat {
>       chain postrouting {
>               type nat hook postrouting priority 0; policy accept;
>  -            meta oif veth0 masquerade
>  +            meta oif veth0 masquerade $natflags
>       }
>   }
>   EOF
> +     if [ $? -ne 0 ]; then
> +             echo "SKIP: Could not add add $family masquerade hook"
> +             return $ksft_skip
> +     fi
> + 
>       ip netns exec ns2 ping -q -c 1 10.0.1.99 > /dev/null # ping ns2->ns1
>       if [ $? -ne 0 ] ; then
> -             echo "ERROR: cannot ping ns1 from ns2 with active ip masquere 
> $natflags"
>  -            echo "ERROR: cannot ping ns1 from ns2 with active $family 
> masquerading"
> ++            echo "ERROR: cannot ping ns1 from ns2 with active $family 
> masquere $natflags"
>               lret=1
>       fi
>   
> @@@ -493,19 -522,13 +530,19 @@@
>               fi
>       done
>   
>  +    ip netns exec ns2 ping -q -c 1 10.0.1.99 > /dev/null # ping ns2->ns1
>  +    if [ $? -ne 0 ] ; then
> -             echo "ERROR: cannot ping ns1 from ns2 with active ip masquerade 
> $natflags (attempt 2)"
> ++            echo "ERROR: cannot ping ns1 from ns2 with active $family 
> masquerade $natflags (attempt 2)"
>  +            lret=1
>  +    fi
>  +
> -     ip netns exec ns0 nft flush chain ip nat postrouting
> +     ip netns exec ns0 nft flush chain $family nat postrouting
>       if [ $? -ne 0 ]; then
> -             echo "ERROR: Could not flush nat postrouting" 1>&2
> +             echo "ERROR: Could not flush $family nat postrouting" 1>&2
>               lret=1
>       fi
>   
> -     test $lret -eq 0 && echo "PASS: IP masquerade $natflags for ns2"
>  -    test $lret -eq 0 && echo "PASS: $family IP masquerade for ns2"
> ++    test $lret -eq 0 && echo "PASS: $family IP masquerade $natflags for ns2"
>   
>       return $lret
>   }
> @@@ -760,20 -795,25 +809,34 @@@ if [ $ret -eq 0 ];the
>   fi
>   
>   reset_counters
> - test_local_dnat
> - test_local_dnat6
> + test_local_dnat ip
> + test_local_dnat6 ip6
> + reset_counters
> + $test_inet_nat && test_local_dnat inet
> + $test_inet_nat && test_local_dnat6 inet
> + 
> + reset_counters
>  -test_masquerade ip
>  -test_masquerade6 ip6
> ++test_masquerade "" ip
> ++test_masquerade6 "" ip6
> ++
> ++reset_counters
> ++test_masquerade "fully-random" ip
> ++test_masquerade6 "fully-random" ip6
>  +
>  +reset_counters
> - test_masquerade ""
> - test_masquerade6 ""
> ++$test_inet_nat && test_masquerade "" inet
> ++$test_inet_nat && test_masquerade6 "" inet
>  +
>   reset_counters
> - test_masquerade "fully-random"
> - test_masquerade6 "fully-random"
>  -$test_inet_nat && test_masquerade inet
>  -$test_inet_nat && test_masquerade6 inet
> ++$test_inet_nat && test_masquerade "fully-random" ip
> ++$test_inet_nat && test_masquerade6 "fully-random" ip6
>   
>   reset_counters
> - test_redirect
> - test_redirect6
> + test_redirect ip
> + test_redirect6 ip6
> + reset_counters
> + $test_inet_nat && test_redirect inet
> + $test_inet_nat && test_redirect6 inet
>   
>   for i in 0 1 2; do ip netns del ns$i;done
>   

This is now a conflict between the net-next and netfilter trees.

-- 
Cheers,
Stephen Rothwell

Attachment: pgpS5sdWUsRDG.pgp
Description: OpenPGP digital signature

Reply via email to