Signed-off-by: Nithin Raju <[email protected]>
---
datapath-windows/ovsext/Flow.c | 43 ++++++++++++++++++++-------------------
1 files changed, 22 insertions(+), 21 deletions(-)
diff --git a/datapath-windows/ovsext/Flow.c b/datapath-windows/ovsext/Flow.c
index f3ee726..fa61262 100644
--- a/datapath-windows/ovsext/Flow.c
+++ b/datapath-windows/ovsext/Flow.c
@@ -1267,20 +1267,19 @@ _MapKeyAttrToFlowPut(PNL_ATTR *keyAttrs,
* requests with no ETHERTYPE attributes.
* Need to verify this. */
if (keyAttrs[OVS_KEY_ATTR_ETHERTYPE]) {
- destKey->l2.dlType = ntohs((NlAttrGetU16(keyAttrs
- [OVS_KEY_ATTR_ETHERTYPE])));
+ destKey->l2.dlType = ntohs((NlAttrGetU16(keyAttrs
+ [OVS_KEY_ATTR_ETHERTYPE])));
}
if (keyAttrs[OVS_KEY_ATTR_VLAN]) {
- destKey->l2.vlanTci = NlAttrGetU16(keyAttrs
- [OVS_KEY_ATTR_VLAN]);
+ destKey->l2.vlanTci = NlAttrGetU16(keyAttrs[OVS_KEY_ATTR_VLAN]);
}
/* ==== L3 + L4. ==== */
destKey->l2.keyLen = OVS_WIN_TUNNEL_KEY_SIZE + OVS_L2_KEY_SIZE
- destKey->l2.offset;
- switch (destKey->l2.dlType) {
+ switch (ntohs(destKey->l2.dlType)) {
case ETH_TYPE_IPV4: {
if (keyAttrs[OVS_KEY_ATTR_IPV4]) {
@@ -1395,22 +1394,24 @@ _MapKeyAttrToFlowPut(PNL_ATTR *keyAttrs,
}
case ETH_TYPE_ARP:
case ETH_TYPE_RARP: {
- ArpKey *arpFlowPutKey = &destKey->arpKey;
- const struct ovs_key_arp *arpKey;
-
- arpKey = NlAttrGet(keyAttrs[OVS_KEY_ATTR_ARP]);
-
- arpFlowPutKey->nwSrc = arpKey->arp_sip;
- arpFlowPutKey->nwDst = arpKey->arp_tip;
-
- RtlCopyMemory(arpFlowPutKey->arpSha, arpKey->arp_sha, ETH_ADDR_LEN);
- RtlCopyMemory(arpFlowPutKey->arpTha, arpKey->arp_tha, ETH_ADDR_LEN);
- arpFlowPutKey->nwProto = (UINT8)(arpKey->arp_op);
- arpFlowPutKey->pad[0] = 0;
- arpFlowPutKey->pad[1] = 0;
- arpFlowPutKey->pad[2] = 0;
- destKey->l2.keyLen += OVS_ARP_KEY_SIZE;
- break;
+ if (keyAttrs[OVS_KEY_ATTR_ARP]) {
+ ArpKey *arpFlowPutKey = &destKey->arpKey;
+ const struct ovs_key_arp *arpKey;
+
+ arpKey = NlAttrGet(keyAttrs[OVS_KEY_ATTR_ARP]);
+
+ arpFlowPutKey->nwSrc = arpKey->arp_sip;
+ arpFlowPutKey->nwDst = arpKey->arp_tip;
+
+ RtlCopyMemory(arpFlowPutKey->arpSha, arpKey->arp_sha,
ETH_ADDR_LEN);
+ RtlCopyMemory(arpFlowPutKey->arpTha, arpKey->arp_tha,
ETH_ADDR_LEN);
+ arpFlowPutKey->nwProto = (UINT8)(arpKey->arp_op);
+ arpFlowPutKey->pad[0] = 0;
+ arpFlowPutKey->pad[1] = 0;
+ arpFlowPutKey->pad[2] = 0;
+ destKey->l2.keyLen += OVS_ARP_KEY_SIZE;
+ break;
+ }
}
}
}
--
1.7.4.1
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev