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)