Thanks, I applied both of these patches.
On Tue, Jul 9, 2013 at 3:16 PM, Andy Zhou <az...@nicira.com> wrote: > Thanks for the patch. It looks good. > > > On Tue, Jul 9, 2013 at 2:27 PM, Jesse Gross <je...@nicira.com> wrote: >> >> To indicate that a flow is not associated with any particular in port, >> userspace may omit the IN_PORT attribute, which the kernel translates >> internally to the special value DP_MAX_PORTS. After the megaflows >> changes, this was no longer being done, resulting in it using port 0 >> (the internal port). >> >> This also adopts a wildcarding scheme similar to 802.2 packets where >> a mask can be specified for this non-existent key attribute but it >> must either be completely wildcarded or completely exact match. >> >> CC: Andy Zhou <az...@nicira.com> >> Signed-off-by: Jesse Gross <je...@nicira.com> >> --- >> datapath/flow.c | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/datapath/flow.c b/datapath/flow.c >> index adb918f..9ae94bc 100644 >> --- a/datapath/flow.c >> +++ b/datapath/flow.c >> @@ -133,6 +133,10 @@ static bool ovs_match_validate(const struct >> sw_flow_match *match, >> | (1ULL << OVS_KEY_ATTR_ARP) >> | (1ULL << OVS_KEY_ATTR_ND)); >> >> + if (match->key->phy.in_port == DP_MAX_PORTS && >> + match->mask && (match->mask->key.phy.in_port == 0xffff)) >> + mask_allowed |= (1ULL << OVS_KEY_ATTR_IN_PORT); >> + >> if (match->key->eth.type == htons(ETH_P_802_2) && >> match->mask && (match->mask->key.eth.type == htons(0xffff))) >> mask_allowed |= (1ULL << OVS_KEY_ATTR_ETHERTYPE); >> @@ -1314,6 +1318,8 @@ static int metadata_from_nlattrs(struct >> sw_flow_match *match, u64 *attrs, >> return -EINVAL; >> SW_FLOW_KEY_PUT(match, phy.in_port, in_port, is_mask); >> *attrs &= ~(1ULL << OVS_KEY_ATTR_IN_PORT); >> + } else if (!is_mask) { >> + SW_FLOW_KEY_PUT(match, phy.in_port, DP_MAX_PORTS, >> is_mask); >> } >> >> if (*attrs & (1ULL << OVS_KEY_ATTR_SKB_MARK)) { >> -- >> 1.8.1.2 >> > X-CudaMail-Whitelist-To: dev@openvswitch.org _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev