netvirt.git
6 years agoFix bad transaction leak in InterfaceStateChangeListener 27/65627/3
Michael Vorburger [Thu, 16 Nov 2017 17:05:16 +0000 (18:05 +0100)]
Fix bad transaction leak in InterfaceStateChangeListener

see https://jira.opendaylight.org/browse/NETVIRT-985

  555x transactions opened here, which are not closed:
    org.opendaylight.netvirt.vpnmanager.InterfaceStateChangeListener.lambda$remove$1

  31x transactions opened here, which are not closed:
    org.opendaylight.netvirt.vpnmanager.InterfaceStateChangeListener.lambda$add$0

  15x transactions opened here, which are not closed:
    org.opendaylight.netvirt.vpnmanager.InterfaceStateChangeListener.lambda$update$2

Change-Id: Id29be0fb48b3d97f84049d0e0d698d13757eb6a8
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agoElan Junit Testcases 94/62894/20
Riyazahmed D Talikoti [Fri, 8 Sep 2017 11:13:40 +0000 (16:43 +0530)]
Elan Junit Testcases

Test Cases below
1. Check for SMAC entry in DPN1 for port created in DPN1
2. Check for DMAC entry in DPN1 for port created in DPN1
3. Check for DMAC entry in DPN1 for port created in DPN2

InterfaceManager, ITM teststubs are moved to genius.

Expected object contains the flow details of SMAC and DMAC
where most of the values are parameterised.

Change-Id: I6fada494719b904465608cfc0e4a3cd5ec8a8911
Signed-off-by: Riyazahmed D Talikoti <riyazahmed.d.talikoti@ericsson.com>
6 years agoneutronvpn: send alarm upon extra route configuration fault using BGPVPN 81/60881/33
Philippe Guibert [Fri, 28 Jul 2017 14:58:37 +0000 (15:58 +0100)]
neutronvpn: send alarm upon extra route configuration fault using BGPVPN

When extra routes are configured, through a router, if the number of
nexthops is greater than the number of available RDs, then an alarm and
an error is generated.

Change-Id: Ib78b1ff82a9a2013ec2f81f28c0e0261ef971177
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Noel de Prandières <prandieres@6wind.com>
6 years agoUnbind and bind DHCP service as part of state. 40/65540/2
Kency Kurian [Wed, 15 Nov 2017 11:50:41 +0000 (17:20 +0530)]
Unbind and bind DHCP service as part of state.

In VM migration UC there were some stale entries observed since dhcp was
not calling unbind and bind in state listeners.
It is recommended by interface managaer module that all services must be
calling the bind/unbind in inerface state listeners.

Change-Id: I00f2e2f7d85b9c9d36fee54a43e6f1011ca94348
Depends-On: Ib1ca5cb4d74a9af5000f60e9d9e85ff9ea3efd9c
Signed-off-by: Kency Kurian <kency.kurian@ericsson.com>
6 years agoSupport for IPv4 subnet addition. 92/64192/7
Kency Kurian [Thu, 12 Oct 2017 11:25:32 +0000 (16:55 +0530)]
Support for IPv4 subnet addition.

If the IPv4 subnet is added after booting the VM then none of the DHCP
flows were programmed. After the new subnet is added in openstack a
neutron port update needs to be done for the neutron port to be updated
with the newly added subnet.

neutron port-update <port-id> --fixed-ip subnet_id=<subnet-id>

Changes made:
Whenever neutron port gets updated with a new fixed ip:
1. Check if the newly added subnet is an IPv4 subnet.
2. If it is an IPv4 subnet invoke the bind logic in a DJC
3. Also, if we know the DPN ID for the VM then install the DHCP flow in
another DJC.
4. Refactored the code a little.

Change-Id: Ib1ca5cb4d74a9af5000f60e9d9e85ff9ea3efd9c
Signed-off-by: Kency Kurian <kency.kurian@ericsson.com>
6 years agoNETVIRT-981 CSIT Sporadic failures - snat conntrack job failing 07/65407/3
Aswin Suryanarayanan [Fri, 10 Nov 2017 10:33:18 +0000 (16:03 +0530)]
NETVIRT-981 CSIT Sporadic failures - snat conntrack job failing
many tempest scenario tests

Changes are made to avoid stale entries when an external network is
deleted.

https://jira.opendaylight.org/browse/NETVIRT-981

Change-Id: I28b86a4233d397686c9e074ece5697eb0629ff3e
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
6 years agoFix bad transaction leak in StatisticsImpl 64/65564/1
Michael Vorburger [Wed, 15 Nov 2017 17:32:02 +0000 (18:32 +0100)]
Fix bad transaction leak in StatisticsImpl

see https://jira.opendaylight.org/browse/NETVIRT-886

Change-Id: Ia72726f9eeae0bcb6273da5b50eb60a65dcd7358
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agoFix FindBugs violations and enable enforcement in vpnmanager-impl 97/65497/5
Tom Pantelis [Tue, 14 Nov 2017 02:25:05 +0000 (21:25 -0500)]
Fix FindBugs violations and enable enforcement in vpnmanager-impl

See in-line comments

Change-Id: I7cbf722bd8ce7a7f965aacf9316def2d60bb9232
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoRemove final DJC reference from neutronvpn-impl 28/65528/2
Tom Pantelis [Wed, 15 Nov 2017 04:50:39 +0000 (23:50 -0500)]
Remove final DJC reference from neutronvpn-impl

DJC was eradicated from neutronvpn-impl but it creeped back into
NeutronvpnUtils in a recent patch.

Change-Id: I7f950ff7e3f600642f2ae0b79082320047a635f5
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoRefactoring and cleanup in neutronvpn-api 79/64979/9
Tom Pantelis [Tue, 31 Oct 2017 20:40:21 +0000 (16:40 -0400)]
Refactoring and cleanup in neutronvpn-api

- Modified L2GatewayCacheUtils to use a ConcurrentMap instead of
  the deprecated Cache.

- Made L2GatewayDevice thread-safe and improved encapsualation

- Enabled FindBugs and fixed violatoions

Change-Id: I70d10e67a8fb800cda51f90e40286e60e2398a67
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix FindBugs violations and enable enforcement in neutronvpn-impl 61/64861/8
Tom Pantelis [Mon, 30 Oct 2017 02:22:03 +0000 (22:22 -0400)]
Fix FindBugs violations and enable enforcement in neutronvpn-impl

See in-line comments.

Change-Id: Ie0dce5f21dee80b9c02405b7636e55a4a8347887
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix warnings and remove statics in neutronvpn-impl 60/64860/5
Tom Pantelis [Sun, 29 Oct 2017 22:30:12 +0000 (18:30 -0400)]
Fix warnings and remove statics in neutronvpn-impl

See inline comments. The major changes were with the NeutronvpnUtils
class which had several public static Maps. The class was refactored
into a singleton class which required injection into many other classes.

Change-Id: Ib2badb6d01c55aab5851c9045d8bea8a911ad0a2
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoBug 8889: Removed trailing comments 48/61148/4
Itohan [Fri, 4 Aug 2017 06:20:47 +0000 (23:20 -0700)]
Bug 8889: Removed trailing comments

Removed trailing comments, deleted
unnecessary ones and placed some before
the code they described. This change would
make the code more readable.

Change-Id: If852f1628d8f57a64c62a9ea09db416ed317e7a4
Signed-off-by: Itohan Ukponmwan <itohan.ukponmwan@intel.com>
6 years agoBug 8889: Defined Constants to remove duplication 28/61128/3
Itohan [Thu, 3 Aug 2017 23:16:12 +0000 (16:16 -0700)]
Bug 8889: Defined Constants to remove duplication

Defined contstants ERROR and IS_NEEDED to replace the string
literals "error: " and " is needed". These changes would
reduce string duplication and make code refactoring easier
and less error-prone.

Change-Id: I32ff8549ac3c5f8102ab15519c79e57bd63951e4
Signed-off-by: Itohan Ukponmwan <itohan.ukponmwan@intel.com>
6 years agoClean up QosNeutronUtils 00/64400/5
Stephen Kitt [Tue, 17 Oct 2017 13:41:56 +0000 (15:41 +0200)]
Clean up QosNeutronUtils

* Avoid returning null for collections and propagate the simplified
  null-handling.
* Use computeIfAbsent and putIfAbsent to simplify map-related code.
* Drop some local variables which are immediately returned to simplify
  declarations.
* Drop some unnecessary parentheses.

Change-Id: I701a032c1cdf1b7fc21d219476ceddc7cdc73ca5
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoBug 9234: DPN programmed wrongly with TOR mac 05/65505/2
eaksahu [Tue, 14 Nov 2017 11:58:21 +0000 (17:28 +0530)]
Bug 9234: DPN programmed wrongly with TOR mac

Correcting mistake in code where cache was added instead of remove.

Change-Id: Ieae2221fa57897b31739358f0fbc900417632844
Signed-off-by: eaksahu <a.k.sahu@ericsson.com>
6 years agoFix warnings/cleanup in natservice-impl 75/64575/7
Tom Pantelis [Fri, 20 Oct 2017 17:22:09 +0000 (13:22 -0400)]
Fix warnings/cleanup in natservice-impl

See inline comments.

Change-Id: Ibb3708ccb05db84d8e41d241ace9c418de357c47
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix warnings/cleanup in dhcpservice-impl 83/64683/5
Tom Pantelis [Wed, 25 Oct 2017 00:24:04 +0000 (20:24 -0400)]
Fix warnings/cleanup in dhcpservice-impl

See inline comments.

Change-Id: I6a2c7500ee19af96c83a88ed9ae6e16a51423b28
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoRemove unused parameters from Genius services 73/63173/14
Stephen Kitt [Fri, 15 Sep 2017 12:35:50 +0000 (14:35 +0200)]
Remove unused parameters from Genius services

Following the clean-up in Genius, remove unnecessary parameters on
cleaned-up methods.

Change-Id: I1a32116f5bd9956e76ee32289597b70e04e0b872
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoSplit QosNeutronUtils.syncFlow 06/64306/7
Stephen Kitt [Mon, 16 Oct 2017 15:24:06 +0000 (17:24 +0200)]
Split QosNeutronUtils.syncFlow

This needs Id882570c15f018ce751b3829fac4a446f4aecfc8

Change-Id: I9488c6c809e1567b6c2d3decc4c6c39d006a6150
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoSplit handleKnownL3DmacAddress 04/64304/6
Stephen Kitt [Mon, 16 Oct 2017 14:41:26 +0000 (16:41 +0200)]
Split handleKnownL3DmacAddress

Change-Id: I2210fcfbf7c7a60ab95a407716d92457997c4230
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoSplit setupArpResponderFlowsToExternalNetworkIps 40/64140/6
Stephen Kitt [Tue, 10 Oct 2017 23:57:48 +0000 (16:57 -0700)]
Split setupArpResponderFlowsToExternalNetworkIps

Change-Id: I3f23d128e2d4c9c90b0894e42bc44c5f4cd3002c
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoSplit setupRouterGwMacFlow 38/64138/6
Stephen Kitt [Tue, 10 Oct 2017 23:11:59 +0000 (16:11 -0700)]
Split setupRouterGwMacFlow

Split setupRouterGwMacFlow into explicit add/remove variants.

Change-Id: I317acf74247e9674b0d4cc2a4578bc60d2b489aa
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoSplit setupSubnetMacIntoVpnInstance 32/64132/7
Stephen Kitt [Tue, 10 Oct 2017 21:46:57 +0000 (14:46 -0700)]
Split setupSubnetMacIntoVpnInstance

Split setupSubnetMacIntoVpnInstance into explicit add/remove
variants. The method used a number of static functions in VpnUtil
which were only used here, so this patch pulls these back into
VpnManagerImpl.

Change-Id: I6b9190dd9e0bec3dd1e0d79f5105d6001457ab66
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoRenamed class LockManager to LockManagerServiceImpl and moved package 92/65292/2
Michael Vorburger [Tue, 7 Nov 2017 23:52:35 +0000 (00:52 +0100)]
Renamed class LockManager to LockManagerServiceImpl and moved package

this change handles the impact of
I5fd1197718aaeda5662cc331957edc301db97029 done in genius for netvirt

Change-Id: I20529de417ccdebda30e07e716661d3585c46ab0
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agoFix warnings/cleanup/refactoring in bgpmanagr-impl 46/64846/7
Tom Pantelis [Sat, 28 Oct 2017 02:47:39 +0000 (22:47 -0400)]
Fix warnings/cleanup/refactoring in bgpmanagr-impl

Major hilites:

- In BgpConfigurationManager, modified the starting/stopping of
the BgpAlarms and BgpCounters instances to make it thread-safe
uaing AtomicReferences.

- Modified BgpAlarms to convert static fields to non-static and
change public fields to private. Also added init/close lifecycle
methods.

- Modified BgpCounters to convert static fields to non-static and
added close method to cleanup.

- Eliminated static BgpSyncHandle instance. The only user is
BgpConfigurationManager which now creates a local instance.

See inline comments for other minor changes.

Change-Id: Id179716d3e1cf2d21989ee7e62309aa33349ad66
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoConvert to JobCoordinator in natservice-impl 20/64420/3
Tom Pantelis [Tue, 17 Oct 2017 18:52:56 +0000 (14:52 -0400)]
Convert to JobCoordinator in natservice-impl

DataStoreJobCoordinator is deprecated so convert to use JobCoordinator.

Change-Id: Ibffd141f7f5f12f418d90405de78e88371e30dfc
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agovpnmanager: misc fixes related to dual stack per neutron port. 51/63951/30
Philippe Guibert [Mon, 2 Oct 2017 17:33:10 +0000 (18:33 +0100)]
vpnmanager: misc fixes related to dual stack per neutron port.

- route interface state applies to more than one IP.
introduction of dual stack makes it possible to handle more than one
fixed IP, then more than one associated subnet. This change applied the
change of yang port-op-data-entry structure to support a list of
subnet-ids. This information is updated in
SubnetRouteInterfaceStateChangeListener, where the list of subnets is
extracted from the Neutron port.
- vpnmanager: remove and update prefixtointerface for dual stack addresses
Due to the possibility to have two primary IP addresses per port, some
VPN migration scenarios may not work with the other IP address. The code
is adapted to parse all the primary adjacencies of the VPN Interface.

