X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ofproto%2Fofproto-dpif-upcall.c;h=cad1310882c05233dbe8b63252347b2d278bfdb8;hb=f5790bf6eeade6662eaccc95b22b25cecb822c9e;hp=e0a5aed49914b33b646c3120edc4ad3939c330b8;hpb=0c1625e834bd48f9f6f49cdea475dcd4dfb46b0a;p=sliver-openvswitch.git diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c index e0a5aed49..cad131088 100644 --- a/ofproto/ofproto-dpif-upcall.c +++ b/ofproto/ofproto-dpif-upcall.c @@ -750,16 +750,16 @@ classify_upcall(const struct upcall *upcall) } memset(&cookie, 0, sizeof cookie); memcpy(&cookie, nl_attr_get(dpif_upcall->userdata), userdata_len); - if (userdata_len == sizeof cookie.sflow + if (userdata_len == MAX(8, sizeof cookie.sflow) && cookie.type == USER_ACTION_COOKIE_SFLOW) { return SFLOW_UPCALL; - } else if (userdata_len == sizeof cookie.slow_path + } else if (userdata_len == MAX(8, sizeof cookie.slow_path) && cookie.type == USER_ACTION_COOKIE_SLOW_PATH) { return MISS_UPCALL; - } else if (userdata_len == sizeof cookie.flow_sample + } else if (userdata_len == MAX(8, sizeof cookie.flow_sample) && cookie.type == USER_ACTION_COOKIE_FLOW_SAMPLE) { return FLOW_SAMPLE_UPCALL; - } else if (userdata_len == sizeof cookie.ipfix + } else if (userdata_len == MAX(8, sizeof cookie.ipfix) && cookie.type == USER_ACTION_COOKIE_IPFIX) { return IPFIX_UPCALL; } else {