From 7ec72df18c9fad8165b35ecf2b66ae1e9c344df4 Mon Sep 17 00:00:00 2001 From: Marek Gradzki Date: Tue, 3 Jul 2018 12:30:35 +0200 Subject: HC2VPP-79: use ip-address-no-zone for proxy-arp configuration The inet:ipv4-address type was used in HC models due to ODL bug: https://bugs.opendaylight.org/show_bug.cgi?id=6413 which was fixed long time ago... Change-Id: Ibb57c9b725a038784808e61c1e709663b9c9b9e6 Signed-off-by: Marek Gradzki --- l3/api/src/main/yang/proxy-arp@2018-07-02.yang | 82 ---------------------- l3/api/src/main/yang/proxy-arp@2018-07-03.yang | 82 ++++++++++++++++++++++ .../l3/write/factory/ProxyArpWriterFactory.java | 8 +-- .../hc2vpp/l3/write/ipv4/ProxyArpCustomizer.java | 2 +- .../hc2vpp/l3/write/ipv4/ProxyRangeCustomizer.java | 4 +- .../fd/hc2vpp/l3/write/ProxyArpCustomizerTest.java | 4 +- .../hc2vpp/l3/write/ProxyRangeCustomizerTest.java | 13 ++-- 7 files changed, 97 insertions(+), 98 deletions(-) delete mode 100644 l3/api/src/main/yang/proxy-arp@2018-07-02.yang create mode 100644 l3/api/src/main/yang/proxy-arp@2018-07-03.yang (limited to 'l3') diff --git a/l3/api/src/main/yang/proxy-arp@2018-07-02.yang b/l3/api/src/main/yang/proxy-arp@2018-07-02.yang deleted file mode 100644 index dc4caf2c8..000000000 --- a/l3/api/src/main/yang/proxy-arp@2018-07-02.yang +++ /dev/null @@ -1,82 +0,0 @@ -module proxy-arp { - yang-version 1; - namespace "urn:opendaylight:params:xml:ns:yang:vpp:proxy:arp"; - prefix "proxy-arp"; - - import ietf-inet-types { - prefix "inet"; - } - import ietf-interfaces { - prefix "if"; - } - import yang-ext { - prefix "ext"; - } - import vpp-fib-table-management { - prefix fib-management; - revision-date 2018-05-21; - } - - organization - "FD.io - The Fast Data Project"; - - contact - "Hc2vpp Wiki - Mailing List "; - - description - "This module contains a collection of YANG definitions for - managing Proxy ARP in VPP. - - Copyright (c) 2017 Cisco and/or its affiliates. - - Licensed under the Apache License, Version 2.0 (the 'License'); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at: - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an 'AS IS' BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License."; - - revision "2018-07-02" { - description - "Uses references to vrf-management module insted of table identifiers."; - reference - "https://jira.fd.io/browse/HC2VPP-317"; - } - - revision "2017-03-15" { - description "Initial revision of proxy ARP model for VPP"; - } - - container proxy-ranges { - list proxy-range { - key "vrf-id low-addr high-addr"; - leaf vrf-id { - type fib-management:fib-table-list-ref; - } - leaf low-addr { - type inet:ipv4-address; - } - leaf high-addr { - type inet:ipv4-address; - } - description - "Parameters for configuring Proxy ARP on interfaces."; - } - } - - augment /if:interfaces/if:interface { - ext:augment-identifier "proxy-arp-interface-augmentation"; - - container proxy-arp { - presence "Enables proxy ARP on given interface"; - } - } - - // TODO(HC2VPP-86): add interfaces-state augmentation once VPP supports ARP proxy read (VPP-225) -} \ No newline at end of file diff --git a/l3/api/src/main/yang/proxy-arp@2018-07-03.yang b/l3/api/src/main/yang/proxy-arp@2018-07-03.yang new file mode 100644 index 000000000..a0c57f408 --- /dev/null +++ b/l3/api/src/main/yang/proxy-arp@2018-07-03.yang @@ -0,0 +1,82 @@ +module proxy-arp { + yang-version 1; + namespace "urn:opendaylight:params:xml:ns:yang:vpp:proxy:arp"; + prefix "proxy-arp"; + + import ietf-inet-types { + prefix "inet"; + } + import ietf-interfaces { + prefix "if"; + } + import yang-ext { + prefix "ext"; + } + import vpp-fib-table-management { + prefix fib-management; + revision-date 2018-05-21; + } + + organization + "FD.io - The Fast Data Project"; + + contact + "Hc2vpp Wiki + Mailing List "; + + description + "This module contains a collection of YANG definitions for + managing Proxy ARP in VPP. + + Copyright (c) 2017 Cisco and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the 'License'); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an 'AS IS' BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License."; + + revision "2018-07-03" { + description + "Revision changes: + - uses references to fib-management module instead of uint32 identifiers + - changes type of IP addresses from inet:ipv4-address to inet:ipv4-address-no-zone"; + } + + revision "2017-03-15" { + description "Initial revision of proxy ARP model for VPP"; + } + + container proxy-ranges { + list proxy-range { + key "vrf-id low-addr high-addr"; + leaf vrf-id { + type fib-management:fib-table-list-ref; + } + leaf low-addr { + type inet:ipv4-address-no-zone; + } + leaf high-addr { + type inet:ipv4-address-no-zone; + } + description + "Parameters for configuring Proxy ARP on interfaces."; + } + } + + augment /if:interfaces/if:interface { + ext:augment-identifier "proxy-arp-interface-augmentation"; + + container proxy-arp { + presence "Enables proxy ARP on given interface"; + } + } + + // TODO(HC2VPP-86): add interfaces-state augmentation once VPP supports ARP proxy read (VPP-225) +} \ No newline at end of file diff --git a/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/factory/ProxyArpWriterFactory.java b/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/factory/ProxyArpWriterFactory.java index dd1b5147b..fb154c664 100644 --- a/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/factory/ProxyArpWriterFactory.java +++ b/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/factory/ProxyArpWriterFactory.java @@ -29,10 +29,10 @@ import io.fd.honeycomb.translate.write.registry.ModifiableWriterRegistryBuilder; import io.fd.vpp.jvpp.core.future.FutureJVppCore; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.Interfaces; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180702.ProxyArpInterfaceAugmentation; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180702.ProxyRanges; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180702.interfaces._interface.ProxyArp; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180702.proxy.ranges.ProxyRange; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180703.ProxyArpInterfaceAugmentation; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180703.ProxyRanges; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180703.interfaces._interface.ProxyArp; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180703.proxy.ranges.ProxyRange; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; public final class ProxyArpWriterFactory implements WriterFactory { diff --git a/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/ipv4/ProxyArpCustomizer.java b/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/ipv4/ProxyArpCustomizer.java index cb1e244ae..16348bc74 100644 --- a/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/ipv4/ProxyArpCustomizer.java +++ b/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/ipv4/ProxyArpCustomizer.java @@ -26,7 +26,7 @@ import io.fd.vpp.jvpp.core.dto.ProxyArpIntfcEnableDisable; import io.fd.vpp.jvpp.core.future.FutureJVppCore; import javax.annotation.Nonnull; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180702.interfaces._interface.ProxyArp; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180703.interfaces._interface.ProxyArp; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/ipv4/ProxyRangeCustomizer.java b/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/ipv4/ProxyRangeCustomizer.java index c26f2abd2..8c55df046 100644 --- a/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/ipv4/ProxyRangeCustomizer.java +++ b/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/ipv4/ProxyRangeCustomizer.java @@ -29,8 +29,8 @@ import io.fd.vpp.jvpp.core.types.ProxyArp; import java.net.InetAddress; import java.util.concurrent.Future; import javax.annotation.Nonnull; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180702.proxy.ranges.ProxyRange; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180702.proxy.ranges.ProxyRangeKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180703.proxy.ranges.ProxyRange; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180703.proxy.ranges.ProxyRangeKey; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/l3/impl/src/test/java/io/fd/hc2vpp/l3/write/ProxyArpCustomizerTest.java b/l3/impl/src/test/java/io/fd/hc2vpp/l3/write/ProxyArpCustomizerTest.java index 1ad360f9f..bc6489295 100644 --- a/l3/impl/src/test/java/io/fd/hc2vpp/l3/write/ProxyArpCustomizerTest.java +++ b/l3/impl/src/test/java/io/fd/hc2vpp/l3/write/ProxyArpCustomizerTest.java @@ -32,8 +32,8 @@ import org.junit.Test; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.Interfaces; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceKey; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180702.ProxyArpInterfaceAugmentation; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180702.interfaces._interface.ProxyArp; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180703.ProxyArpInterfaceAugmentation; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180703.interfaces._interface.ProxyArp; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; public class ProxyArpCustomizerTest extends WriterCustomizerTest implements ByteDataTranslator { diff --git a/l3/impl/src/test/java/io/fd/hc2vpp/l3/write/ProxyRangeCustomizerTest.java b/l3/impl/src/test/java/io/fd/hc2vpp/l3/write/ProxyRangeCustomizerTest.java index 9e8fd6dc8..2de136538 100644 --- a/l3/impl/src/test/java/io/fd/hc2vpp/l3/write/ProxyRangeCustomizerTest.java +++ b/l3/impl/src/test/java/io/fd/hc2vpp/l3/write/ProxyRangeCustomizerTest.java @@ -28,13 +28,12 @@ import io.fd.vpp.jvpp.core.dto.ProxyArpAddDel; import io.fd.vpp.jvpp.core.dto.ProxyArpAddDelReply; import io.fd.vpp.jvpp.core.types.ProxyArp; import org.junit.Test; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.VniReference; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180702.ProxyRanges; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180702.proxy.ranges.ProxyRange; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180702.proxy.ranges.ProxyRangeBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180702.proxy.ranges.ProxyRangeKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180703.ProxyRanges; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180703.proxy.ranges.ProxyRange; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180703.proxy.ranges.ProxyRangeBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.proxy.arp.rev180703.proxy.ranges.ProxyRangeKey; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier; @@ -46,8 +45,8 @@ public class ProxyRangeCustomizerTest extends WriterCustomizerTest implements By @Override public void setUpTest() throws Exception { - final Ipv4Address highAddr = new Ipv4AddressNoZone("10.1.1.2"); - final Ipv4Address lowAddr = new Ipv4AddressNoZone("10.1.1.1"); + final Ipv4AddressNoZone highAddr = new Ipv4AddressNoZone("10.1.1.2"); + final Ipv4AddressNoZone lowAddr = new Ipv4AddressNoZone("10.1.1.1"); final VniReference vrfId = new VniReference(123L); IID = InstanceIdentifier.create(ProxyRanges.class) .child(ProxyRange.class, new ProxyRangeKey(highAddr, lowAddr, vrfId)); -- cgit 1.2.3-korg