Change-Id: I2936014f9aaa5b42b820466affd3ada31695860d
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
7 years agovpnservice: misc fixes mainly about BGPVPN configuration 49/62949/52
Philippe Guibert [Sun, 10 Sep 2017 17:44:02 +0000 (18:44 +0100)]
vpnservice: misc fixes mainly about BGPVPN configuration

- Bug-9134: avoid returning exception when checking for a non IPv4 prefix
In order to not having an exception returned, the Nwutils library is not
used to check for an IPv4 address.

- vpnmanager: for each vrf sub family deleted, partial FIB removed
Upon VRF sub family deletion, associate FIB entries are looked up and
removed.

- add generic vpn-config attribute in vpn-instance
This generic field contains BGPVPN information ( import / export rules,
RD), that will be used and synced with ipv4-family and ipv6-family in
the same structure. By default, vpn-config is present, and is used. If
an IPv4 subnet is found, then ipv4-family is created based on what
contains vpn-config.

- Bug 9168: multipath command supports vpnv6 address families
The multipath command changes:
o the addr-family is optional and takes as default value vpnv4
o it is possible to set multipath for vpnv6 , evpn, or lu address-family

- Bug-9167: in case of subnetmap update, the networkId is set correctly
There are cases where the subnetmap networkId field is flushed, and
never set back when an update occurs.

Change-Id: I3af7f6d5e700735450fd615d1b080229c2dfd771
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
7 years agoNETVIRT-968 : Conntrack SNAT fails in a cluster setup. 95/64795/9
Aswin Suryanarayanan [Fri, 27 Oct 2017 08:45:40 +0000 (14:15 +0530)]
NETVIRT-968  : Conntrack SNAT fails in a cluster setup.

Made  the SNAT node event listener cluster aware using
AbstractClusteredAsyncDataTreeChangeListener(Only in Oxygen)

https://jira.opendaylight.org/browse/NETVIRT-968

Change-Id: If036fe679abe8ac5c5457b488325d2474f85820c
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
7 years agoBug9298 : ModifiedNodeDoesNotExistException for FIP 30/64930/6
cgowdru [Tue, 31 Oct 2017 07:14:29 +0000 (12:44 +0530)]
Bug9298 : ModifiedNodeDoesNotExistException for FIP

Description:
1) This Exception is thrown which deleting the VM instances(using
command “openstack server delete VM“) as part of “External network test”
2) This VMs are booted directly using net-id
Ex: openstack server create --image cirros-0.3.5-x86_64-disk --flavor
m1.nano --nic net-id=193f740e-910f-4038-9a4a-7d8758e63756
VmInstanceFloating1 --security-group sg-connectivity --min 1 --max 1
3) And such Vms are associated with floating ip  using command
“openstack server add floating ip VmInstanceFloating1 10.10.10.12”
4) When such an VM is deleted using “openstack server delete”, I need
NeutronPortChangeListener.remove()(for VM Neutron port deletion) and
NeutronFloatingToFixedIpMappingChangeListener.update(for
floatingip-disassoicated from neutron port) getting triggered
concurrently.
5) NeutronPortChangeListener.remove() -> handleNeutronPortDeleted()
-> nvpnManager.dissociatefixedIPFromFloatingIP() ->
floatingIpMapListener.dissociatefixedIPFromFloatingIP() ->
removeRouterPortsOrPortsNode() -> MDSALUtil.syncDelete()
6) NeutronFloatingToFixedIpMappingChangeListener.update() ->
clearFromFloatingIpInfo() -> MDSALUtil.syncDelete()
7) Both step-5 and step-6 attempt to delete same DS instance
resulting in one in this exception.

Solution:
Change done to check if the internal-to-external-port-map fo the given
fixed-ip exists during Step-6 flow there-by preventing deletion on
non-existant DS instance.

Change-Id: Icc4973020ff73225a5b25a5e73d1ffcbf78f2609
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
7 years agoBug 9297 : Adjacency doesn't exist exception fo FIP 18/65018/4
cgowdru [Thu, 2 Nov 2017 07:21:43 +0000 (12:51 +0530)]
Bug 9297 : Adjacency doesn't exist exception fo FIP

Description : When are ARP request for floating-ip(which is learnt
earlier) is received(with mac address change due to deletion and creation
of same FIP during tempest), query is done to delete the odl-adjacency
from vpn-interface which doesn't exists.

Instead of quering all adjacenies, change done for existance of specific
adjancency and delete it if only exists.

Change-Id: Id39f9f0830330bb84869c0d3a88c4787cd55df3c
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
7 years agoneutronvpn: dual stack changes 17/62917/46
Valentina Krasnobaeva [Tue, 23 May 2017 09:08:42 +0000 (11:08 +0200)]
neutronvpn: dual stack changes

The vpn interface creation/deletion is decorrelated with the adjacencies
and fixed ips contexts port creation. This becomes necessary since each
neutron port will receive creation of ports, but also updates related to
update of new IPs ( which implies that it does not mean creation of VPN
interface).
Also if fixes in vpnmanager an issue upon some cases where networkId
field from subnetmap was null.

Change-Id: I664421f592ea7da9c34f5400100502593bfeea55
Signed-off-by: Valentina Krasnobaeva <valentina.krasnobaeva@6wind.com>
Signed-off-by: Noel de Prandieres <prandieres@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
7 years agobgp-manager: update thrift model 80/57980/142
Philippe Guibert [Mon, 29 May 2017 13:00:22 +0000 (14:00 +0100)]
bgp-manager: update thrift model

addVrf() and delVrf() have 2 new parameters that are needed.
The modification consists in adapting the necessary thrift generated
files changes. On top of that, the call appropriate to BgpRoute.addVrf
and BgpRoute.delVrf is done with correct parameters.

Change-Id: Ie2a42923e804d30668c649434fa21fbb39f2ef1c
Signed-off-by: Noel de Prandieres <prandieres@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Valentina Krasnobaeva <valentina.krasnobaeva@6wind.com>
7 years agoRemove un-used Dropwizard Metrics from bgpmanager 39/65339/2
Michael Vorburger [Wed, 8 Nov 2017 22:32:48 +0000 (23:32 +0100)]
Remove un-used Dropwizard Metrics from bgpmanager

Found during https://jira.opendaylight.org/browse/INFRAUTILS-19

If bgpmanager wants metrics in the future, then it should use the
upcoming infrautils.metrics instead of having a direct dependency on
io.dropwizard.metrics.

Change-Id: I54555c518f0b48f49f940021ba093a264f474e8d
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoComment out LogCaptureRule in ElanServiceTest 42/65342/1
Michael Vorburger [Wed, 8 Nov 2017 23:42:30 +0000 (00:42 +0100)]
Comment out LogCaptureRule in ElanServiceTest

to avoid spurious test failures for now; when I get time I'm hoping to
follow up with work which makes this completely reliable by having tests
await the completion of JC background jobs (which is what's causing
this)

Change-Id: I2bcc19f01a0665a85ab155cfa616817fdb3c4854
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agovpnmanager: update vpn instance families based on subnetmap updates only 16/62916/48
Valentina Krasnobaeva [Tue, 5 Sep 2017 09:47:22 +0000 (11:47 +0200)]
vpnmanager: update vpn instance families based on subnetmap updates only

