From: Apurba Mukherjee Date: Thu, 16 Jan 2020 10:42:04 +0000 (+0530) Subject: TR: HY22527 Yang changes and IFM flag added for OF-Tunnel X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=cb57975b9497e2c8388a33ed7ce38eae9214b20b;p=genius.git TR: HY22527 Yang changes and IFM flag added for OF-Tunnel Change-Id: I623167357683d272dca0154a5478c7e7cb95046b Signed-off-by: Apurba Mukherjee --- diff --git a/commons/testutils/src/main/java/org/opendaylight/genius/testutils/itm/ItmRpcTestImpl.java b/commons/testutils/src/main/java/org/opendaylight/genius/testutils/itm/ItmRpcTestImpl.java index 75cc7cbdc..fedd63ee8 100644 --- a/commons/testutils/src/main/java/org/opendaylight/genius/testutils/itm/ItmRpcTestImpl.java +++ b/commons/testutils/src/main/java/org/opendaylight/genius/testutils/itm/ItmRpcTestImpl.java @@ -39,6 +39,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.G import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.GetExternalTunnelInterfaceNameOutputBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.GetInternalOrExternalInterfaceNameInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.GetInternalOrExternalInterfaceNameOutput; +import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.GetTepIpInput; +import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.GetTepIpOutput; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.GetTunnelInterfaceNameInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.GetTunnelInterfaceNameOutput; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.GetTunnelInterfaceNameOutputBuilder; @@ -137,6 +139,10 @@ public final class ItmRpcTestImpl implements ItmRpcService { throw new UnsupportedOperationException("TODO"); } + public ListenableFuture> getTepIp(GetTepIpInput input) { + return null; + } + @Override public synchronized ListenableFuture> isTunnelInternalOrExternal( IsTunnelInternalOrExternalInput input) { diff --git a/interfacemanager/interfacemanager-api/src/main/java/org/opendaylight/genius/interfacemanager/interfaces/IInterfaceManager.java b/interfacemanager/interfacemanager-api/src/main/java/org/opendaylight/genius/interfacemanager/interfaces/IInterfaceManager.java index 4452e7061..9b92e748f 100644 --- a/interfacemanager/interfacemanager-api/src/main/java/org/opendaylight/genius/interfacemanager/interfaces/IInterfaceManager.java +++ b/interfacemanager/interfacemanager-api/src/main/java/org/opendaylight/genius/interfacemanager/interfaces/IInterfaceManager.java @@ -193,4 +193,6 @@ public interface IInterfaceManager { boolean isItmDirectTunnelsEnabled(); Map getBridgeRefEntryMap(); + + boolean isItmOfTunnelsEnabled(); } diff --git a/interfacemanager/interfacemanager-api/src/main/yang/ifm-config.yang b/interfacemanager/interfacemanager-api/src/main/yang/ifm-config.yang index afc1ef4df..1f736eafd 100644 --- a/interfacemanager/interfacemanager-api/src/main/yang/ifm-config.yang +++ b/interfacemanager/interfacemanager-api/src/main/yang/ifm-config.yang @@ -25,5 +25,10 @@ module ifm-config { type boolean; default false; } + leaf itm-of-tunnels { + description "Enable OF tunnels on ITM Direct Tunnel."; + type boolean; + default false; + } } } diff --git a/interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/InterfacemgrProvider.java b/interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/InterfacemgrProvider.java index ed7f50a6f..227a274c6 100644 --- a/interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/InterfacemgrProvider.java +++ b/interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/InterfacemgrProvider.java @@ -894,4 +894,9 @@ public class InterfacemgrProvider implements AutoCloseable, IInterfaceManager { public Map getBridgeRefEntryMap() { return interfaceMetaUtils.getBridgeRefEntryMap(); } + + @Override + public boolean isItmOfTunnelsEnabled() { + return ifmConfig.isItmOfTunnels(); + } } diff --git a/interfacemanager/interfacemanager-impl/src/main/resources/initial/genius-ifm-config.xml b/interfacemanager/interfacemanager-impl/src/main/resources/initial/genius-ifm-config.xml index 35e04f443..e8fb3420a 100644 --- a/interfacemanager/interfacemanager-impl/src/main/resources/initial/genius-ifm-config.xml +++ b/interfacemanager/interfacemanager-impl/src/main/resources/initial/genius-ifm-config.xml @@ -2,4 +2,5 @@ true 15 false + false diff --git a/itm/itm-api/src/main/yang/itm-rpc.yang b/itm/itm-api/src/main/yang/itm-rpc.yang index 30a2fe6d2..29b92ba62 100644 --- a/itm/itm-api/src/main/yang/itm-rpc.yang +++ b/itm/itm-api/src/main/yang/itm-rpc.yang @@ -405,4 +405,19 @@ module itm-rpc { } } } + + rpc get-tep-ip { + description "used to retrieve local tep ip to use from DPNID"; + input { + leaf dpn-id { + type uint64; + mandatory true; + } + } + output { + leaf tep-ip { + type inet:ip-address; + } + } + } } \ No newline at end of file diff --git a/itm/itm-api/src/main/yang/itm-state.yang b/itm/itm-api/src/main/yang/itm-state.yang index 114700161..267dfad50 100644 --- a/itm/itm-api/src/main/yang/itm-state.yang +++ b/itm/itm-api/src/main/yang/itm-state.yang @@ -301,4 +301,69 @@ module itm-state { } } } + + container dpn-tep-config { + list of-dpn-tep { + key "source-dpn-id"; + leaf source-dpn-id { + type uint64; + mandatory true; + } + + leaf tunnel-type { + type identityref { + base odlif:tunnel-type-base; + } + mandatory true; + } + + leaf of-port-name { + type string; + mandatory true; + } + + leaf tep-ip { + type inet:ip-address; //dpnid + } + } + } + + container of-teps-state { + config false; + list of-tep { + key "of-port-name"; + + leaf of-port-name { + type string; + } + + leaf source-dpn-id { + type uint64; + mandatory true; + } + + leaf tunnel-type { + type identityref { + base odlif:tunnel-type-base; + } + mandatory true; + } + + leaf tep-ip { + type inet:ip-address; //dpnid + } + + leaf port-number { + type string; + } + + leaf if-index { + type uint16; + } + + leaf of-tep-state { + type tunnel-oper-status; + } + } + } } diff --git a/itm/itm-impl/src/main/java/org/opendaylight/genius/itm/rpc/ItmManagerRpcService.java b/itm/itm-impl/src/main/java/org/opendaylight/genius/itm/rpc/ItmManagerRpcService.java index 93a418558..8118c6aaf 100644 --- a/itm/itm-impl/src/main/java/org/opendaylight/genius/itm/rpc/ItmManagerRpcService.java +++ b/itm/itm-impl/src/main/java/org/opendaylight/genius/itm/rpc/ItmManagerRpcService.java @@ -131,6 +131,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.G import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.GetInternalOrExternalInterfaceNameInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.GetInternalOrExternalInterfaceNameOutput; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.GetInternalOrExternalInterfaceNameOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.GetTepIpInput; +import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.GetTepIpOutput; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.GetTunnelInterfaceNameInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.GetTunnelInterfaceNameOutput; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.GetTunnelInterfaceNameOutputBuilder; @@ -864,6 +866,10 @@ public class ItmManagerRpcService implements ItmRpcService { throw new UnsupportedOperationException("TODO"); } + public ListenableFuture> getTepIp(GetTepIpInput input) { + return null; + } + @SuppressWarnings("checkstyle:IllegalCatch") @Override public ListenableFuture> addL2GwMlagDevice(AddL2GwMlagDeviceInput input) {