Fix flag to indicate whether Flow End messages should be sent.
authorJustin Pettit <jpettit@nicira.com>
Fri, 19 Dec 2008 20:51:42 +0000 (12:51 -0800)
committerJustin Pettit <jpettit@nicira.com>
Fri, 19 Dec 2008 20:51:42 +0000 (12:51 -0800)
The secchan code set whether Flow End messages should based on the last
configuration request.  This means that if NetFlow messages need to be
generated, but the cotnroller doesn't flow Flow Expiration messages, the
Flow End meta-message was disabled.

secchan/flow-end.c

index 56d1776583630d17cc2271862446945c0cf78b20..82b0186f23a825a4b8db40ad75ba51ce0b9566b4 100644 (file)
@@ -222,7 +222,11 @@ send_nx_flow_end_config(const struct flow_end_data *fe)
     nfec = make_openflow(sizeof(*nfec), OFPT_VENDOR, &b);
     nfec->header.vendor  = htonl(NX_VENDOR_ID);
     nfec->header.subtype = htonl(NXT_FLOW_END_CONFIG);
-    nfec->enable = fe->send_ofp_exp ? 1 : 0;
+    if ((fe->send_ofp_exp == false) && (fe->netflow_fd < 0)) {
+        nfec->enable = 0;
+    } else {
+        nfec->enable = 1;
+    }
 
     rconn_send(fe->local_rconn, b, NULL);
 }