Upon a change in configuration, VPN instance from config DS is updated.
The change is due to a subnetmap moving to or from an other vpnid. If the old
VPN was a BGPVPN, then the list of subnetmaps will be parsed to check if
an IP family is missing or not. Reversely, the introduction of a new
subnet refreshes the IP families of the VPN instance.
According to the information, the VPN instance is updapted.
Consequently, if BGPVPN is configured, then the associated BGP VRFs are
updated accordingly.
Also, the vpnmanager shell command is modified accordingly with correct
AFConfig. Because a VPN instance can be either IPv4 or IPv6 or both,
then a check should be done against the good structure to parse.

Change-Id: I76b067eda44900d5c7bbf3f9792a55c32f711612
Signed-off-by: Valentina Krasnobaeva <valentina.krasnobaeva@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
7 years agoConvert to JobCoordinator in aclservice-impl 22/64322/8
Tom Pantelis [Tue, 17 Oct 2017 00:40:19 +0000 (20:40 -0400)]
Convert to JobCoordinator in aclservice-impl

DataStoreJobCoordinator is deprecated so convert to use JobCoordinator.

Change-Id: Ibdeb83f2c147a1b0d651fca792f91f7674d3d802
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
7 years agoBug 9299 - In conntrack SNAT Vpn to dpn maps fails to update when a 87/64387/13
Aswin Suryanarayanan [Tue, 17 Oct 2017 07:01:21 +0000 (12:31 +0530)]
Bug 9299 - In conntrack SNAT Vpn to dpn maps fails to update when a
subnet is added/removed

Added update method in centralized switch scheduler. This will update
the maps when a subnet is added/ removed from the router.

Change-Id: I7418cf0e3586fc643c14c86f807c542ed586305d
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
7 years ago21->nat-group flow is not present on OVS after “upgrade” 83/64983/1
cgowdru [Mon, 30 Oct 2017 07:47:11 +0000 (13:17 +0530)]
21->nat-group flow is not present on OVS after “upgrade”

table=21, priority=10,ip,metadata=0x30d42/0xfffffe actions=group:225000
(checks the VRF id and forwards to a group
that outputs to the external interface)
The flow is in fact written by ODL but rejected by OVS because
group:225000 is not present at the time the flow is written.
Group:225000 is not written because at the time that is triggered
(twice, actually) there is no /elan-interfaces/elan-interface for the
external network (trunk) port because OVS has not yet connected.

Create a default NAT group(225000) before installing flow the
21->group:225000. If elan-interface(for external-interfaces) are missing
during this group creation, then create this group with an drop action.
Once elan-interfaces are available, this group will be updated with proper
action values.

Steps perfomed
--------------

