diff --git a/src/vnsw/agent/pkt/flow_entry.cc b/src/vnsw/agent/pkt/flow_entry.cc index 6c608aff365..ff116a0ae4a 100644 --- a/src/vnsw/agent/pkt/flow_entry.cc +++ b/src/vnsw/agent/pkt/flow_entry.cc @@ -2083,11 +2083,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 d2d400c0f30..80106c0171a 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 dcfc2a2520e..57202c3ca93 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 120ea672a92..02168c95dc3 100644 --- a/src/vnsw/agent/vrouter/ksync/flowtable_ksync.cc +++ b/src/vnsw/agent/vrouter/ksync/flowtable_ksync.cc @@ -400,6 +400,10 @@ int FlowTableKSyncEntry::Encode(sandesh_op::type op, char *buf, int buf_len) { } } + 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);