diff options
Diffstat (limited to 'tests/py/any/meta.t.payload')
-rw-r--r-- | tests/py/any/meta.t.payload | 55 |
1 files changed, 41 insertions, 14 deletions
diff --git a/tests/py/any/meta.t.payload b/tests/py/any/meta.t.payload index 16dc1211..52c3efa8 100644 --- a/tests/py/any/meta.t.payload +++ b/tests/py/any/meta.t.payload @@ -17,8 +17,7 @@ ip test-ip4 input ip test-ip4 input [ meta load len => reg 1 ] [ byteorder reg 1 = hton(reg 1, 4, 4) ] - [ cmp gte reg 1 0x21000000 ] - [ cmp lte reg 1 0x2d000000 ] + [ range eq reg 1 0x21000000 0x2d000000 ] # meta length != 33-45 ip test-ip4 input @@ -99,8 +98,7 @@ ip test-ip4 input # meta l4proto 33-45 ip test-ip4 input [ meta load l4proto => reg 1 ] - [ cmp gte reg 1 0x00000021 ] - [ cmp lte reg 1 0x0000002d ] + [ range eq reg 1 0x00000021 0x0000002d ] # meta l4proto != 33-45 ip test-ip4 input @@ -385,8 +383,7 @@ ip test-ip4 input ip test-ip4 input [ meta load skuid => reg 1 ] [ byteorder reg 1 = hton(reg 1, 4, 4) ] - [ cmp gte reg 1 0xb90b0000 ] - [ cmp lte reg 1 0xbd0b0000 ] + [ range eq reg 1 0xb90b0000 0xbd0b0000 ] [ immediate reg 0 accept ] # meta skuid != 2001-2005 accept @@ -448,8 +445,7 @@ ip test-ip4 input ip test-ip4 input [ meta load skgid => reg 1 ] [ byteorder reg 1 = hton(reg 1, 4, 4) ] - [ cmp gte reg 1 0xd1070000 ] - [ cmp lte reg 1 0xd5070000 ] + [ range eq reg 1 0xd1070000 0xd5070000 ] [ immediate reg 0 accept ] # meta skgid != 2001-2005 accept @@ -583,8 +579,7 @@ ip test-ip4 input ip test-ip4 input [ meta load cpu => reg 1 ] [ byteorder reg 1 = hton(reg 1, 4, 4) ] - [ cmp gte reg 1 0x01000000 ] - [ cmp lte reg 1 0x03000000 ] + [ range eq reg 1 0x01000000 0x03000000 ] # meta cpu != 1-2 ip test-ip4 input @@ -703,8 +698,7 @@ ip test-ip4 input ip test-ip4 input [ meta load cgroup => reg 1 ] [ byteorder reg 1 = hton(reg 1, 4, 4) ] - [ cmp gte reg 1 0x01001000 ] - [ cmp lte reg 1 0x02001000 ] + [ range eq reg 1 0x01001000 0x02001000 ] # meta cgroup != 1048577-1048578 ip test-ip4 input @@ -789,8 +783,7 @@ ip test-ip4 input ip test-ip4 input [ meta load priority => reg 1 ] [ byteorder reg 1 = hton(reg 1, 4, 4) ] - [ cmp gte reg 1 0xdadaadbc ] - [ cmp lte reg 1 0xdcdaadbc ] + [ range eq reg 1 0xdadaadbc 0xdcdaadbc ] # meta priority != bcad:dada-bcad:dadc ip test-ip4 input @@ -1072,3 +1065,37 @@ ip test-ip4 input [ byteorder reg 1 = hton(reg 1, 8, 8) ] [ cmp gt reg 1 0xf3a8fd16 0x00a07719 ] [ immediate reg 0 accept ] + +# meta mark set vlan id map { 1 : 0x00000001, 4095 : 0x00004095 } +__map%d test-ip4 b size 2 +__map%d test-ip4 0 + element 00000100 : 00000001 0 [end] element 0000ff0f : 00004095 0 [end] +ip test-ip4 input + [ meta load iiftype => reg 1 ] + [ cmp eq reg 1 0x00000001 ] + [ payload load 2b @ link header + 12 => reg 1 ] + [ cmp eq reg 1 0x00000081 ] + [ payload load 2b @ link header + 14 => reg 1 ] + [ bitwise reg 1 = ( reg 1 & 0x0000ff0f ) ^ 0x00000000 ] + [ lookup reg 1 set __map%d dreg 1 ] + [ meta set mark with reg 1 ] + +# meta mark set vlan id map @map1 +ip test-ip4 input + [ meta load iiftype => reg 1 ] + [ cmp eq reg 1 0x00000001 ] + [ payload load 2b @ link header + 12 => reg 1 ] + [ cmp eq reg 1 0x00000081 ] + [ payload load 2b @ link header + 14 => reg 1 ] + [ bitwise reg 1 = ( reg 1 & 0x0000ff0f ) ^ 0x00000000 ] + [ lookup reg 1 set map1 dreg 1 ] + [ meta set mark with reg 1 ] + +# meta mark set meta mark | iif | meta cpu +ip test-ip4 input + [ meta load mark => reg 1 ] + [ meta load iif => reg 2 ] + [ bitwise reg 1 = ( reg 1 | reg 2 ) ] + [ meta load cpu => reg 2 ] + [ bitwise reg 1 = ( reg 1 | reg 2 ) ] + [ meta set mark with reg 1 ] |