diff --git a/datapath/datapath.c b/datapath/datapath.c index 181e731..b9523e8 100644 --- a/datapath/datapath.c +++ b/datapath/datapath.c @@ -1100,7 +1100,7 @@ dp_send_flow_end(struct datapath *dp, struct sw_flow *flow, struct sk_buff *skb; struct nx_flow_end *nfe; - if (!dp->send_flow_end) + if (!dp->send_flow_end && !flow->send_flow_exp) return 0; nfe = alloc_openflow_skb(dp, sizeof *nfe, OFPT_VENDOR, 0, &skb); diff --git a/udatapath/datapath.c b/udatapath/datapath.c index 5283c4d..6469adf 100644 --- a/udatapath/datapath.c +++ b/udatapath/datapath.c @@ -735,7 +735,7 @@ dp_send_flow_end(struct datapath *dp, struct sw_flow *flow, struct ofpbuf *buffer; struct nx_flow_end *nfe; - if (!dp->send_flow_end) { + if (!dp->send_flow_end && !flow->send_flow_exp) { return; }