nat: pnat copy and clear byte instructions
[vpp.git] / src / plugins / nat / pnat / tests / packets.def
1 [
2     (
3         "da rewritten",
4         IP(src='1.1.1.1', dst='2.2.2.2')/UDP(sport=80, dport=6871),
5         IP(src='1.1.1.1', dst='1.2.3.4')/UDP(sport=80, dport=6871),
6         4242
7     ),
8     (
9         "unchanged",
10         IP(src='1.1.1.1', dst='2.2.2.2')/UDP(sport=80, dport=8080),
11         IP(src='1.1.1.1', dst='2.2.2.2')/UDP(sport=80, dport=8080),
12         4242
13     ),
14     (
15         "tcp da",
16         IP(src='1.1.1.1', dst='2.2.2.2')/TCP(sport=80, dport=6871),
17         IP(src='1.1.1.1', dst='1.2.3.4')/TCP(sport=80, dport=6871),
18         4242
19     ),
20     (
21         "tcp da ports",
22         IP(src='1.1.1.1', dst='2.2.2.2')/TCP(sport=80, dport=6872),
23         IP(src='1.1.1.1', dst='1.2.3.4')/TCP(sport=53, dport=8000),
24         4242
25     ),
26     (
27         "tcp da ports -- fragmented packet",
28         IP(src='1.1.1.1', dst='2.2.2.2', flags='MF', frag=100)/Raw('X' * 40),
29         IP(src='1.1.1.1', dst='2.2.2.2', flags='MF', frag=100)/Raw('X' * 40),
30         4242
31     ),
32     (
33         "short packet",
34         IP(src='1.1.1.1', dst='2.2.2.2'),
35         IP(src='1.1.1.1', dst='2.2.2.2'),
36         4242
37     ),
38     (
39         "copy byte",
40         IP(src='1.1.1.234', dst='2.2.2.2')/UDP(chksum=0, sport=80, dport=6874),
41         IP(src='1.1.1.234', dst='2.2.2.234')/UDP(chksum=0, sport=80, dport=6874),
42         4242
43     ),
44     (
45         "copy byte into Geneve reserved field",
46         IP(src='1.1.1.1', dst='2.2.2.2')/UDP(chksum=0, sport=80, dport=6877)/GENEVE(vni=4040),
47         IP(src='1.1.1.1', dst='1.2.3.4')/UDP(chksum=0, sport=80, dport=6877)/Raw(b'\x00\x00\x00\x00\x00\x0F\xC8\x01'),
48         4242
49     ),
50     (
51         "copy byte overrun",
52         IP(src='1.1.1.234', dst='2.2.2.2')/UDP(chksum=0, sport=80, dport=6875),
53         IP(src='1.1.1.234', dst='2.2.2.2')/UDP(chksum=0, sport=80, dport=6875),
54         0
55     ),
56     (
57         "clear byte",
58         IP(src='1.1.1.234', dst='2.2.2.2')/UDP(chksum=0, sport=80, dport=6876),
59         IP(src='1.1.1.234', dst='2.2.2.2')/UDP(chksum=0, sport=80, dport=220),
60         4242
61     ),
62     (
63         "packet with options",
64         IP(src='1.1.1.1', dst='2.2.2.2', options=[IPOption('\x07')])/TCP(sport=80, dport=6872),
65         IP(src='1.1.1.1', dst='1.2.3.4', options=[IPOption('\x07')])/TCP(sport=53, dport=8000),
66         4242
67     ),
68
69 ]