Bug 5368 - NeutronL3Adapter ipv6 work around for mac address resolver
authorIsaku Yamahata <isaku.yamahata@intel.com>
Wed, 17 Feb 2016 03:06:03 +0000 (19:06 -0800)
committerIsaku Yamahata <isaku.yamahata@intel.com>
Mon, 22 Feb 2016 22:37:26 +0000 (14:37 -0800)
commit77a47eded2caee6870acd298f42aefe99d588f18
treef1a0f302ae9baad09500398451d2e0019ba1e513
parentfa47a4d3e56ad908ddeb7cb728ceae905ec5c240
Bug 5368 - NeutronL3Adapter ipv6 work around for mac address resolver

Right now mac address resolver only supports IPv4 arp, not IPv6
neighbor discovery. So if fixed ip is IPv6, it is ignored for now
to avoid exception as follows.

> 2016-01-21 19:10:01,192 | ERROR | ntDispatcherImpl | EventDispatcher                  | 279 - org.opendaylight.ovsdb.openstack.net-virt - 1.2.1.SNAPSHOT | Exception in dispatching event NorthboundEvent [handler=NEUTRON_PORT, action=UPDATE, port=NeutronPort [portUUID=dc49dbb5-24eb-4126-9112-6e8a6b117e7a, networkUUID=43e6202f-5ca4-48d7-99ec-1c88b3403efd, name=, adminStateUp=true, status=null, macAddress=FA:16:3E:BB:B6:5E, fixedIPs=[Neutron_IPs{ipAddress='2001:db8::1', subnetUUID='938d6b11-3a12-4d15-ac59-fa00f8ca68d6'}, Neutron_IPs{ipAddress='172.24.4.2', subnetUUID='4bdaf41a-37ce-4efe-bfbd-ef5aa804bee2'}], deviceID=b93bd54f-5eb9-47a0-9767-a486b2ff688a, deviceOwner=network:router_gateway, tenantID=76b28f13a97842299499a47bcbf498f3, securityGroups=[], bindinghostID=, bindingvnicType=normal, bindingvnicType=normal], subnet=null, router=null, routerInterface=null, floatingIP=null, network=null, loadBalancer=null, loadBalancerPool=null, loadBalancerPoolMember=null, neutronsecurityRule=null]
> java.lang.IllegalArgumentException: Supplied value "2001:db8::1" does not match required pattern "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$"
>         at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)[38:com.google.guava:18.0.0]
>         at org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address.<init>(Ipv4Address.java:51)[70:org.opendaylight.mdsal.model.ietf-inet-types:2010.9.24.8-SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.NeutronL3Adapter.triggerGatewayMacResolver(NeutronL3Adapter.java:1529)[279:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.NeutronL3Adapter.handleNeutronPortEvent(NeutronL3Adapter.java:443)[279:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.PortHandler.doNeutronPortUpdated(PortHandler.java:96)[279:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.PortHandler.processEvent(PortHandler.java:167)[279:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.EventDispatcherImpl.dispatchEvent(EventDispatcherImpl.java:95)[279:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.EventDispatcherImpl.access$200(EventDispatcherImpl.java:27)[279:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at org.opendaylight.ovsdb.openstack.netvirt.impl.EventDispatcherImpl$1.run(EventDispatcherImpl.java:56)[279:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_72-internal]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_72-internal]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_72-internal]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_72-internal]
>         at java.lang.Thread.run(Thread.java:745)[:1.8.0_72-internal]

Change-Id: Ice966c994c2565c17da2f7953f6febc6bf370e57
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
(cherry picked from commit 4d6b310d1bbdb45b67233363ec3de237ec7ad54d)
openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/impl/NeutronL3Adapter.java