1) Shutdown ODL (logout)
2) wipe data store (rm -rf $KARAF_HOME/journal/* &
$KARAF_HOME/snapshots/*)
3) disconnect OVS and clear groups/flows
sudo ovs-ofctl del-flows -O Openflow13 br-int
sudo ovs-ofctl del-groups -O Openflow13 br-int
sudo ovs-vsctl del-manager
sudo ovs-vsctl del-controller br-int
4) restart ODL (./karaf)
5) Wait for net-odl full sync from neutron
- waited until DS gets poulatedi
- (ex : GET http://192.168.56.1:8181/restconf/config/neutron:neutron/ports)
6) reconnect OVS
sudo ovs-vsctl set-manager "tcp:192.168.56.1:6640"
sudo ovs-vsctl set-controller br-int "tcp:192.168.56.1:6653"

Change-Id: Iad89b3ff7935846b0bf1a3b9b3a4690ff87fcd9c
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
7 years agoConvert to JobCoordinator in qosservice-impl 77/64677/3
Tom Pantelis [Tue, 24 Oct 2017 18:49:19 +0000 (14:49 -0400)]
Convert to JobCoordinator in qosservice-impl

Change-Id: I3462bacddee1ad01803fdacec4f355e7c8a5bb7d
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
7 years agoConvert bgpmanager-impl to use mdsal EOS APIs 28/64828/2
Tom Pantelis [Thu, 12 Oct 2017 18:05:46 +0000 (14:05 -0400)]
Convert bgpmanager-impl to use mdsal EOS APIs

The controller EOS APIs are deprecated.

Change-Id: Ibb54eafc0561fa4ee1845498b5d17ef9b3b01363
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
7 years agoConvert to JobCoordinator in neutronvpn-impl 59/64859/2
Tom Pantelis [Sun, 29 Oct 2017 20:33:45 +0000 (16:33 -0400)]
Convert to JobCoordinator in neutronvpn-impl

Change-Id: I2f328995de40918bd3031d5754d91ffdf0c728cf
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
7 years agoConvert to JobCoordinator in dhcpservice-impl 21/64321/6
Tom Pantelis [Tue, 17 Oct 2017 00:12:25 +0000 (20:12 -0400)]
Convert to JobCoordinator in dhcpservice-impl

DataStoreJobCoordinator is deprecated so convert to use JobCoordinator.

Change-Id: Idb4057c125e41bf64dcba559caedfe8d046da28f
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
7 years agoConvert to JobCoordinator in cloud-servicechain-impl 25/64325/3
Tom Pantelis [Tue, 17 Oct 2017 01:19:52 +0000 (21:19 -0400)]
Convert to JobCoordinator in cloud-servicechain-impl

DataStoreJobCoordinator is deprecated so convert to use JobCoordinator.

Change-Id: Icce0eb72bf61fbc703e79f246aa7e8dc796e83f9
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
7 years agoConvert to JobCoordinator in policyservice-impl 24/64324/2
Tom Pantelis [Tue, 17 Oct 2017 01:02:50 +0000 (21:02 -0400)]
Convert to JobCoordinator in policyservice-impl

DataStoreJobCoordinator is deprecated so convert to use JobCoordinator.

Change-Id: I4e12d77e8626a7638c3cd4ada700061ee5ae81ae
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
7 years agoConvert to JobCoordinator in fibmanager-impl 23/64323/2
Tom Pantelis [Tue, 17 Oct 2017 00:53:12 +0000 (20:53 -0400)]
Convert to JobCoordinator in fibmanager-impl

DataStoreJobCoordinator is deprecated so convert to use JobCoordinator.

Change-Id: I17094b2da363bd4a96cca06d5c53cc45da001642
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
7 years agoRemove deploy-site.xml 03/64903/2
Thanh Ha [Mon, 30 Oct 2017 21:14:37 +0000 (17:14 -0400)]
Remove deploy-site.xml

With the javadoc jobs now available to generate javadoc it is time to
remove the maven-sites and related files.

Change-Id: If19cda9d89fd6ad5c0cb1351885c59d501ffe6aa
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
7 years agoFix ElanServiceTest by adding ElanServiceTest 15/64915/1
Michael Vorburger [Mon, 30 Oct 2017 23:34:53 +0000 (00:34 +0100)]
Fix ElanServiceTest by adding ElanServiceTest

ElanServiceTest broke on master following
I75a0edccef1b47ecf1c246c9e51e7717916f1da2 ... :-(

Change-Id: Ib63cf571901e23e9d3dc897781c779866c5f052c
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoRevert "INFRAUTILS-18: @Ignore AclServiceStatefulTest until JobCoordinator fixed" 27/64827/1
Michael Vorburger [Fri, 27 Oct 2017 20:29:38 +0000 (22:29 +0200)]
Revert "INFRAUTILS-18: @Ignore AclServiceStatefulTest until JobCoordinator fixed"

This reverts commit fbde3eaa72bb40528df7bb482feef8103b812e9b,
because https://jira.opendaylight.org/browse/INFRAUTILS-18 is fixed.

Change-Id: I849d7c6abf5d53cf0d1cba5f8349318f6f45f0e8
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoRefactor/cleanup BgpConfigurationManager 79/64179/4
Tom Pantelis [Wed, 11 Oct 2017 20:37:35 +0000 (16:37 -0400)]
Refactor/cleanup BgpConfigurationManager

- converted static fields to instance fields
- changed all instance fields to private
- removed unused fields/variables/code
- fix warnings

Change-Id: Ic6629f39558ec5280718c42d56a6af9c6a194e46
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
7 years agoConvert dhcpservice to use mdsal EOS APIs 27/64127/8
Tom Pantelis [Tue, 10 Oct 2017 18:20:12 +0000 (14:20 -0400)]
Convert dhcpservice to use mdsal EOS APIs

The controller EOS APIs are deprecated.

Change-Id: I2670160dd459b4f3ff64aff2a877b2a6f0683988
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
7 years agoINFRAUTILS-18: @Ignore AclServiceStatefulTest until JobCoordinator fixed 07/64807/2
Michael Vorburger [Fri, 27 Oct 2017 12:59:21 +0000 (14:59 +0200)]
INFRAUTILS-18: @Ignore AclServiceStatefulTest until JobCoordinator fixed

Change-Id: I6f53a51a26442572a001db2cc5f49c062f2de1a5
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoBug9245: Table=21 related exceptions fixes 81/64381/10
ehvkand [Tue, 17 Oct 2017 06:05:25 +0000 (11:35 +0530)]
Bug9245: Table=21 related exceptions fixes

https://jira.opendaylight.org/browse/NETVIRT-940

Change-Id: I66ae23bd3fd9ad1e2a80648672f8120ffd3beea3
Signed-off-by: ehvkand <hanamantagoud.v.kandagal@ericsson.com>
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
7 years agoUse JobCoordinatorTestModule in aclservice component tests 00/60300/5
Michael Vorburger [Thu, 13 Jul 2017 17:51:58 +0000 (23:21 +0530)]
Use JobCoordinatorTestModule in aclservice component tests

This is required to be merged into netvirt at the same time as the
related change https://git.opendaylight.org/gerrit/#/c/60303/ goes into
genius; that one introduces the JobCoordinatorTestModule as part of
making genius' DJC delegate to infrautils' JC (and by doing so, breaks
the aclservice component tests).

Change-Id: I0f2c5258315f40f9db88806fe0a33619f0f7bb77
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoConvert aclservice-impl to use mdsal EOS APIs 60/64160/3
Tom Pantelis [Wed, 11 Oct 2017 13:08:20 +0000 (09:08 -0400)]
Convert aclservice-impl to use mdsal EOS APIs

The controller EOS APIs are deprecated.

Change-Id: I8471f5e1734d12ce88d05e1ff9ee120822e591eb
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
7 years agoConvert neutronvpn-imp to use mdsal EOS APIs 42/64142/6
Tom Pantelis [Wed, 11 Oct 2017 04:03:39 +0000 (00:03 -0400)]
Convert neutronvpn-imp to use mdsal EOS APIs

The controller EOS APIs are deprecated.

Change-Id: I9c4fba9147a72ab48ff7bc1bdb38a02a8c38515e
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
7 years agoConvert elanmanager-impl to use mdsal EOS APIs 41/64141/7
Tom Pantelis [Wed, 11 Oct 2017 02:17:53 +0000 (22:17 -0400)]
Convert elanmanager-impl to use mdsal EOS APIs

The controller EOS APIs are deprecated.

Change-Id: Ic0b4cbc2fc6b3e11958841d2704407f38edf7504
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
7 years agoConvert vpnmanager-impl to use mdsal EOS APIs 36/64136/7
Tom Pantelis [Tue, 10 Oct 2017 22:32:40 +0000 (18:32 -0400)]
Convert vpnmanager-impl to use mdsal EOS APIs

The controller EOS APIs are deprecated.

The ArpMonitoringHandler previously used the EntityOwnerUtils to
register its candidate which has the side effect of registering
a global EntityOwnershipListener that maintains local ownership
state for all entities in a static cache. It also stores change
events in a static (unsycnhronized) EVENTS_HISTORY list which grows
unbounded. It seems this is only used in one place to print the
history via a CLI command. Both these side effects are problematic
and I don't think need/should be propagated forward.

Change-Id: Ied8e3f061c798de9a0e8af97e13fc9dd7e5d51a6
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
7 years agoNETVIRT-926 - Maxpath value should be between 1 to 64 in BGP multipath 48/64648/4
Gowri R [Tue, 24 Oct 2017 12:13:16 +0000 (17:43 +0530)]
NETVIRT-926 - Maxpath value should be between 1 to 64 in BGP multipath

Adding a check to ensure maxpath value for BGP multipath is in the range 1 to 64

Change-Id: I6797caca05efe35242ed6a44b73ca28827b5edfe
Signed-off-by: Gowri R <gowri.r@ericsson.com>
7 years agoBug 9234: CSS programmed wrongly with TOR mac 84/63884/9
eaksahu [Mon, 2 Oct 2017 20:24:40 +0000 (01:54 +0530)]
Bug 9234: CSS programmed wrongly with TOR mac

With these changes following improvement has been done.
1. All cache update are now happening inside DJC job .(DPNInterfaces
cache , ELan L2gwDevices , ELan Devices and Mac addresses)
2. Upon node Disconnect macs are not being withdrawn now from other
devices.
3. Upon node reconnect macs are scanned for stale entries and are
cleared .

LocalUcastMacListener has been added newly with the new childListener
class which listenes to parent node and processes child node if
required.
DPN cache , TOR cache and Mac cache were not synchronized properly
,leading to race conditions which is fixed in this.

Change-Id: I440e17750c86bc132b75222a91a06654126f9b75
Signed-off-by: eaksahu <a.k.sahu@ericsson.com>
7 years agoRefactor/cleanup BgpRouter 65/64165/2
Tom Pantelis [Wed, 11 Oct 2017 14:36:19 +0000 (10:36 -0400)]
Refactor/cleanup BgpRouter

- eliminated static instance
- converted static nature of fields to class fields
- removed unused fields

Change-Id: Ia7264795ccedb34125da8e35d756ddd3df18643b
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
7 years agoUpdated to use bind-service update instead of bind and unbind in Acl VPN 24/64124/6
Shashidhar Raja [Tue, 10 Oct 2017 16:47:00 +0000 (22:17 +0530)]
Updated to use bind-service update instead of bind and unbind in Acl VPN
listener

This commit has a dependency on below genius commit:
https://git.opendaylight.org/gerrit/#/c/64123/

Depends-On: Ib05a8fcfac8e74fa5a925edd0db49b7254bbed6a
Change-Id: I3acfe6f7f3f3e98139eb2413774d559ba8c25f8d
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
7 years agoRefactor qosservice-mpl to remove statics 15/64215/5
Tom Pantelis [Thu, 12 Oct 2017 20:59:05 +0000 (16:59 -0400)]
Refactor qosservice-mpl to remove statics

Several of the classes contained static fields and methods which
generally isn't best practice. Most of it centered around QosNeutronUtils
where users of the class pass service instances, eg DataBroker,
INeutronVpnManager et al, into the static methods. Instead of
QosNeutronUtils being static, I changed it to a singleton with the
services injected. This simpplifies users as they no longer have to
inject the services merely to pass into QosNeutronUtils methods.

Change-Id: Ib3c5efc1224979cd9b800d82fca1b631af9cf403
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
7 years agoConvert qosservice-impl to use mdsal EOS APIs 11/64211/4
Tom Pantelis [Thu, 12 Oct 2017 18:27:02 +0000 (14:27 -0400)]
Convert qosservice-impl to use mdsal EOS APIs

The controller EOS APIs are deprecated.

Change-Id: I5f10f11322e1533c540821726649c61acf48ae35
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
7 years agoReplace deprecated Futures.addCallback by the newer version 44/64044/3
David Suarez [Sun, 8 Oct 2017 15:52:39 +0000 (17:52 +0200)]
Replace deprecated Futures.addCallback by the newer version

The method addCallback(ListenableFuture<V> future,
FutureCallback<? super V> callback) is deprecated and will be replaced
by a new its new version addCallback(ListenableFuture<V> future,
FutureCallback<? super V> callback, Executor executor) in April 2018.

Some other minor changes to pass the new version of checkstyle.

Change-Id: I3e288aad0aeee3e5f8cc9aeb777dd3d2cfb5c00a
Signed-off-by: David Suarez <david.suarez.fuentes@gmail.com>
7 years agoSpec: ACL support for protocols that are not supported by conntrack 46/62546/19
Somashekar Byrappa [Fri, 1 Sep 2017 13:28:35 +0000 (18:58 +0530)]
Spec: ACL support for protocols that are not supported by conntrack

This spec addresses following issues in ACL module:
(a) Enhance ACL to support protocols like OSPF, VRRP etc that are not
    supported by conntrack in stateful mode.
(b) Handle overlapping IP addresses while processing remote ACLs.
(c) Optimization for Remote ACL by reducing number of flows even for ports
    having multiple ACLs.

Change-Id: I8ee79a0769e24b351cabf88fb268b28389b43da3
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
7 years agoHandle usecase when ELAN is null, and ACL service BIND/ADD fails due to NPE 47/62747/10
kiranvasudeva [Wed, 6 Sep 2017 10:03:58 +0000 (15:33 +0530)]
Handle usecase when ELAN is null, and ACL service BIND/ADD fails due to NPE

(a) Added ElanInterface Listener for Acl service, if ElanInterface add event comes
    after ConfigInterface or InterfaceState event's, update ElanId into aclInterface,
    invoke Bind and add.
(b) Skip Bind/Add in AclInterfaceListener/AclInterfaceStateListener if Elan id is null
(c) Sync all aclInterface modifications.

Change-Id: I29969844262af9c4972d8eeaaaf8a760e91b16d9
Signed-off-by: kiranvasudeva <kirankumar.v@altencalsoftlabs.com>
7 years agoBUG 9221: Improve logical SFF handling 48/64448/2
Jaime Caamaño Ruiz [Wed, 27 Sep 2017 13:50:24 +0000 (15:50 +0200)]
BUG 9221: Improve logical SFF handling

Ensure that the logical SFF is there when configuring a chain through
sfc trasnlator in case it might have been previously removed. Remove
it only when the feature is disabled.

Handle multiple SF data plane locators on chain removal so that non
logical SFF is also cleaned up afterwards.

Change-Id: I4b37f0c0cfd6fe2a3bd0fb66af66aa25ce662012
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
7 years agoBUG 9220: don't use tun_gpe_np as match field 47/64447/1
Jaime Caamaño Ruiz [Mon, 9 Oct 2017 13:33:33 +0000 (15:33 +0200)]
BUG 9220: don't use tun_gpe_np as match field

tun_gpe_np is not supported as match field on nsh patch OVS 2.6. This
field was used to match nsh vxlan encapsulated packets on sfc classifier
pipeline. Even if tun_gpe_np could be used, it wouldn't help as
currently encapsulation is implemented as vxlan+eth+nsh as opposed to
vxlan+nsh.

Workaround is to check for eth+nsh and check for tun_dst=0 with higher
priority to discern non tunneled nsh packets against tunneled ones.

Change-Id: I5038f5d8e89bdada559a736c711478f1bf123453
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
7 years agoBug-9222: OptimisticLockFailedException error messages 14/63614/4
Philippe Guibert [Wed, 27 Sep 2017 13:05:33 +0000 (14:05 +0100)]
Bug-9222: OptimisticLockFailedException error messages

This commit reduces the number of calls to future.add().
This is a change introduced in neutron portchangelistener, in review
60185.

Change-Id: Ieaf466a56232e9999bb92858dfbf8be89e431194
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
7 years agoBug 9181: Code changes for conflicting modifications exceptions of table=19 90/63490/20
HANAMANTAGOUD V Kandagal [Mon, 25 Sep 2017 12:30:58 +0000 (18:00 +0530)]
Bug 9181: Code changes for conflicting modifications exceptions of table=19

Table=19 conflicting modification exception is seen when Router Interface
VRF entry is being created and VM is being booted at the same time.
This creates a race condition where same flow identity for table=19 is
being written into inventory configDS.

Fix:
Synchronization is being done over VpnInstance to avoid two threads trying
to write the same flow at same time.

Change-Id: I38d6b12bcec4ade471c99571028265d868a1e3a2
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
Signed-off-by: ehvkand <hanamantagoud.v.kandagal@ericsson.com>
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
7 years agoBug 9246: Conflicting modification from ARP and Router-GW-Mac 62/64062/1
karthikeyan [Mon, 9 Oct 2017 12:42:33 +0000 (18:12 +0530)]
Bug 9246: Conflicting modification from ARP and Router-GW-Mac

Problem Statement:
==================
The following runtime exceptions was throwing from NAT module as part of
" Delete Vm Instances" in CSIT.

Exception 1:
============
Conflicting modification for path
/(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:264442126811301}]
[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=81}]/flow/flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=Arp:tbl_81:lport_11:tpa_10.10.10.3}]

Exception 2:
============
Conflicting modification for path
/(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:264442126811301}]
[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=19}]/flow/flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=fa:16:3e:ce:fd:00.100003.2644421268113
01.19}]

Solution:
==========
Whenever NAPT switch over happens DS odl-nat:napt-switches will get update
with newly elected NAPT switch ID for particular router. If there is an
update in DS CentralizedSwitchChangeListener will get triggered and
re-install the L3_GW_MAC_TABLE (19) and ARP_RESPONDER_TABLE (81) flows. As
part of doing this we were used single write transaction object for both
DELETE and ADD. This is the root cause of this throwing conflict
modification exceptions. Now we have created separate write transaction
object for ADD and DELETE.

Change-Id: I409442c07535504ba642475c17c5a787cbf2a261
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
7 years agoBug 8976 - Upstreaming fixes to master 89/63989/1
Philippe Guibert [Thu, 5 Oct 2017 14:06:20 +0000 (15:06 +0100)]
Bug 8976 - Upstreaming fixes to master

This patch contains fix for removing spaces on two log messages.

Change-Id: I7347933d50650a10ee9092655d8503d20a6c3ef6
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
7 years agoBug 8964 - Neutron test 44/63944/3
Aswin Suryanarayanan [Wed, 4 Oct 2017 14:30:41 +0000 (20:00 +0530)]
Bug 8964 - Neutron test
neutron.tests.tempest.scenario.test_floatingip.FloatingIpSameNetwork.test_east_west
fails

Set the in_port to zero in NAPT_PFIB table. This prevents the packet
drop in NAPT switch when the packet originating from tunnel is send back
to the same tunnel after DNAT to a Non Napt Switch.

The test[1](FloatingIpSameNetwork) verifies the traffic between a vm
with NFIP and vm with FIP with same internal n/w. The test now fails if
the NFIP vm and FIP vm happens to be in the same non NAPT switch.

[1]https://github.com/openstack/neutron/blob/master/neutron/tests/tempest/scenario/test_floatingip.py#L125

Change-Id: I42d98cc411ae21b8d32e44f4bc9217e22946cdc8
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
7 years agoTest SNAT mostSignificantBit() 37/63937/3
Stephen Kitt [Wed, 4 Oct 2017 12:07:16 +0000 (14:07 +0200)]
Test SNAT mostSignificantBit()

Static analysis complains that the current implementation of
mostSignificantBit() overflows int; that’s actually not the case, but
we can rewrite it more efficiently using Integer.numberOfLeadingZeros
anyway (with a unit test to ensure that the behaviour doesn’t
change).

loadStart and loadEnd can be converted to static constants.

Change-Id: I7e9068edd9d6c98e7c1a3c830ad8d7098d01dc75
Signed-off-by: Stephen Kitt <skitt@redhat.com>
7 years agoBug 9237 - NPE: InternalToExternalPortMapKey 36/63936/1
Sam Hague [Tue, 3 Oct 2017 18:43:36 +0000 (14:43 -0400)]
Bug 9237 - NPE: InternalToExternalPortMapKey

Change-Id: I40f0e07d11540480163cde2e15ec6e22583e4845
Signed-off-by: Sam Hague <shague@redhat.com>
(cherry picked from commit cf2b4bfbc1b5d18e9787fb9053ffdf1440f038fc)

7 years agoBug 9226: VPN Traffic fails after VM Migration 93/63793/4
Vivekanandan Narasimhan [Thu, 28 Sep 2017 17:39:36 +0000 (23:09 +0530)]
Bug 9226: VPN Traffic fails after VM Migration

Fixes the way we handle prefix-to-interface for VM Migration.

For more information please review the comment lines added in the
patch.

Change-Id: Ib6412f8ef53fcb3c460546332cdd44b2ec19a15d
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agoBug 9180: Conflicting modification Exception from NAT Module 88/63488/6
karthikeyan [Mon, 25 Sep 2017 12:04:25 +0000 (17:34 +0530)]
Bug 9180: Conflicting modification Exception from NAT Module

Problem Description:
====================
The following runtime exceptions was throwing from NAT module as part of
"adding external router gateway set" in CSIT.

Exception 1:
============
Conflicting modification for path
/(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:264442126811301}]
[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=81}]/flow/flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=Arp:tbl_81:lport_11:tpa_10.10.10.3}]

Exception 2:
============
Conflicting modification for path
/(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:264442126811301}]
[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=19}]/flow/flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=fa:16:3e:ce:fd:00.100003.2644421268113
01.19}]

Solution:
==========
When we do router gateway set for external network, below same flows are
getting installed from two different NAT module listeners which is
causing this runtime "Conflicting modification" exceptions.

1) L3_GW_MAC_TABLE (19) -> L3_FIB_TABLE (21) with external router GW MAC
and
External router vpn-id as match criteria.

2) ARP_RESPONDER_TABLE (81) -> EGRESS_LPORT_DISPATCHER_TABLE (220) with
external router GW MAC in ARP Responder flow.

handleRouterGwFlows() method is commented out in ExternalRoutersListener
add() method alone.
Since the same action is taken care by CentralizedSwitchChangeListener
which is listening on DS "odl-nat:napt-switches".

Change-Id: I2dece791d639b243689f24c112bf6250029de019
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
7 years agoBUG 7596 - Update to handle change in Neutron Network external attribute 07/63907/2
Vinh Nguyen [Sat, 5 Aug 2017 00:11:53 +0000 (17:11 -0700)]
BUG 7596 - Update to handle change in Neutron Network external attribute

Changes to handle update event when Neutron Network changes
from non-external to external and vice versa

Change-Id: I2c55272dc6e2b8473f2666b39e36b65c7e578cf0
Signed-off-by: Vinh Nguyen <vinh.nguyen@hcl.com>
7 years agoRemove unneeded mdsal and yangtools artifacts 79/63879/2
Sam Hague [Mon, 2 Oct 2017 16:58:49 +0000 (12:58 -0400)]
Remove unneeded mdsal and yangtools artifacts

Change-Id: Idc837885ce8e20cc0e69d79557e8151cd977c368
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBump netvirt to use yangtools 1.2.0 55/63755/2
Anil Belur [Thu, 28 Sep 2017 06:48:47 +0000 (16:48 +1000)]
Bump netvirt to use yangtools 1.2.0

Jira: releng-485
Change-Id: I923b439e82e22e5520b86531c8a826fdde0ff4f8
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
7 years agoRemove unneeded pom version values 74/63874/1
Sam Hague [Mon, 2 Oct 2017 15:21:31 +0000 (11:21 -0400)]
Remove unneeded pom version values

Change-Id: I3cce922c5bbb60220f977d5f6ceb26baffb5a698
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoUndo incorrect code changes made during merge conflict. 52/63752/3
eupakir [Thu, 28 Sep 2017 06:20:57 +0000 (11:50 +0530)]
Undo incorrect code changes made during merge conflict.

A part of the fix  pushed in by https://git.opendaylight.org/gerrit/#/c/59229
was removed unintentionally in
https://git.opendaylight.org/gerrit/#/c/57978 .
This has been rectified.

Change-Id: I19372961a30c18a454cd359138190e49d5ab7769
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
7 years agoBump odlparent 2.0.4 to 2.0.5 26/63626/2
Stephen Kitt [Wed, 27 Sep 2017 13:34:50 +0000 (15:34 +0200)]
Bump odlparent 2.0.4 to 2.0.5

Change-Id: I798c9b55f9d1c0b6b4e508a348118ca9f98cffe0
Signed-off-by: Stephen Kitt <skitt@redhat.com>
7 years agoBug 9066:Use Single Transaction for DNAT Flow Install and Remove 96/62396/9
karthikeyan [Tue, 29 Aug 2017 09:56:28 +0000 (15:26 +0530)]
Bug 9066:Use Single Transaction for DNAT Flow Install and Remove

Problem Description:
===================
Use one transaction for DNAT flow install and use another single
transaction for Removing the flows from DNAT switch.

As of now each DNAT (Floating-ip) flow installation, it used separate
transaction object for each flow installation.

Solution:
==========
Used single write transaction object for all DNAT(Floating-IP) flows installation on
the switch and used other
write transaction object for removing all DNAT flows on the switch.

Change-Id: Idf8f0c9ce36b20b14ede9a423c574ee21f36d02e
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
7 years agorm remaining it artifacts 39/63739/3
Sam Hague [Thu, 28 Sep 2017 02:07:37 +0000 (22:07 -0400)]
rm remaining it artifacts

Change-Id: I732df4c3105ff440b16ce1a6e7abda47c734ec86
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 9077: Fix of issue that the existing NW communication failure when new NW is... 83/63783/2
kaoru sueda [Tue, 12 Sep 2017 05:41:06 +0000 (14:41 +0900)]
Bug 9077: Fix of issue that the existing NW communication failure when new NW is created

Issue:
  The existing network communication failed after 1001 NWs were created,
  as some of its ovs flows were overwritten.

Cause of this issue:
  In NW creation, some ovs flows' ID were duplicated. The flow ID of the
  1001th network is duplicated with the flow ID of the 1st NW, resulting
  the flow of the 1st NW being deleted(overwritten).

Fix:
  Avoid duplication by appending flow name.

Change-Id: I657d35d52b3fe452097294e7b3517aacf75f2fac
Signed-off-by: kaoru sueda <k-sueda@zj.nes.jp.nec.com>
7 years agosync cleanup 38/63738/2
Sam Hague [Thu, 28 Sep 2017 01:57:43 +0000 (21:57 -0400)]
sync cleanup

Change-Id: Ib974e69a079dd851965a685f4612e57da0767d4b
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoLower log level for non errors 68/63768/2
Sam Hague [Thu, 28 Sep 2017 12:13:26 +0000 (08:13 -0400)]
Lower log level for non errors

Change-Id: Ifd2993d7dc4ad97281bcc889157d1ca43be671e2
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 9209: PNF learned on external networks to skip local FIB Processing 34/63534/4
Vivekanandan Narasimhan [Tue, 26 Sep 2017 17:41:27 +0000 (23:11 +0530)]
Bug 9209: PNF learned on external networks to skip local FIB Processing

PNFs learned on external network will not have any specific DPNID
tagged to them.  As a result, we need to skip local flow processing
for such entries.

The external subnet gateway ip is now learned via the PNF code.

Change-Id: I43f254b05949f0e13e5555f622cd7f9866d7856d
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agoRenamed acl-impl.rst to acl-reflection-on-existing-traffic.rst 62/63262/3
Somashekar Byrappa [Tue, 19 Sep 2017 06:59:16 +0000 (12:29 +0530)]
Renamed acl-impl.rst to acl-reflection-on-existing-traffic.rst

+ Updated index.rst file with the same name.

Change-Id: I002053111689c84ea515d047c6802d32dcf9504d
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
7 years agobug-9190: NullPointerException at getIsExternal 82/63582/2
Sam Hague [Tue, 26 Sep 2017 21:54:23 +0000 (17:54 -0400)]
bug-9190: NullPointerException at getIsExternal

Change-Id: I2e95c71594798431259f10631cef514ef410c199
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoLower log level for non errors 81/63581/2
Sam Hague [Tue, 26 Sep 2017 21:51:28 +0000 (17:51 -0400)]
Lower log level for non errors

Change-Id: I7108bb53268bf5d2513b44117d9755cf62c5aaac
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoRemove explicit default super-constructor calls 00/63600/2
David Suarez [Wed, 27 Sep 2017 08:31:23 +0000 (10:31 +0200)]
Remove explicit default super-constructor calls

The default constructor is called by default (hence its name), no need
to call it explicitly. Based on this commit [1].

[1] https://git.opendaylight.org/gerrit/#/c/63526/

Change-Id: Ia7a4ccf88c328aab9feade1252a06e2c94b660ac
Signed-off-by: David Suarez <david.suarez.fuentes@gmail.com>
7 years agoBug9091 : Removing uncessary MD-SAL Read Operation in NAT 93/62693/9
cgowdru [Tue, 5 Sep 2017 11:24:40 +0000 (16:54 +0530)]
Bug9091 : Removing uncessary MD-SAL Read Operation in NAT

Description : It's been obseved many unnecessary MD-SAL read operations
where done in NAT module. Changes done to pass them as parameters to
calling methods instead reading the same data again which is already
retrieved earlier in it caller methods.

Change-Id: If5efc57a0342caa6acf73b3f17dba033cab77e7c
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
7 years agoBug 8953 - IllegalArgumentException: vrfEntry is missing mandatory 82/63482/4
eupakir [Mon, 25 Sep 2017 10:02:06 +0000 (15:32 +0530)]
Bug 8953 - IllegalArgumentException: vrfEntry is missing mandatory
descendant origin

Change-Id: I0978d55f09d0e9b31aa2b74e5cfac68a757c29da
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
7 years agolower log levels for non-errors 11/63511/3
Sam Hague [Mon, 25 Sep 2017 22:06:18 +0000 (18:06 -0400)]
lower log levels for non-errors

Change-Id: I417085e3a9547b03ffe2c74285bf8af2746d461e
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoClearBgpCli reads from socket to send/receive from bgpd 03/63503/1
Siva Kumar Perumalla [Mon, 25 Sep 2017 23:41:32 +0000 (05:11 +0530)]
ClearBgpCli reads from socket to send/receive from bgpd
(some previous commit modifed to read from session parameters)

Change-Id: Id0f4e8294e239fee70d6b09d891d50c5c6a9237a
Signed-off-by: Siva Kumar Perumalla <sivakumar.perumalla@ericsson.com>
7 years agobgpmanager: change API of bgpmanager to add VRF IPv4 or IPv6 78/57978/119
Philippe Guibert [Mon, 29 May 2017 09:45:00 +0000 (10:45 +0100)]
bgpmanager: change API of bgpmanager to add VRF IPv4 or IPv6

This change adds a change in IBgpManager API, since it adds afi and safi
parameters to VRF creation and deletion. This information is propagated
to BGP so as to create and delete VPN context tables in function of the
AFI and SAFI settings.
Instead of passing a layerType value, an AddressFamily type is used.
AddressFamily is mapped to internal afi/safi values.
The values are appended or removed to the VRF objects of BGP Manager.
The VRF object is then written to the config DS.
Subsequently, the Quagga will be called upon the various changes in the VRF object.
If the object is added or updated, the Quagga will be called with the appropriate
afi/safi values. If the object is removed, all the afi/safi values are removed from
the Quagga. If the object is added, the afi/safi values are added to the quagga.

Change-Id: Ife754ce561f69dbb67fcdf74308b5153cbde53e6
Signed-off-by: Valentina Krasnobaeva <valentina.krasnobaeva@6wind.com>
Signed-off-by: Noel de Prandieres <prandieres@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>