diff --git a/src/vnsw/agent/pkt/flow_entry.cc b/src/vnsw/agent/pkt/flow_entry.cc index e42e9b158f8..20483f8080f 100644 --- a/src/vnsw/agent/pkt/flow_entry.cc +++ b/src/vnsw/agent/pkt/flow_entry.cc @@ -2097,11 +2097,6 @@ bool FlowEntry::ActionRecompute() { } } - // Force short flows to DROP - if (is_flags_set(FlowEntry::ShortFlow)) { - action |= (1 << TrafficAction::DENY); - } - if (SetQosConfigIndex()) { ret = true; } diff --git a/src/vnsw/agent/pkt/test/test_flow_util.h b/src/vnsw/agent/pkt/test/test_flow_util.h index d998b30f9ae..aacb5c85fdb 100644 --- a/src/vnsw/agent/pkt/test/test_flow_util.h +++ b/src/vnsw/agent/pkt/test/test_flow_util.h @@ -323,10 +323,8 @@ class ShortFlow : public FlowVerify { virtual void Verify(FlowEntry *fe) { EXPECT_TRUE(fe->is_flags_set(FlowEntry::ShortFlow) == true); - EXPECT_TRUE((fe->data().match_p.action_info.action & (1 << TrafficAction::DENY)) != 0); FlowEntry *rev = fe->reverse_flow_entry(); EXPECT_TRUE(rev->is_flags_set(FlowEntry::ShortFlow) == true); - EXPECT_TRUE((rev->data().match_p.action_info.action & (1 << TrafficAction::DENY)) != 0); } private: }; diff --git a/src/vnsw/agent/test-xml/test_xml_oper.cc b/src/vnsw/agent/test-xml/test_xml_oper.cc index 6f0329ac6a5..8aaf639933d 100644 --- a/src/vnsw/agent/test-xml/test_xml_oper.cc +++ b/src/vnsw/agent/test-xml/test_xml_oper.cc @@ -1325,7 +1325,8 @@ static bool MatchFlowAction(FlowEntry *flow, const string &str) { } if (str == "deny") { - return ((action & TrafficAction::DROP_FLAGS) != 0); + return (((action & TrafficAction::DROP_FLAGS) != 0) | + (flow->IsShortFlow())); } return false; diff --git a/src/vnsw/agent/vrouter/ksync/flowtable_ksync.cc b/src/vnsw/agent/vrouter/ksync/flowtable_ksync.cc index 270a0daa981..4c763be02ef 100644 --- a/src/vnsw/agent/vrouter/ksync/flowtable_ksync.cc +++ b/src/vnsw/agent/vrouter/ksync/flowtable_ksync.cc @@ -368,6 +368,10 @@ int FlowTableKSyncEntry::Encode(sandesh_op::type op, char *buf, int buf_len) { req.set_fr_rindex(rev_flow->flow_handle()); } + if (flow_entry_->IsShortFlow()) { + action = VR_FLOW_ACTION_DROP; + } + req.set_fr_flags(flags); req.set_fr_action(action); req.set_fr_drop_reason(drop_reason);