X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Ftest-classifier.c;h=e1f93a09d95afb21d056f15bcfb6cce5cbf2f689;hb=eb9b830766044475277a590dbf8d213b77b62188;hp=461074d6f364c0b832403c0ebaffa29f650ca2ab;hpb=66642cb40b12594c62f3d3037f1e4efa528416b7;p=openvswitch diff --git a/tests/test-classifier.c b/tests/test-classifier.c index 461074d6..e1f93a09 100644 --- a/tests/test-classifier.c +++ b/tests/test-classifier.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2010 Nicira Networks. + * Copyright (c) 2009, 2010, 2011 Nicira Networks. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -44,7 +44,7 @@ /* struct flow all-caps */ \ /* FWW_* bit(s) member name name */ \ /* -------------------------- ----------- -------- */ \ - CLS_FIELD(FWW_TUN_ID, tun_id, TUN_ID) \ + CLS_FIELD(0, tun_id, TUN_ID) \ CLS_FIELD(0, nw_src, NW_SRC) \ CLS_FIELD(0, nw_dst, NW_DST) \ CLS_FIELD(FWW_IN_PORT, in_port, IN_PORT) \ @@ -201,6 +201,8 @@ match(const struct cls_rule *wild, const struct flow *fixed) } else if (f_idx == CLS_F_IDX_VLAN_TCI) { eq = !((fixed->vlan_tci ^ wild->flow.vlan_tci) & wild->wc.vlan_tci_mask); + } else if (f_idx == CLS_F_IDX_TUN_ID) { + eq = !((fixed->tun_id ^ wild->flow.tun_id) & wild->wc.tun_id_mask); } else { NOT_REACHED(); } @@ -246,7 +248,9 @@ static ovs_be32 nw_src_values[] = { CONSTANT_HTONL(0xc0a80001), CONSTANT_HTONL(0xc0a04455) }; static ovs_be32 nw_dst_values[] = { CONSTANT_HTONL(0xc0a80002), CONSTANT_HTONL(0xc0a04455) }; -static ovs_be32 tun_id_values[] = { 0, 0xffff0000 }; +static ovs_be64 tun_id_values[] = { + 0, + CONSTANT_HTONLL(UINT64_C(0xfedcba9876543210)) }; static uint16_t in_port_values[] = { 1, ODPP_LOCAL }; static ovs_be16 vlan_tci_values[] = { CONSTANT_HTONS(101), CONSTANT_HTONS(0) }; static ovs_be16 dl_type_values[] @@ -461,6 +465,8 @@ make_rule(int wc_fields, unsigned int priority, int value_pat) rule->cls_rule.wc.nw_dst_mask = htonl(UINT32_MAX); } else if (f_idx == CLS_F_IDX_VLAN_TCI) { rule->cls_rule.wc.vlan_tci_mask = htons(UINT16_MAX); + } else if (f_idx == CLS_F_IDX_TUN_ID) { + rule->cls_rule.wc.tun_id_mask = htonll(UINT64_MAX); } else { NOT_REACHED(); }