lkml.org 
[lkml]   [2019]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectlinux-next: manual merge of the netfilter-next tree with the netfiler tree
Hi all,

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

[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2019-04-15 03:41    [W:0.065 / U:0.188 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site