summaryrefslogtreecommitdiffstats
path: root/tests/shell/testcases/sets/0047nat_0
blob: d19f5b69fd3337f4e441cc8544aaa48bff4dde8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash

EXPECTED="table ip x {
            map y {
                    type ipv4_addr : interval ipv4_addr
                    flags interval
                    elements = { 10.141.10.0/24 : 192.168.2.2-192.168.2.4,
				 10.141.11.0/24 : 192.168.4.2-192.168.4.3 }
            }

            chain y {
                    type nat hook postrouting priority srcnat; policy accept;
                    snat to ip saddr map @y
            }
     }
"

set -e
$NFT -f - <<< $EXPECTED
$NFT add element x y { 10.141.12.0/24 : 192.168.5.10-192.168.5.20 }

EXPECTED="table inet x {
            chain x {
                    type nat hook prerouting priority dstnat; policy accept;
                    dnat to ip daddr . tcp dport map { 10.141.10.1 . 22 : 192.168.2.2, 10.141.11.2 . 2222 : 192.168.4.2 }
            }

            chain y {
                    type nat hook postrouting priority srcnat; policy accept;
                    snat to ip saddr map { 10.141.10.0/24 : 192.168.2.2-192.168.2.4, 10.141.11.0/24 : 192.168.4.2-192.168.4.3 }
            }
}"

$NFT -f - <<< $EXPECTED