FlowStats for a particular flow using RPC service 71/4471/2
authoretusgoy <goyaltushar7@gmail.com>
Tue, 21 Jan 2014 06:05:35 +0000 (11:35 +0530)
committerGerrit Code Review <gerrit@opendaylight.org>
Tue, 21 Jan 2014 07:52:56 +0000 (07:52 +0000)
Signed-off-by: etusgoy <goyaltushar7@gmail.com>
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/ModelDrivenSwitchImpl.java

index 175652f40869a5683d2f65f3a39a067ef2798a4d..e25e07a6a944f6537d4f0f1f544c6533819b6e52 100644 (file)
@@ -1361,20 +1361,31 @@ public class ModelDrivenSwitchImpl extends AbstractModelDrivenSwitch {
         MultipartRequestFlowCaseBuilder  multipartRequestFlowCaseBuilder = new MultipartRequestFlowCaseBuilder();
         MultipartRequestFlowBuilder mprFlowRequestBuilder = new MultipartRequestFlowBuilder();
         mprFlowRequestBuilder.setTableId(arg0.getTableId());
-        mprFlowRequestBuilder.setOutPort(arg0.getOutPort().longValue());
-        mprFlowRequestBuilder.setOutGroup(OFConstants.OFPG_ANY);
-        mprFlowRequestBuilder.setCookie(OFConstants.DEFAULT_COOKIE);
-        mprFlowRequestBuilder.setCookieMask(OFConstants.DEFAULT_COOKIE_MASK);
+         
+       if(arg0.getOutPort() != null)
+               mprFlowRequestBuilder.setOutPort(arg0.getOutPort().longValue());
+        else 
+               mprFlowRequestBuilder.setOutPort(OFConstants.OFPP_ANY);
+        
+        if(arg0.getOutGroup() != null)
+                mprFlowRequestBuilder.setOutGroup(arg0.getOutGroup());
+        else
+               mprFlowRequestBuilder.setOutGroup(OFConstants.OFPG_ANY);
+        
+        if(arg0.getCookie() != null)
+               mprFlowRequestBuilder.setCookie(arg0.getCookie());
+        else
+               mprFlowRequestBuilder.setCookie(OFConstants.DEFAULT_COOKIE);
+        
+        if(arg0.getCookieMask() != null)
+                mprFlowRequestBuilder.setCookieMask(arg0.getCookieMask());
+        else
+               mprFlowRequestBuilder.setCookieMask(OFConstants.DEFAULT_COOKIE_MASK);
+
 
         // convert and inject match
         MatchReactor.getInstance().convert(arg0.getMatch(), version, mprFlowRequestBuilder,this.getSessionContext().getFeatures().getDatapathId());
-        //TODO: repeating code
-        if(version == OFConstants.OFP_VERSION_1_3){
-            mprFlowRequestBuilder.setCookie(arg0.getCookie());
-            mprFlowRequestBuilder.setCookieMask(arg0.getCookieMask());
-            mprFlowRequestBuilder.setOutGroup(arg0.getOutGroup());
-        }
-
+       
         //Set request body to main multipart request
         multipartRequestFlowCaseBuilder.setMultipartRequestFlow(mprFlowRequestBuilder.build());
         mprInput.setMultipartRequestBody(multipartRequestFlowCaseBuilder.build());