[ovs-dev] [tests+nxm-ofctl 25/42] classifier: New cls_rule functions for setting registers and tun_id.
Justin Pettit
jpettit at nicira.com
Fri Dec 3 02:31:25 UTC 2010
C'est bon.
--Justin
On Nov 23, 2010, at 2:43 PM, Ben Pfaff wrote:
> ---
> lib/classifier.c | 22 ++++++++++++++++++++++
> lib/classifier.h | 4 ++++
> 2 files changed, 26 insertions(+), 0 deletions(-)
>
> diff --git a/lib/classifier.c b/lib/classifier.c
> index 52a77d7..ec94385 100644
> --- a/lib/classifier.c
> +++ b/lib/classifier.c
> @@ -112,6 +112,28 @@ cls_rule_zero_wildcarded_fields(struct cls_rule *rule)
> }
>
> void
> +cls_rule_set_reg(struct cls_rule *rule, unsigned int reg_idx, uint32_t value)
> +{
> + cls_rule_set_reg_masked(rule, reg_idx, value, UINT32_MAX);
> +}
> +
> +void
> +cls_rule_set_reg_masked(struct cls_rule *rule, unsigned int reg_idx,
> + uint32_t value, uint32_t mask)
> +{
> + assert(reg_idx < FLOW_N_REGS);
> + flow_wildcards_set_reg_mask(&rule->wc, reg_idx, mask);
> + rule->flow.regs[reg_idx] = value & mask;
> +}
> +
> +void
> +cls_rule_set_tun_id(struct cls_rule *rule, ovs_be32 tun_id)
> +{
> + rule->wc.wildcards &= ~FWW_TUN_ID;
> + rule->flow.tun_id = tun_id;
> +}
> +
> +void
> cls_rule_set_in_port(struct cls_rule *rule, uint16_t odp_port)
> {
> rule->wc.wildcards &= ~FWW_IN_PORT;
> diff --git a/lib/classifier.h b/lib/classifier.h
> index 2dc0bdf..5629fc0 100644
> --- a/lib/classifier.h
> +++ b/lib/classifier.h
> @@ -74,6 +74,10 @@ void cls_rule_init_catchall(struct cls_rule *, unsigned int priority);
>
> void cls_rule_zero_wildcarded_fields(struct cls_rule *);
>
> +void cls_rule_set_reg(struct cls_rule *, unsigned int reg_idx, uint32_t value);
> +void cls_rule_set_reg_masked(struct cls_rule *, unsigned int reg_idx,
> + uint32_t value, uint32_t mask);
> +void cls_rule_set_tun_id(struct cls_rule *, ovs_be32 tun_id);
> void cls_rule_set_in_port(struct cls_rule *, uint16_t odp_port);
> void cls_rule_set_dl_type(struct cls_rule *, ovs_be16);
> void cls_rule_set_dl_src(struct cls_rule *, const uint8_t[6]);
> --
> 1.7.1
>
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev_openvswitch.org
More information about the dev
mailing list