byteorder_names[byteorder],
byteorder_names[(*expr)->byteorder]);
- if (expr_is_constant(*expr))
+ if (expr_is_constant(*expr) || (*expr)->len / BITS_PER_BYTE < 2)
(*expr)->byteorder = byteorder;
else {
op = byteorder_conversion_op(*expr, byteorder);
# meta l4proto 33-45
ip test-ip4 input
[ meta load l4proto => reg 1 ]
- [ byteorder reg 1 = hton(reg 1, 2, 1) ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
# meta l4proto != 33-45
ip test-ip4 input
[ meta load l4proto => reg 1 ]
- [ byteorder reg 1 = hton(reg 1, 2, 1) ]
[ range neq reg 1 0x00000021 0x0000002d ]
# meta l4proto { 33, 55, 67, 88}
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end] element 00000042 : 0 [end] element 00000059 : 1 [end]
ip test-ip4 input
[ meta load l4proto => reg 1 ]
- [ byteorder reg 1 = hton(reg 1, 2, 1) ]
[ lookup reg 1 set __set%d ]
# meta l4proto != { 33-55, 66-88}
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end] element 00000042 : 0 [end] element 00000059 : 1 [end]
ip test-ip4 input
[ meta load l4proto => reg 1 ]
- [ byteorder reg 1 = hton(reg 1, 2, 1) ]
[ lookup reg 1 set __set%d 0x1 ]
# meta skuid { 2001-2005, 3001-3005} accept