X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fclassifier.h;h=08e2c0dfa50a00512e2a089d6fe0f944851fec09;hb=7fae24e67c95b1dbe93497135ae533e39b61e110;hp=401497279130263de8ee1aabdac83b3ac0725c2d;hpb=bad68a9965215511b305c59d7f1830344ec2241f;p=openvswitch diff --git a/lib/classifier.h b/lib/classifier.h index 40149727..08e2c0df 100644 --- a/lib/classifier.h +++ b/lib/classifier.h @@ -103,6 +103,13 @@ void cls_rule_set_icmp_type(struct cls_rule *, uint8_t); void cls_rule_set_icmp_code(struct cls_rule *, uint8_t); void cls_rule_set_arp_sha(struct cls_rule *, const uint8_t[6]); void cls_rule_set_arp_tha(struct cls_rule *, const uint8_t[6]); +void cls_rule_set_ipv6_src(struct cls_rule *, const struct in6_addr *); +bool cls_rule_set_ipv6_src_masked(struct cls_rule *, const struct in6_addr *, + const struct in6_addr *); +void cls_rule_set_ipv6_dst(struct cls_rule *, const struct in6_addr *); +bool cls_rule_set_ipv6_dst_masked(struct cls_rule *, const struct in6_addr *, + const struct in6_addr *); +void cls_rule_set_nd_target(struct cls_rule *, const struct in6_addr); bool cls_rule_equal(const struct cls_rule *, const struct cls_rule *); @@ -114,7 +121,8 @@ void classifier_init(struct classifier *); void classifier_destroy(struct classifier *); bool classifier_is_empty(const struct classifier *); int classifier_count(const struct classifier *); -struct cls_rule *classifier_insert(struct classifier *, struct cls_rule *); +void classifier_insert(struct classifier *, struct cls_rule *); +struct cls_rule *classifier_replace(struct classifier *, struct cls_rule *); void classifier_remove(struct classifier *, struct cls_rule *); struct cls_rule *classifier_lookup(const struct classifier *, const struct flow *);