This function will be used by later commit. Signed-off-by: Pravin B Shelar <pshe...@nicira.com> --- lib/dpif-netdev.c | 16 +--------------- lib/meta-flow.c | 20 ++++++++++++++++++++ lib/meta-flow.h | 1 + 3 files changed, 22 insertions(+), 15 deletions(-)
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 8687a47..1fa4a3c 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -1139,21 +1139,7 @@ dpif_netdev_mask_from_nlattrs(const struct nlattr *key, uint32_t key_len, /* Force unwildcard the in_port. */ mask->in_port.odp_port = u32_to_odp(UINT32_MAX); } else { - enum mf_field_id id; - /* No mask key, unwildcard everything except fields whose - * prerequisities are not met. */ - memset(mask, 0x0, sizeof *mask); - - for (id = 0; id < MFF_N_IDS; ++id) { - /* Skip registers and metadata. */ - if (!(id >= MFF_REG0 && id < MFF_REG0 + FLOW_N_REGS) - && id != MFF_METADATA) { - const struct mf_field *mf = mf_from_id(id); - if (mf_are_prereqs_ok(mf, flow)) { - mf_mask_field(mf, mask); - } - } - } + flow_mask_unwildcard_all(flow, mask); } return 0; diff --git a/lib/meta-flow.c b/lib/meta-flow.c index 6ef564e..ddc2f27 100644 --- a/lib/meta-flow.c +++ b/lib/meta-flow.c @@ -1657,6 +1657,26 @@ mf_mask_field(const struct mf_field *mf, struct flow *mask) } } +void +flow_mask_unwildcard_all(const struct flow *flow, struct flow *mask) +{ + enum mf_field_id id; + /* No mask key, unwildcard everything except fields whose + * prerequisities are not met. */ + memset(mask, 0x0, sizeof *mask); + + for (id = 0; id < MFF_N_IDS; ++id) { + /* Skip registers and metadata. */ + if (!(id >= MFF_REG0 && id < MFF_REG0 + FLOW_N_REGS) + && id != MFF_METADATA) { + const struct mf_field *mf = mf_from_id(id); + if (mf_are_prereqs_ok(mf, flow)) { + mf_mask_field(mf, mask); + } + } + } +} + /* Sets 'flow' member field described by 'mf' to 'value'. The caller is * responsible for ensuring that 'flow' meets 'mf''s prerequisites.*/ void diff --git a/lib/meta-flow.h b/lib/meta-flow.h index 91dfecd..8b3cd5e 100644 --- a/lib/meta-flow.h +++ b/lib/meta-flow.h @@ -413,4 +413,5 @@ void mf_format(const struct mf_field *, struct ds *); void mf_format_subvalue(const union mf_subvalue *subvalue, struct ds *s); +void flow_mask_unwildcard_all(const struct flow *flow, struct flow *mask); #endif /* meta-flow.h */ -- 1.7.9.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev