summaryrefslogtreecommitdiffstats
path: root/tests/py/ip6/sets.t.payload.netdev
blob: 1866d26b9a9249d60ff561dd87e581e8416af37d (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# ip6 saddr @set2 drop
netdev test-netdev ingress 
  [ meta load protocol => reg 1 ]
  [ cmp eq reg 1 0x0000dd86 ]
  [ payload load 16b @ network header + 8 => reg 1 ]
  [ lookup reg 1 set set2 ]
  [ immediate reg 0 drop ]

# ip6 saddr != @set2 drop
netdev test-netdev ingress 
  [ meta load protocol => reg 1 ]
  [ cmp eq reg 1 0x0000dd86 ]
  [ payload load 16b @ network header + 8 => reg 1 ]
  [ lookup reg 1 set set2 0x1 ]
  [ immediate reg 0 drop ]

# ip6 saddr . ip6 daddr @set5 drop
netdev test-netdev ingress
  [ meta load protocol => reg 1 ]
  [ cmp eq reg 1 0x0000dd86 ]
  [ payload load 16b @ network header + 8 => reg 1 ]
  [ payload load 16b @ network header + 24 => reg 2 ]
  [ lookup reg 1 set set5 ]
  [ immediate reg 0 drop ]

# add @set5 { ip6 saddr . ip6 daddr }
netdev test-netdev ingress
  [ meta load protocol => reg 1 ]
  [ cmp eq reg 1 0x0000dd86 ]
  [ payload load 16b @ network header + 8 => reg 1 ]
  [ payload load 16b @ network header + 24 => reg 2 ]
  [ dynset add reg_key 1 set set5 ]

# delete @set5 { ip6 saddr . ip6 daddr }
netdev test-netdev ingress
  [ meta load protocol => reg 1 ]
  [ cmp eq reg 1 0x0000dd86 ]
  [ payload load 16b @ network header + 8 => reg 1 ]
  [ payload load 16b @ network header + 24 => reg 2 ]
  [ dynset delete reg_key 1 set set5 ]

# add @map1 { ip6 saddr . ip6 daddr : meta mark }
netdev test-netdev ingress
  [ meta load protocol => reg 1 ]
  [ cmp eq reg 1 0x0000dd86 ]
  [ payload load 16b @ network header + 8 => reg 1 ]
  [ payload load 16b @ network header + 24 => reg 2 ]
  [ meta load mark => reg 3 ]
  [ dynset add reg_key 1 set map1 sreg_data 3 ]