From 0c0f14b8cc1f15ff60ca8869a23b83f11384a79e Mon Sep 17 00:00:00 2001 From: Phaneendra Manda Date: Wed, 9 Dec 2015 20:38:27 +0530 Subject: [PATCH] Add implementation of nsh actions Change-Id: I24f778bf11c96ad5f9eaa3b47d1ffcf1824e12a0 --- .../NiciraExtensionTreatmentInterpreter.java | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/drivers/src/main/java/org/onosproject/driver/extensions/NiciraExtensionTreatmentInterpreter.java b/drivers/src/main/java/org/onosproject/driver/extensions/NiciraExtensionTreatmentInterpreter.java index b36423714c..a746078449 100644 --- a/drivers/src/main/java/org/onosproject/driver/extensions/NiciraExtensionTreatmentInterpreter.java +++ b/drivers/src/main/java/org/onosproject/driver/extensions/NiciraExtensionTreatmentInterpreter.java @@ -100,28 +100,34 @@ public class NiciraExtensionTreatmentInterpreter extends AbstractHandlerBehaviou return factory.actions().niciraResubmit((int) resubmit.inPort().toLong(), resubmit.table()); } - if (type.equals(ExtensionTreatmentType.ExtensionTreatmentTypes.NICIRA_SET_NSH_SPI.type())) { - // TODO this will be implemented later - } if (type.equals(ExtensionTreatmentType.ExtensionTreatmentTypes.NICIRA_RESUBMIT_TABLE.type())) { NiciraResubmitTable resubmitTable = (NiciraResubmitTable) extensionTreatment; return factory.actions().niciraResubmitTable((int) resubmitTable.inPort().toLong(), resubmitTable.table()); } + if (type.equals(ExtensionTreatmentType.ExtensionTreatmentTypes.NICIRA_SET_NSH_SPI.type())) { + NiciraSetNshSpi niciraNshSpi = (NiciraSetNshSpi) extensionTreatment; + return factory.actions().niciraSetNsp(niciraNshSpi.nshSpi().servicePathId()); + } if (type.equals(ExtensionTreatmentType.ExtensionTreatmentTypes.NICIRA_SET_NSH_SI.type())) { - // TODO this will be implemented later + NiciraSetNshSi niciraNshSi = (NiciraSetNshSi) extensionTreatment; + return factory.actions().niciraSetNsp(niciraNshSi.nshSi().serviceIndex()); } if (type.equals(ExtensionTreatmentType.ExtensionTreatmentTypes.NICIRA_SET_NSH_CH1.type())) { - // TODO this will be implemented later + NiciraSetNshContextHeader niciraNshch = (NiciraSetNshContextHeader) extensionTreatment; + return factory.actions().niciraSetNshc1(niciraNshch.nshCh().nshContextHeader()); } if (type.equals(ExtensionTreatmentType.ExtensionTreatmentTypes.NICIRA_SET_NSH_CH2.type())) { - // TODO this will be implemented later + NiciraSetNshContextHeader niciraNshch = (NiciraSetNshContextHeader) extensionTreatment; + return factory.actions().niciraSetNshc2(niciraNshch.nshCh().nshContextHeader()); } if (type.equals(ExtensionTreatmentType.ExtensionTreatmentTypes.NICIRA_SET_NSH_CH3.type())) { - // TODO this will be implemented later + NiciraSetNshContextHeader niciraNshch = (NiciraSetNshContextHeader) extensionTreatment; + return factory.actions().niciraSetNshc3(niciraNshch.nshCh().nshContextHeader()); } if (type.equals(ExtensionTreatmentType.ExtensionTreatmentTypes.NICIRA_SET_NSH_CH4.type())) { - // TODO this will be implemented later + NiciraSetNshContextHeader niciraNshch = (NiciraSetNshContextHeader) extensionTreatment; + return factory.actions().niciraSetNshc4(niciraNshch.nshCh().nshContextHeader()); } if (type.equals(ExtensionTreatmentType.ExtensionTreatmentTypes.NICIRA_MOV_ETH_SRC_TO_DST.type()) || type.equals(ExtensionTreatmentType.ExtensionTreatmentTypes.NICIRA_MOV_ARP_SPA_TO_TPA.type())