netvirt.git
8 years agoBUG7748: Subnet-op-data empty after cluster reboot 38/51838/3
Suraj Ranjan [Tue, 14 Feb 2017 08:36:57 +0000 (14:06 +0530)]
BUG7748: Subnet-op-data empty after cluster reboot

SubnetAddToVpn notification is fired from add() of SubnetMapListener
also instead of firing from update() only.The reason for doing this is
after reboot this event comes in subnetmap add().

Change-Id: I247753ba1a52e896a4bd2ec7f96c3b5efae35055
Signed-off-by: Suraj Ranjan <suraj.ranjan@ericsson.com>
8 years agoBug 7790 - Attempting to install RNH on local DPN for FIB with custom instructions 78/51978/3
Tali [Thu, 16 Feb 2017 13:27:24 +0000 (15:27 +0200)]
Bug 7790 - Attempting to install RNH on local DPN for FIB with custom instructions

On VxLAN network there is no severe side affect other than trashing the log
For VLAN/flat networks this is a major issue since VrfEntryListener is not able to
find any local DPN hence all FIB entries are considered RNH and the actual local
FIB entry created using FibRpcService.createFibEntry() will be overridden by the
faulty RNH on the local DPN.

Change-Id: I49f6660608337fa9baf178179d589d9c6980964e
Signed-off-by: Tali <tali.ben-meir@hpe.com>
8 years agoUse Objects equals instead of == where necessary 45/51945/5
Alon Kochba [Mon, 6 Feb 2017 19:24:16 +0000 (21:24 +0200)]
Use Objects equals instead of == where necessary

This might actually fix bugs and change behavior,
there were places where Java objects were compared
using == instead of equals(), this patch corrects
those cases.

Conflicts:
    vpnservice/cloud-servicechain/cloud-servicechain-impl/src/main/java/org/opendaylight/netvirt/cloudservicechain/listeners/VrfListener.java
    vpnservice/cloud-servicechain/cloud-servicechain-impl/src/test/java/org/opendaylight/netvirt/cloudservicechain/matchers/FlowMatcher.java
    vpnservice/neutronvpn/neutronvpn-api/src/main/java/org/opendaylight/netvirt/neutronvpn/api/utils/NeutronUtils.java
    vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnManager.java
    vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/ArpReplyOrRequest.java
    vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnSubnetRouteHandler.java

Change-Id: I6996e168966fb660d62cca3e4c81635a6c1f6b06
Signed-off-by: Alon Kochba <alonko@hpe.com>
8 years agoUpdate netvirt guide - correct DB DROP procedure 10/52010/2
Alon Kochba [Wed, 15 Feb 2017 13:28:30 +0000 (15:28 +0200)]
Update netvirt guide - correct DB DROP procedure

Change-Id: I99d19c118d05ade5a9c77f6a98f75abb1b8c7ddc
Signed-off-by: Alon Kochba <alonko@hpe.com>
8 years agobug 7599 added l2gw validate cli 56/51556/2
K.V Suneelu Verma [Sun, 5 Feb 2017 09:14:56 +0000 (14:44 +0530)]
bug 7599 added l2gw validate cli

Added a helper cli to validate various config and operational
data models.
Checks if the config and operational datastore differ
Checks if the ha parent node and child nodes differ
Checks if the logical switches/ mcast macs and vlan bindings
are created for the configured l2gw connection

Change-Id: I96924a520d30985b98508afdaccbe379ef54d76e
Signed-off-by: K.V Suneelu Verma <k.v.suneelu.verma@ericsson.com>
8 years agobug 6589 l2gw cluster reboot fixes 55/51555/2
K.V Suneelu Verma [Tue, 3 Jan 2017 06:43:10 +0000 (12:13 +0530)]
bug 6589 l2gw cluster reboot fixes

registerd the group listener
created the l2gw cache upfront
fixed npe in terminationPoint command

Change-Id: I5e4e4d68e650a2c68d3c7b4bf464dc29815e0d48
Signed-off-by: K.V Suneelu Verma <k.v.suneelu.verma@ericsson.com>
8 years agoBug 7606: Fix for missed tunnel flows, after VM live migration 96/51796/6
VinothB [Mon, 13 Feb 2017 04:22:04 +0000 (09:52 +0530)]
Bug 7606: Fix for missed tunnel flows, after VM live migration

   * Skip deleting the flows in table 110 and table 20 when processing an
    interface deletion event from OVSDB in the case that the interface
    deletion is due to VM migration.
   * Remove the Port Name from flowName so that, the same entry gets
    updated during the update notification processing while live migration.

Change-Id: I2b917e50e07af4ed840d811a9c3f0a131281bd12
Signed-off-by: VinothB <vinothb@hcl.com>
8 years agoBug 7773: Objects should be compared with "equals()". 56/51056/6
Hideyuki Tai [Thu, 26 Jan 2017 01:56:17 +0000 (01:56 +0000)]
Bug 7773: Objects should be compared with "equals()".

Additional changes:
 * Removed unnecessary repetitive calls.

Change-Id: I607ce073ee9ec4289c80dccd96a4b5222e4d9772
Signed-off-by: Hideyuki Tai <Hideyuki.Tai@necam.com>
8 years agoImprove log messages. 37/51037/3
Hideyuki Tai [Wed, 25 Jan 2017 21:43:00 +0000 (21:43 +0000)]
Improve log messages.

* Correct wrong messages.
* Change the log level of some messages into the appropriate level.

Change-Id: I3e238611ebc9c9fc42aa800caa2a44621880c9aa
Signed-off-by: Hideyuki Tai <Hideyuki.Tai@necam.com>
8 years agoRevert "BUG7748: Subnet-op-data empty after cluster reboot" 48/51648/2
Sam Hague [Thu, 9 Feb 2017 19:27:51 +0000 (19:27 +0000)]
Revert "BUG7748: Subnet-op-data empty after cluster reboot"

This reverts commit 079b071c122cc3918b419d0ac62e504a3d89030a.

Change-Id: I0bce2abcb79aa43a85b12d260de525df6466f78a
Author: Sam Hague <shague@redhat.com>
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoBug 7392: L2 Forwarding Table=110 Flows Missing 94/51394/7
hari.pr [Fri, 3 Feb 2017 18:07:56 +0000 (23:37 +0530)]
Bug 7392: L2 Forwarding Table=110 Flows Missing

 * Problem:  While creation of very first subnet or Vm in CSIT environment,
              respective 110 flow is missing in openstack nodes.
 * Solution: Installed missing table#110 flows as part of Vxlan interface request.

Change-Id: Ie7eb35b50aaaafa79fd8ed0f0893ab37156f431e
Signed-off-by: hari.pr <hari.pr@hcl.com>
8 years agoBUG 7729: Remove redundant tunnel drop flow in table 110 23/51423/3
Vinh Nguyen [Sat, 4 Feb 2017 01:30:47 +0000 (17:30 -0800)]
BUG 7729: Remove redundant tunnel drop flow in table 110

- Remove methods: L2ForwardingService::programLocalTableMiss
  and L2ForwardingService::programTunnelMiss. Both methods
  generate the same tunnel drop flows in table 110.
  The drop flows for individual tunnels are not needed
  since there is a default drop flow in the same table.

- Remove the method L2ForwardingService::programVlanFloodOut
  which is not used.

Change-Id: I0fb826094b6c03e58fb89c95600e7b84bc2c774f
Signed-off-by: Vinh Nguyen <vinh.nguyen@hcl.com>
8 years agoBUG7748: Subnet-op-data empty after cluster reboot 06/51506/3
Suraj Ranjan [Mon, 6 Feb 2017 16:06:37 +0000 (21:36 +0530)]
BUG7748: Subnet-op-data empty after cluster reboot

SubnetAddToVpn notification is fired from add() of SubnetMapListener
also instead of firing from update() only.The reason for doing this is
after reboot this event comes in subnetmap add().

Change-Id: I766e3836cbe8b0eafbf5fbb52791ca96eb6ccfa9
Signed-off-by: Suraj Ranjan <suraj.ranjan@ericsson.com>
8 years agoBug 7680: Fix Nexthop when advertising to DCGW 17/51617/1
Miguel Perez [Wed, 8 Feb 2017 17:24:13 +0000 (18:24 +0100)]
Bug 7680: Fix Nexthop when advertising to DCGW

 + for static routes whose nexthop is a VM, the leaked route to the other
   VPN was being advertised to DCGW with the DPN where VM is located as
   the nexthop of the route. However, the nexthop must be the DPN where
   the InterVpnLink has been placed.

Change-Id: I1097e9c992c66053f499807fd411334a7113b509
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
8 years agoBug 7680: leaked routes not advertised to DC-GW 48/51548/4
Miguel Perez [Tue, 24 Jan 2017 17:01:29 +0000 (18:01 +0100)]
Bug 7680: leaked routes not advertised to DC-GW

 + It's been found that the routes that are leaked to DC-GW
   at InterVpnLink creation time (well, at InterVpnLink added
   callback) are correctly advertised to DC-GW. However, the
   routes that are leaked after the InterVpnLink has been
   created are not being advertised to DC-GW.

 + These second type of leaked routes are handled on fibmanager,
   but fibmanager does not have access to BgpManager. So the
   solution consists in moving part of the logic from fibmanager
   to vpnmanager where the BgpManager is accessible.

 + InterVpnLinkService class, which was just an internal class in
   vpnmanager-impl, is renamed to InterVpnLinkLocator whose only
   responsibility is to search for the most suitable DPNs to
   place new InterVpnLinks. The name change is to avoid confusion
   with IVpnLinkServiceImpl which is the implementation of the
   public interface 'IVpnLinkServce'.

 + Besides the renaming of InterVpnLinkService, most of its code
   is moved to IVpnLinkServiceImpl, and that's why this change
   may llok big.

 + Note: there is a <wip> [1] for taking the route leaking out
   of the fibmanager completely.

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

Change-Id: I1a7311345307716ef223c707b22c6ecec66d97a2
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
8 years agoBug 7372 - Supress error of NAPT switch selection failure before router-dpn association 76/51476/2
Tali [Thu, 15 Dec 2016 09:15:07 +0000 (11:15 +0200)]
Bug 7372 - Supress error of NAPT switch selection failure before router-dpn association

NAPT switch selection will take place once the router-dpn association is made
All missing NAPT/non-NAPT flows will be recovered as the result of selection

This review fixes only the log levels.
There can still be some missing NAPT flows in this scenario
The resolution for this is still WIP and covered by
https://bugs.opendaylight.org/show_bug.cgi?id=6866

Change-Id: Ib655c1fbf1c43f29a75223a0b48d410d47ef75d9
Signed-off-by: Tali <tali.ben-meir@hpe.com>
8 years agoSetup SMAC on routed packets destined to virtual endpoints 09/51109/6
karthik.prasad [Thu, 12 Jan 2017 15:27:25 +0000 (20:57 +0530)]
Setup SMAC on routed packets destined to virtual endpoints

All L3 Routed packets destined to virtual endpoints in the datacenter
managed by ODL do not carry a proper source-mac address in such frames
put out to virtual endpoints. With the fix all the packets destined to
virtual endpoints shall have gateway mac as source mac. If gateway mac
is not recoverable for the subnet on which the virtual endpoint resides,
then the connected mac address of that virtual endpoint will be used as
the source mac address.  Here the connected mac address represents the
mac-address on the tapxxx (or) the vhuxxx port on OVS Datapath for that
virtual endpoint.

VrfEntry yang model is used to represent the gateway source mac.

Sample Group Entry:
group_id=150001,type=all,bucket=actions=set_field:fa:16:3e:a1:4b:61->eth_src,set_field:fa:16:3e:21:b8:d3->eth_dst,load:0x300->NXM_NX_REG6[],resubmit(,220)

Spec Reference link:
https://git.opendaylight.org/gerrit/#/c/49807

Conflicts:
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/NexthopManager.java
vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnInterfaceManager.java
vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnUtil.java

Change-Id: I2e75215fd75f051135d702ab63cb792b6cf4cb55
Signed-off-by: karthik.prasad <karthik.p@altencalsoftlabs.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Signed-off-by: Achuth Maniyedath <achuth.m@altencalsoftlabs.com>
8 years agoBug 7445: Improve the performance on bulk create. 16/50616/16
karthikeyen.p [Wed, 18 Jan 2017 04:10:17 +0000 (09:40 +0530)]
Bug 7445: Improve the performance on bulk create.

    * Reduced read calls when SG associated with the VMs.
    * We have used cache mechanism to store neutron port information
      that was read from DS.

Change-Id: I3b243ddf3656e48392593c6fc1086713d1fd1af3
Signed-off-by: karthikeyen.p <karthikeyen.p@hcl.com>
8 years agoBug 7733: NeutronVPN: Error out if VxLAN/VLAN network configured without seg-id 87/51387/4
Abhinav Gupta [Thu, 12 Jan 2017 11:10:02 +0000 (16:40 +0530)]
Bug 7733: NeutronVPN: Error out if VxLAN/VLAN network configured without seg-id

This adds an error log based on the presence of segmentation-id when VxLAN
or VLAN based neutron networks are configured via Neutron.

Additionally, some cleanup done:
1. Moved some impl specific utils to NeutronVpnUtils
2. Moved constants to NeutronConstants
3. Renamed SubnetMapListener class to SubnetMapChangeListener
4. Removed  unused xml dependency from QosListener

Change-Id: I2d22773e4e7bdfa927c01d679542fa36146e625a
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
8 years agoBug 7714 - Vpn Interface not deleted from oper DS 56/51456/1
Olga Schukin [Tue, 31 Jan 2017 10:35:55 +0000 (12:35 +0200)]
Bug 7714 - Vpn Interface not deleted from oper DS

sometimes Vpn Interface not deleted from operational/l3vpn:vpn-interfaces model,
if there is more than one adjacency to this vpn interface.

Change-Id: I45e4ca20db6c5aa9f5c280fea8726a5ed8aa654b
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
8 years agoBug 7720: create/delete VPN CLI handling addition/removal of subnets 76/51376/2
Abhinav Gupta [Wed, 1 Feb 2017 13:09:40 +0000 (18:39 +0530)]
Bug 7720: create/delete VPN CLI handling addition/removal of subnets

Following changes have been done as part of the bug fix:

1. Addition of subnets to VPN done via associateNetworks RPC
2. Deletion of subnets from VPN done via dissociateNetworks RPC
3. (1) is done only if createVPN succeeds
4. Deletion of VPN is done only if (2) succeeds

Change-Id: I21d25afa6b3ba56dae56abe2536afcfe5f0476b4
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
8 years agoBug 7601: Cleanup Elan instances when a network is deleted 52/51252/2
Sridhar Gaddam [Thu, 19 Jan 2017 14:45:14 +0000 (20:15 +0530)]
Bug 7601: Cleanup Elan instances when a network is deleted

The following patch in Neutron[1] modifies the Network delete sequence.
Prior to a network delete event, we now see an update event that removes
the networkType. So, in delete event, when we try to check for the
networkType, it would be empty and there is an exception. Because of this,
elanInstances are not getting deleted. In this patch, we avoid the check
for networkType since the network itself would not be created in the first
place if its not a supported networkType.

[1] https://review.openstack.org/#/c/317358/

Change-Id: I349a51f4df666ef2c2912ee552f159b6af16de76
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
8 years agoBUG 7717 Fix OOM when defining large number of networks 78/51278/2
Vinh Nguyen [Wed, 1 Feb 2017 01:06:50 +0000 (17:06 -0800)]
BUG 7717 Fix OOM when defining large number of networks

Use NodeId instead of Node as key for the cache
ProviderNetworkManagerImpl::nodeToProviderMapping
The size bridge Node object is huge when there are
large number of network/subnets on the bridge.

Change-Id: I6956318477dfa524ce20680d12bba3c7818540ec
Signed-off-by: Vinh Nguyen <vinh.nguyen@hcl.com>
8 years agoBUG 7488 Add option to disable auto bridge creation 67/51267/1
Vishal Thapar [Mon, 30 Jan 2017 07:08:12 +0000 (12:38 +0530)]
BUG 7488 Add option to disable auto bridge creation

This adds a new param to elan-config, auto-create-bridge that defaults to
true. When false, netvirt will neither try to create br-int if it doesn't
exist, nor add any configuration if it exists. This is to be used in
scenarios where br-int is already created and configured.

Change-Id: I39c2770a0c0351d9e1b1fecd2642f473650e6c52
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
(cherry picked from commit 1dd6d15f82b1f8f4b9897cca5c8ca71f6a49f898)

8 years agoBUG 7591: Allow configuration of inactivity_probe and max_backoff for OVS 12/51212/2
Vishal Thapar [Thu, 19 Jan 2017 13:21:11 +0000 (18:51 +0530)]
BUG 7591: Allow configuration of inactivity_probe and max_backoff for OVS

Change-Id: I7881934df38c32cd40e156944c3ee46804d5a4e4
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
8 years agoBug 7667: SNAT table 46&44 are not getting programmed when private BGPVPN 11/51111/4
karthikeyan [Wed, 25 Jan 2017 08:05:05 +0000 (13:35 +0530)]
Bug 7667: SNAT table 46&44 are not getting programmed when private BGPVPN

Problem Description:
=====================
SNAT: Table 46(OUTBOUND_NAPT) and table 44 (INBOUND_NAPT) are not getting
programmed (SNAT Forward Traffic and SNAT Reverse Traffic) with NAT
translation when router is
associated with Private/Internal BGP-VPN.Due to this issue, SNAT traffic
is getting failed when interval bgp-vpn is configured.

Root Cause of the Problem:
==========================
As part of bug (Bug 7478) fix SNAT traffic is used to send router-gw mac
address instead of VM mac. With this code changes router gw-mac was
getting from external-router Yang Model using router name as key.

When private/internal bgp-vpn is configured router-id (Internal Private
VPN ID) should be replaced with created private/internal bgp-vpn id. With
this approach when querying external-router Yang model for getting
router-gw mac address using new router-id (bgp-vpn id) will not match with
router-name.

Solution:
===========
When querying external-router yang model for getting router-gw mac address
it should use old router-id instead of bgp-vpn id. For doing this change
in NAPTEventHandler re-aligned the router-gw mac address code to
appropriate place to be working as expected.

Change-Id: Ieefd799d6b2349464bfb737e3fcc8101036c3619
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
8 years agoBUG 7489: Add startup config file for elanmanager-config 07/51207/3
Vishal Thapar [Sun, 22 Jan 2017 09:30:08 +0000 (15:00 +0530)]
BUG 7489: Add startup config file for elanmanager-config

This implements issue 2 mentioned in BUG 7489 by adding a new
configuration file in which user can specify default values for
elan-config at startup.

Note: Update-Strategy is set to None which means any runtime changes to
config will not be reflect till next restart

Path: etc/opendaylight/datastore/initial/config/
Config file name: netvirt-elanmanager-config.xml

Change-Id: I7e3c34166ffd3d8c72f860e1ea34a2c3cc79c309
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
8 years agoBug 7700: create-l3vpn (REST/CLI) should not allow another VPN to use the same VPNID 74/51174/2
Abhinav Gupta [Mon, 30 Jan 2017 07:51:10 +0000 (13:21 +0530)]
Bug 7700: create-l3vpn (REST/CLI) should not allow another VPN to use the same VPNID

Change-Id: I4481db51b17e92b2df7afab18b41bcb4e1a23df0
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
8 years agoFix ElanStatusMonitorJMX failing upon bundle reinitialization. 81/51181/2
Yakir Dorani [Sun, 22 Jan 2017 17:15:09 +0000 (19:15 +0200)]
Fix ElanStatusMonitorJMX failing upon bundle reinitialization.

Change-Id: I9e04e3ee1b9edc6000439e18b35c729f9ec0f92b
Signed-off-by: Yakir Dorani <yakir.dorani@hpe.com>
(cherry picked from commit 7f1f03e93f02fddd3002066d87b52ad782566c53)

8 years agoSNAT tests failures 62/51162/2
Olga Schukin [Thu, 26 Jan 2017 06:45:16 +0000 (08:45 +0200)]
SNAT tests failures

The rule with empty action list was installed to T47

Change-Id: I8fb81cafb2a7bfd392ce24b73dedf14ab29608bb
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
8 years agoBUG7308: fix leaf to leaf traffic 63/51163/1
David Goldberg [Thu, 19 Jan 2017 16:12:38 +0000 (18:12 +0200)]
BUG7308: fix leaf to leaf traffic

Change-Id: Iabae4f9fb7a2665f41f705ad0a6516a2d96ec77b
Signed-off-by: David Goldberg <gdavid@hpe.com>
(cherry picked from commit adb975a4ca8acc029e6db3d8f7f558669f375748)

8 years agoBUG-7461 58/51058/2
Bertrand [Thu, 26 Jan 2017 03:19:00 +0000 (19:19 -0800)]
BUG-7461

Align Legacy Netvirt with New Netvirt's design of not
removing integration bridge from the config DS.

Change-Id: I9f5da8344747f854828cddedd8c91f633b7b666f
Signed-off-by: Bertrand <bertrand.low@hcl.com>
8 years agoBug 7669: Add multi-provider network support to NetVirt for L2 Gateway. 66/50966/3
Victor Pickard [Tue, 24 Jan 2017 12:10:09 +0000 (07:10 -0500)]
Bug 7669: Add multi-provider network support to NetVirt for L2 Gateway.

Multi-provider network support is needed to be able to support
connecting VLAN based networks to VXLAN based networks,
using L2GW/HWVTEP.

Slides describing the network, and use cases, can be
found here:
https://docs.google.com/presentation/d/10Mg3OLkqXiEOcY0psB4aI-TaHRvOX0NWAOlfkmtN6RY/edit#slide=id.g1b8ae7086a_0_402

Testing
-------
Setup and successfully tested use cases 1-3, as described in
slides above.

Note: There is a corresponding Nova bug that must be fixed
for this to work. Basically, Nova needs to add support
for multi-provider networks. This work is in progress.

Change-Id: Iba4e52210e8c27e0ec35fe68b1fba3970b3a66c8
Signed-off-by: Victor Pickard <vpickard@redhat.com>
8 years agoLower debug level when truncating provider port name 59/51159/1
Alon Kochba [Wed, 25 Jan 2017 16:47:22 +0000 (18:47 +0200)]
Lower debug level when truncating provider port name

This print shows up a lot in the log, as it is
called on multiple events, whenever the configured
provider port name is longer than 15 chars.
Lowering debug level as it is mostly an internal
translation.

Change-Id: Ic317c96c66cd876e2fd3628b4985ea0abb6d5152
Signed-off-by: Alon Kochba <alonko@hpe.com>
8 years ago[BUG 7543] Replace the request function used by restangular 30/51030/2
Maxime Millette-Coulombe [Thu, 19 Jan 2017 21:01:41 +0000 (16:01 -0500)]
[BUG 7543] Replace the request function used by restangular

Restangular as two methods to fetch data: get and getList.
Those two methods was doing the same things, but it seems
that getList now expect a List of JSON and not an object
who caused the application to crash.

Change-Id: I4aa51860cd03f3f6a04d2322518c7c9c7a1b3092
Signed-off-by: Maxime Millette-Coulombe <mmcoulombe@inocybe.com>
(cherry picked from commit 55893ff64b7c3fe7e7e50410a04ab57bdf1855b3)

8 years agoBug 7660 Infinite loop while vpn instance removal 32/51032/2
Olga Schukin [Mon, 23 Jan 2017 14:52:06 +0000 (16:52 +0200)]
Bug 7660 Infinite loop while vpn instance removal

Sometimes VpnInstanceListener gets into endless loop because not all vpn
interfaces removed successfully.

Analysis:
The current interface counter value inside the function waitForOpRemoval()
can be less that original counter, but still not zero, then we are back to
beginning of the cycle without any action and sleep again.
The infinite loop doesn't allow to DataStoreJobCoordinator to run any
other job within same key.

Change-Id: I31ce3d38fa49212b7736888664a2d597d09f9666
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
8 years agoBug 7384: CSIT Exception: NPE in deleteVpnInterface 27/51027/2
Abhinav Gupta [Wed, 25 Jan 2017 18:49:30 +0000 (00:19 +0530)]
Bug 7384: CSIT Exception: NPE in deleteVpnInterface

getNeutronPort is returning null, causing port.getUUid() to result
in an NPE.
Further analysis necessary as to how it happened in the first place
since port delete event for the port in concern hasn't come.
The introduced check should ensure avoiding this NPE for now.

Change-Id: Ia4298d3b9f2b57b1a94805bca3ae34dffa2df4fe
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
8 years agoBug 7532 - arp responder rule sometimes missing after vm reboot 91/50991/2
Olga Schukin [Thu, 19 Jan 2017 11:12:40 +0000 (13:12 +0200)]
Bug 7532 - arp responder rule sometimes missing after vm reboot

VRF entry is not removed during the port down because of wrong value (null string) in the next hop address list.

Change-Id: Ib0a0a84358cce116bdb9c4768ff9d9608f5c638b
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
8 years agoBug 7601 - Cleanup Elan instances when a network is deleted 78/50478/3
Sam Hague [Sat, 14 Jan 2017 13:54:14 +0000 (08:54 -0500)]
Bug 7601 - Cleanup Elan instances when a network is deleted

Fix npe for getNetworkType() being null

Change-Id: I0e7ede43cdd7553b4525f5921b487f7e17c25b52
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoBug 7436: Handle VpnInterfaces of VpnInstance 31/50931/2
Tomer [Sun, 25 Dec 2016 12:31:02 +0000 (14:31 +0200)]
Bug 7436: Handle VpnInterfaces of VpnInstance

The problem:
VpnOpDataSyncer.waitForVpnDataReady is using java wait method
that does not return the thread to the pool while waiting.
If there are more compute nodes then CPU threads, all threads
in DjC will wait and there will be not availabe thread to
execute the code which waitForVpnDataReady waits for.

The solution:
VpnInterfaceManager holds all vpn interfaces that cannot be processed till the
relevant vpn instance in ready.
Updated the synchronized lock blocks to user vpnInstanceName instead of this.

Added cleanup of removed interface

Change-Id: I66da144356e17e778f1d04e5720befbece565fd5
Signed-off-by: Tomer <tomer.pearl@hpe.com>
Signed-off-by: Koby Aizer <koby.aizer@hpe.com>
8 years agoBug 7536: Static routes not handled when ivpnlink becomes active 81/50681/3
Miguel Perez [Fri, 13 Jan 2017 13:13:50 +0000 (14:13 +0100)]
Bug 7536: Static routes not handled when ivpnlink becomes active

 + Corner test case found that if the InterVpnLink is created when
   there's no available DPN to be installed in, the InterVpnLink is
   correctly created in ERROR state. Next step is to add some static
   routes to the corresponding Neutron Router. Third step is to connect
   some OVS node to the controller. At this point, the InterVpnLink
   is correctly installed on that DPN and the State is correctly set
   to ACTIVE... but the Static routes are forgoten.

 + It may look big but it is mostly moving code from
   InterVpnLinkListener to InterVpnLinkService

Change-Id: I87018e6cba48146c12fbad0d506445931275977e
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
8 years agoBug 7530 : ElanPacketInHandler mutexes are too coarse 85/50685/2
Guy Sela [Thu, 12 Jan 2017 14:50:05 +0000 (16:50 +0200)]
Bug 7530 : ElanPacketInHandler mutexes are too coarse

Mutex for manipulating flows related to MAC was locking on
ELAN + MAC, when could lock ELAN + MAC + DPID. By locking
on the finer-grained mutex, we can support much bigger scale.
Problem occured in scale testing when 180 computes were
getting packet ins with the same MAC (External Network), and
every OVS was competing with all other OVSs for the lock of ELAN+MAC.

ElanPacketInHandler also updates a global data structure
of MACs that must be locked with the coarser mutex of
ELAN+MAC. This is why this patch splits the ElanPacketInHandler
into 2 jobs instead of one.

The transactions there also caused OptimisticLockException because
delete was called and submitted and then put was called and
submitted. This can't work due to the asynchronoush nature of
MD-SAL. There is no need in delete anyway if you call put, so
the delete was removed.

The 10 seconds protection was removed because it is unnecessary
as it already exists in the OVS with a learn rule.

The MAC migration code never worked because the condition could
ever be true there (it's a bug). I preserved the same behavior.

Fixed potential NPE in Etree code

Change-Id: I1aa038f9e0d271b94ffee6076654571b2e811d37
Signed-off-by: Guy Sela <guy.sela@hpe.com>
(cherry picked from commit a30c620a4d5d3f2c4bc63fff433e691f6501ebf9)

8 years agoBug 7533 : Fix for bind/unbind in DHCP service 84/50484/2
Kency Kurian [Wed, 11 Jan 2017 19:19:34 +0000 (00:49 +0530)]
Bug 7533 : Fix for bind/unbind in DHCP service

- If the unbind is called from interface state listeners there could be
  chances of ending up in a race condition in service bind logic and hence
  the flow does not get removed.
- Moved the bind service call to interface config listener rather than state
  so that the service flows get programmed as soon as the interface is UP.

Change-Id: Iadd3743e47efed9f256612fe8bab7085d3de2d54
Signed-off-by: Kency Kurian <kency.kurian@ericsson.com>
8 years agoBug 7567: External subnet group is not updated with external gwmac 68/50568/5
Vivekanandan Narasimhan [Tue, 17 Jan 2017 17:02:15 +0000 (22:32 +0530)]
Bug 7567: External subnet group is not updated with external gwmac

The external subnet group is not getting updated even though
the resolution for external gateway macaddress is successful.

The fix here is to make the the external subnet group programmer
to listen for Learned IP-MAC datastore which would really hold
the external-subnet-gateway-ip TO external-subnet-gateway-mac
mapping.

Also multiple external subnets can share the same subnet ip addresses
and so this patch fixes that too..

Change-Id: Id8c2ba8ace8dbeaf20ceb35d81f43a07e50c3a9f
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
8 years agoBug 7528 : Don't learn the DMAC flows from other DPNs 44/50544/2
Guy Sela [Wed, 11 Jan 2017 15:30:40 +0000 (17:30 +0200)]
Bug 7528 : Don't learn the DMAC flows from other DPNs

When working with an elan of type VLAN or FLAT, we shouldn't
learn the known macs from other DPNs. Before calling
programRemoteDmacFlow, validate that the elan is not VLAN or FLAT.

Change-Id: Ib96546aff94bc18f830d72c1735c364f1a21156b
Signed-off-by: Guy Sela <guys.sela@hpe.com>
8 years agoBug 7525 - Inter-VPN link static/connected routes leaking not working 06/50506/2
Marcos López Samaniego [Mon, 9 Jan 2017 14:35:15 +0000 (15:35 +0100)]
Bug 7525 - Inter-VPN link static/connected routes leaking not working

+ Enable static/connected routes in inter-VPN link creation.
+ Fixed some issues related to routes provisioned after the inter-VPN link.
  These issues were affecting the leaking of every kind of route.

Change-Id: Ibb73f86f163f6fe7adf4a26b81ab1ead93855561
Signed-off-by: Marcos López Samaniego <marcos.lopez.samaniego@ericsson.com>
8 years agoBug 7547 : Ping from DC-GW to invisible ip configured in VM is failing 12/50512/1
ehvkand [Mon, 16 Jan 2017 09:11:20 +0000 (14:41 +0530)]
Bug 7547 : Ping from DC-GW to invisible ip configured in VM is failing

Change-Id: Iba7869b3ccbaf3f5921c9f705628444aca630996
Signed-off-by: ehvkand <hanamantagoud.v.kandagal@ericsson.com>
8 years agoBug 7497 - NAPT rules missed for second DPN 80/50480/1
Olga Schukin [Tue, 10 Jan 2017 08:11:00 +0000 (10:11 +0200)]
Bug 7497 - NAPT rules missed for second DPN

Install the group using synced mdsal write to improve the timing.

Change-Id: I3270fa1f1bc3bbccf11d1b02befe76db7f70fcc2
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
8 years agoFix links to openstack images 75/50475/1
Sam Hague [Sat, 14 Jan 2017 13:23:46 +0000 (08:23 -0500)]
Fix links to openstack images

Change-Id: Ic361aa3b2530f9770c1b2ad6ab27b2760c8d265e
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoBug 7478 : SNAT traffic to use router GW MAC 57/50257/3
karthikeyan k [Thu, 17 Nov 2016 08:19:09 +0000 (13:49 +0530)]
Bug 7478 : SNAT traffic to use router GW MAC

Problem Statement :
Currently SNAT traffic uses VM MAC as source MAC instead of Router Gateway
MAC

Solution:
Changes has been done for SNAT traffic as source MAC address as Router Gateway MAC Address in
NAPT_OUTBOUND_TABLE(Table=46)

Change-Id: I1563cc9f04d8e479c9c1173644a168262b448d80
Signed-off-by: karthikeyan k <karthikeyan.k@altencalsoftlabs.com>
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
8 years agoSpec to setup SMAC on routed packets destined to virtual endpoints 35/50435/3
Achuth Maniyedath [Mon, 26 Dec 2016 13:26:31 +0000 (18:56 +0530)]
Spec to setup SMAC on routed packets destined to virtual endpoints

Change-Id: I72a2c008464ac99d7bd2796fae2d89030ee3826c
Signed-off-by: Achuth Maniyedath <achuth.m@altencalsoftlabs.com>
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoMinor updates to openstack doc 36/50436/1
Sam Hague [Thu, 12 Jan 2017 13:18:31 +0000 (08:18 -0500)]
Minor updates to openstack doc

Change-Id: I5097f2d911597c2c97b1564f62d0ba5a08538a5b
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoBug 7405: IVpnLink routes not removed from BGP on cascade 79/50279/2
Miguel Perez [Mon, 19 Dec 2016 15:07:16 +0000 (16:07 +0100)]
Bug 7405: IVpnLink routes not removed from BGP on cascade

 + When the InterVpnLink is removed, the routes that had been
   advertised to BGP are not withdrawn in consequence

Change-Id: I795d1ebef26428561eb7307e5a84efdc50343cb7
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
8 years agoBUG7318: ETREE ODL learning leaf MACS on wrong tag 69/50369/2
David Goldberg [Mon, 9 Jan 2017 16:44:23 +0000 (18:44 +0200)]
BUG7318: ETREE ODL learning leaf MACS on wrong tag

Change-Id: I1d65f6d70054eb4d48e6c0b1d158e9104b0c92d4
Signed-off-by: David Goldberg <gdavid@hpe.com>
8 years agoBug 7520: Avoid creating auto-tunnels for VLAN tenant networks 74/50374/1
Sridhar Gaddam [Wed, 11 Jan 2017 06:42:27 +0000 (12:12 +0530)]
Bug 7520: Avoid creating auto-tunnels for VLAN tenant networks

Currently auto-tunnel code of Netvirt is creating a Transport zone with
vteps even for tenant VLAN networks. This patch updates the code to create
the TZ only if the network type is VxLAN.

Change-Id: Iceeac4dc2dda99a41860d29f5d6f635f964b1a69
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
8 years agoBUG 7488: Autobridge overwrites DpnId if bridge already exists 37/50337/1
Vishal Thapar [Sun, 8 Jan 2017 10:34:19 +0000 (16:04 +0530)]
BUG 7488: Autobridge overwrites DpnId if bridge already exists

Change-Id: I49fcc00b116af84609e7f0654072a26f51fa6400
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
8 years agoBug-7363: Fix for Flows are overlapped when we add custom SG along with ANY rule. 41/49741/4
VinothB [Thu, 22 Dec 2016 19:15:24 +0000 (00:45 +0530)]
Bug-7363: Fix for Flows are overlapped when we add custom SG along with ANY rule.

  *Added reg match condition to avoid flow overlapping issue in other_protocols

Change-Id: Iea12c93a64b418a7e0028359ca54473bac76077b
Signed-off-by: VinothB <vinothb@hcl.com>
8 years agoUse Developer Guide text in place of Documentation 15/50315/1
Sam Hague [Wed, 11 Jan 2017 18:44:56 +0000 (13:44 -0500)]
Use Developer Guide text in place of Documentation

Change-Id: I8ae9301af107f38d20ec0e0307d542eb5016335a
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoUpdates to NetVirt docs from some user feedback 46/50246/3
Sam Hague [Tue, 10 Jan 2017 21:50:22 +0000 (16:50 -0500)]
Updates to NetVirt docs from some user feedback

Change-Id: I0f2ce58052d921813b1ae75530aa58eca4cd919d
Signed-off-by: Alon Kochba <alonko@hpe.com>
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoAdd basic initial docs for new layout 45/50245/3
Sam Hague [Tue, 10 Jan 2017 21:22:24 +0000 (16:22 -0500)]
Add basic initial docs for new layout

Change-Id: Ib6588368370f349e6695faa463cd3c847b2921f9
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoUpdate specs template 44/50244/3
Vishal Thapar [Fri, 16 Dec 2016 06:50:37 +0000 (12:20 +0530)]
Update specs template

1. Removed TODO
2. Added useful links
3. Added Table of Contents

Change-Id: I95438e43e09cb16c047d5a4f90ad8473a7d0ebe1
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
8 years agoInitial layout for NetVirt docs migration 43/50243/3
Sam Hague [Wed, 14 Dec 2016 22:44:59 +0000 (17:44 -0500)]
Initial layout for NetVirt docs migration

Adding placeholder doc indexes so that the docs project can link
tonetvirt.

Change-Id: Ieb7109217d6d05b31a7d3f287df65441ece83293
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoAdded Creative Commons attribution 42/50242/3
Andre Fredette [Tue, 15 Nov 2016 23:43:35 +0000 (18:43 -0500)]
Added Creative Commons attribution

As is found in the OpenStack templates.  E.g., [1]

[1] https://raw.githubusercontent.com/openstack/openstack-specs/master/template.rst

Note: I believe this is requrired, and will satisfy the copyright
question, but this should be verified.

Change-Id: I8534105578160c8d453712d2e7e92f78ec86f05f
Signed-off-by: Andre Fredette <afredette@redhat.com>
8 years agoUpdate specs-template 41/50241/3
Vishal Thapar [Thu, 10 Nov 2016 08:47:13 +0000 (14:17 +0530)]
Update specs-template

1. Move instructions to comment to avoid getting generated in output.
2. Adds ODL Documentation Style guide to specs_template.

Change-Id: I7e61492be2e06a43ce4930f68a2cacce4465ab01
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
8 years agoAdd link to specs 40/50240/3
Sam Hague [Fri, 11 Nov 2016 17:09:57 +0000 (12:09 -0500)]
Add link to specs

Change-Id: Idb31c16111eb6ce00554234bab7e104a5a996f5a
Signed-off-by: Sam Hague <shague@redhat.com>
8 years agoAdd template for design spec documents 39/50239/3
Vishal Thapar [Fri, 4 Nov 2016 04:51:48 +0000 (10:21 +0530)]
Add template for design spec documents

Netvirt is going to use OpenStack style blueprint spec document
to capture and review any new feature coming in. This patch adds
a template to be used for any new feature's spec.

Change-Id: I76e6d08d6424ffbfbb2ed9a3aeffed5809981bee
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
8 years agoBUG7339:EtreeLeafBG isn't updated with new remotes 05/50205/2
David Goldberg [Sun, 11 Dec 2016 15:14:51 +0000 (17:14 +0200)]
BUG7339:EtreeLeafBG isn't updated with new remotes

Change-Id: I8d60dd51dc74828ac5b72d8eca66527d2aad029f
Signed-off-by: David Goldberg <gdavid@hpe.com>
(cherry picked from commit 2b1d8a9f553e5017f872ba4cd023031777ac9ac3)

8 years agoBug 7476: Configure Reachable Time in IPv6 Router Advt 02/50202/2
Sridhar Gaddam [Fri, 6 Jan 2017 15:55:18 +0000 (21:25 +0530)]
Bug 7476: Configure Reachable Time in IPv6 Router Advt

Currently, ODL IPv6 Router does not specify the "Reachable Time" in the
Router Advts. So, Neighbor unreachability detection algorithm in the
hosts use the default value of REACHABLE_TIME (i.e., normally 30 seconds)
which is distributed with a random factor between MIN_RANDOM_FACTOR (.5)
and MAX_RANDOM_FACTOR (1.5).

In this patch, we configure "Reachable Time" to two minutes to reduce the
number of Neighbor Solicitation messages in the tenant network. In a future
patch, we can make this a configurable value.

Change-Id: Icd40d51d9ec9e34306c1d05fdaa7348fb25ad302
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
(cherry picked from commit 42c69470f168b949dbea5b24ce94e7907c0b3b2f)

8 years agoRemove unnecessary page headings 38/50238/2
Thanh Ha [Fri, 4 Nov 2016 14:14:04 +0000 (10:14 -0400)]
Remove unnecessary page headings

Otherwise "Indices and tables" will appear in the list of documentation
on the main docs.opendaylight.org page.

Change-Id: Id2433e24c28e8d66dcf2be9a00c98567d61499da
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoRemove unneeded code from VpnUtil 83/49283/3
Alvaro Gonzalez ARROYO [Mon, 12 Dec 2016 15:53:30 +0000 (16:53 +0100)]
Remove unneeded code from VpnUtil

- Use getOperativeDPNs() from NwUtil and remove same function
  from VpnUtil.
- Remove pickRandomDPNs() from VpnUtil.
- Remove buildDpnNode() from VpnUtil.

Change-Id: I75c6de1fa295b4b849625056759180bd358ba9b4
Signed-off-by: Alvaro Gonzalez ARROYO <alvaro.gonzalez.arroyo@ericsson.com>
8 years agoBug 7403 : getl3vpn RPC behavioural issues 56/49956/2
Abhinav Gupta [Mon, 19 Dec 2016 10:26:46 +0000 (15:56 +0530)]
Bug 7403 : getl3vpn RPC behavioural issues

Following issues are fixed wrt getL3VPN RPC:

1. When fetches all VPNs and none is present, incorrectly shows error. >>
should display success

2. When all VPNs are deleted after being created, and then the RPC is used
to fetch for all VPNs and none is present, shows success by processing
wrongly. >> logic needs to be hardened.

3. when all VPNs are fetched, vlan-provider implicit VPNs should not be
displayed.

4. When specific VPN is fetched, internal VPNs corresponding to routers
should not be displayed.

5. When specific VPN is fetched, vlan-provider implicit VPNs should not be
displayed.

Change-Id: Ic08bd2fb5b1558e036531e7613e881a42adfd9b1
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
8 years agoBug 7355: Remove Vrf Entries in a single transaction 99/49299/3
Alvaro Gonzalez ARROYO [Mon, 12 Dec 2016 11:43:40 +0000 (12:43 +0100)]
Bug 7355: Remove Vrf Entries in a single transaction

Make removeVrfEntries() and removeVrfEntriesByOrigin()
methods to remove Vrf entries in one single transaction
instead of several transactions, one per Vrf entry
to be removed.

Change-Id: I5408c100c17e2f61f41c1f0b754dd38f7b9917fa
Signed-off-by: Alvaro Gonzalez ARROYO <alvaro.gonzalez.arroyo@ericsson.com>
8 years agoBug 7406: The flows are overridden. 52/49852/7
vinoth [Thu, 29 Dec 2016 17:16:10 +0000 (22:46 +0530)]
Bug 7406: The flows are overridden.

Problem:
The flows are overriddern when multiple router
connect with same external network, due to this
the ping was not succeed in first created router.

Use cases:
* Fix the override problem when connect multiple routers
  with same external network.
* The flows were properly create and delete
   the multiple VLAN external networks.
* The ping was success all the test cases
  for multiple VLAN external networks.

Change-Id: If521912e0a042fac066855c1e045af91c19bd7b6
Signed-off-by: vinoth <m.vinoth@hcl.com>
8 years agoBug 7393: Flows are not getting removed from table:20 and table:90 48/49848/7
hari.pr [Thu, 29 Dec 2016 15:01:34 +0000 (20:31 +0530)]
Bug 7393: Flows are not getting removed from table:20 and table:90

    * Fixed code for removing table#20 flows removal in DistributedArpService.
    * Added code for removing table#90 flows removal in SecurityServicesImpl.

Change-Id: I002a245b4cabda190e14eaaa30d7b8c0356056bf
Signed-off-by: hari.pr <hari.pr@hcl.com>
8 years agoAdd Docs for netvirt 37/50237/1
Vishal Thapar [Fri, 4 Nov 2016 05:41:42 +0000 (11:11 +0530)]
Add Docs for netvirt

This patch just initializes sphinx for netvirt.

Refer: https://git.opendaylight.org/gerrit/#/c/39142/

Change-Id: Idd3bd2c1a78e9e19d3a783758ab43d188d50f67f
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
8 years agoBug 7496: Errors and exceptions handling 27/50127/2
Olga Schukin [Wed, 4 Jan 2017 07:59:53 +0000 (09:59 +0200)]
Bug 7496: Errors and exceptions handling

Add fixes of the following problems:
1) TransactionCommitFailedException{message=Data did not pass validation., ...
   router-to-vpn-mapping/routermapping does not exist. Cannot apply modification to its children.]]}
at org.opendaylight.genius.mdsalutil.MDSALUtil.syncDelete(MDSALUtil.java:571)
at org.opendaylight.netvirt.natservice.internal.RouterPortsListener.remove(RouterPortsListener.java:93)

2) Exception in thread "..." java.lang.NullPointerException
at org.opendaylight.netvirt.natservice.internal.ExternalNetworkGroupInstaller.installExtNetGroupEntries(ExternalNetworkGroupInstaller.java:79)

3) Exception in thread "..." java.lang.RuntimeException: java.lang.IllegalArgumentException: All keys must be specified for class
   org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.dpn.interfaces.elan.dpn.interfaces.list.DpnInterfacesKey.
   Missing key is getDpId. Supplied key is DpnInterfacesKey []
at org.opendaylight.netvirt.elan.utils.ElanUtils.read(ElanUtils.java:299)
at org.opendaylight.netvirt.elan.utils.ElanUtils.getElanInterfaceInfoByElanDpn(ElanUtils.java:501)

4) Exception in thread "..." java.lang.NullPointerException
at org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.update(VpnInterfaceManager.java:1243)

5) ERROR | Port Info Config DS to set isFloatingIpDeleted flag as true failed with exception java.lang.IllegalArgumentException:
   All keys must be specified for class
   org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.floating.ip.port.info.FloatingIpIdToPortMappingKey.
   Missing key is getFloatingIpId. Supplied key is FloatingIpIdToPortMappingKey []

6) Exception in thread "..." java.lang.NullPointerException
at org.opendaylight.netvirt.neutronvpn.NeutronvpnManager.removeL3Vpn(NeutronvpnManager.java:1486)

7) Exception in thread "..." java.lang.NullPointerException
at org.opendaylight.netvirt.natservice.internal.NatUtil.getSubnetIpAndPrefix(NatUtil.java:953)

Change-Id: I91053bc78623c68e530f705ee1795d964839df19
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
(cherry picked from commit a85a20daa0342ba7c65f365132a245d3cf82656c)

8 years agoScalability of ServiceChainTag 86/50086/2
Ankit Tripathi [Thu, 22 Dec 2016 07:02:40 +0000 (12:32 +0530)]
Scalability of ServiceChainTag

Presently scftag is stored in 8 bits of metadata. Now we are using ovs
register so that 31 bits can be used.

Change-Id: I4debf8d0d649e789f67e2db9d24c146b5d005bd2
Signed-off-by: Ankit Tripathi <ank123it@gmail.com>
8 years agoBug 7447: Unexpected flows from T21 to T44 for FIP 10/50110/2
Olga Schukin [Mon, 2 Jan 2017 08:47:04 +0000 (10:47 +0200)]
Bug 7447: Unexpected flows from T21 to T44 for FIP

The incorrect rules were installed due to not updated DS models

Change-Id: I80b3872c28bc560801e376a158710df70008a2e8
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
8 years agoBug 7358 - Inter-VPN traffic is drop when out_port == in_port 84/49884/2
Marcos López Samaniego [Tue, 13 Dec 2016 16:09:36 +0000 (17:09 +0100)]
Bug 7358 - Inter-VPN traffic is drop when out_port == in_port

Set the in_port field to 0 in table 21 only in this scenario:
- port of type tunnel mpls AND for all BGP only routes

NOTE: This code is already in beryllium. Needed in boron/master.

Change-Id: I9afef768fb0a4c71d9fe4de6bff854aa8f9f7028
Signed-off-by: Marcos López Samaniego <marcos.lopez.samaniego@ericsson.com>
8 years agoBug 7382: NPE while getting the napt primary-switch-id 11/50111/1
Olga Schukin [Thu, 15 Dec 2016 10:40:24 +0000 (12:40 +0200)]
Bug 7382: NPE while getting the napt primary-switch-id

Change-Id: I4739695316afca25b0fbe154700000c7f68b3e1b
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
8 years agoBug 7229: Allow certain ICMPv6 NDP packets by default 82/50082/2
Sridhar Gaddam [Fri, 23 Dec 2016 12:20:34 +0000 (17:50 +0530)]
Bug 7229: Allow certain ICMPv6 NDP packets by default

This patch programs OVS flows to allow ICMPv6 egress packets (from VM POV)
of type 133(RS), 135(NS) and 136(NA). Prior to this patch, these packets
were going through the conntrack module (in stateful implementation) and
were getting dropped as there was an inconsistency in the ct_state between
kernel and user-space conntrack implementations. After discussing this issue
with OVS team, the recommendation was to bypass conntrack for the ND packets.

Conflicts:
vpnservice/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/tests/FlowEntryObjects.xtend
vpnservice/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/tests/FlowEntryObjectsBase.xtend
vpnservice/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/tests/FlowEntryObjectsStateless.xtend

Change-Id: I1a74046056bd683a71237c7d8ab8ab4606f29a96
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
(cherry picked from commit bc10bd5647b98589703958d324de1cffb98215c0)

8 years agoBug 7423: Clean unnecessary leaked flows and fibEntries 74/50074/2
Miguel Perez [Wed, 21 Dec 2016 17:50:51 +0000 (18:50 +0100)]
Bug 7423: Clean unnecessary leaked flows and fibEntries

 + Method 'leakExtraRoutesToVpnEndpoint' had been deprecated by method
   'handleStaticRoutes' but hadn't been 'switched off', so we had
   similar code being executed twice.

Change-Id: I09a3b4e97c26137e8a4dbf593bea403f92428ae9
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
8 years agoBug 7448 - External network recreation fails in newton nodl v2 68/49968/2
Tali [Tue, 27 Dec 2016 12:07:54 +0000 (14:07 +0200)]
Bug 7448 - External network recreation fails in newton nodl v2

Network delete in newton/networking_odl v2 resets some provider_attributes
prior to delete using a network-update.
This patch handles that update() by dealing with removing vpninterfaces on the external network.
For the case of network delete no new elements will be deleted as the physical network
is not configured

Change-Id: I4932610316c9445934334bb2211378b507b018f7
Signed-off-by: Tali <tali.ben-meir@hpe.com>
(cherry picked from commit 2f7afa46ba2849e31f1d84f094a61cc67c0e496b)

8 years agoBug 7340: overwritten rule in T28 for multi-tenant 10/50010/2
Olga Schukin [Wed, 14 Dec 2016 08:26:53 +0000 (10:26 +0200)]
Bug 7340: overwritten rule in T28 for multi-tenant

Root cause: the key used in the model was including the
internal IP (which is common to the two VMs in the multi-tenanted
environment) instead of the floating IP which is unique.

Fix: build the flow key in the same way as the rule match

Change-Id: Id1b7d8c80f58e42609fa6e279dbca5f95f1639e6
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
(cherry picked from commit 49181f61ca007d6cfd1b271e0d3040f97df2f981)

8 years agoBug: 7422 Resolve checkstyle errors 78/50078/2
Janki [Wed, 21 Dec 2016 15:07:56 +0000 (20:37 +0530)]
Bug: 7422 Resolve checkstyle errors

Fix checkstyle errors at multiple places

Change-Id: I94d424dd9ee773ba65f4c31e51642e3c800c873a
Signed-off-by: Janki <jchhatba@redhat.com>
8 years agoBUG:7426 Adding elantag along with mac-address as key to synchronized block 53/49953/3
epgoraj [Thu, 22 Dec 2016 10:40:17 +0000 (16:10 +0530)]
BUG:7426 Adding elantag along with mac-address as key to synchronized block

Change-Id: I7d9e677ec071730233b925f9eec0652285cb42a2
Signed-off-by: epgoraj <p.govinda.rajulu@ericsson.com>
8 years agoBug 7444 : External routes are not getting populated 02/49902/2
karthikeyan [Tue, 27 Dec 2016 06:05:11 +0000 (11:35 +0530)]
Bug 7444 : External routes are not getting populated

Description:
External routes are not getting populated in fib after recreating vpn and
associating to extnet as well as enable-snat true or false use cases

Solution:

Existing Behaviour:
======================
when disable the SNAT in neutron router, exiting implementation
will get the primary (NAPT) switch id from the DS. When re-enable the
SNAT existing code still it is fetching the primary (NAPT) switch id from
DS. Which leads to get the invalid value (zero) which was set during
disable SNAT.

Changed Behaviour:
====================
When re-enable the SNAT, it invokes the Update() code for re-election process for
getting primary (NAPT) switch id instead of directly querying to DS. Since
DS contains the Invalid (zero) Primary NAPT switch id.

Patch-Set 3: Changes:
==========================
Observed class cast exception when floatingIPHandler.cleanupFibEntries()
method. Changes has been done to declare this method in FloatingIPHandler
Interface to avoid this casting exception.

Change-Id: I8c5cf5fafc79f9933fedbbaad31d9c672696421e
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
(cherry picked from commit 4131f6bb123d53712e91bd892e8af7f96b477f00)

8 years agoBug 7463: nexthop in leaked routes is wrongly set 75/50075/2
Miguel Perez [Fri, 30 Dec 2016 11:39:53 +0000 (12:39 +0100)]
Bug 7463: nexthop in leaked routes is wrongly set

 + It is being set as nexthop the String representation of
   the Ipv4Address object instead of the value of the Ipv4Address as
   a String

Change-Id: Ife91ac823709a80c88b8aacaa03451f2ecac8831
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
8 years agoBug 6866 - missed NAPT rules for second router 04/50004/2
Olga Schukin [Wed, 21 Dec 2016 07:55:44 +0000 (09:55 +0200)]
Bug 6866 - missed NAPT rules for second router

Fix the race causing missed NAPT rules while the router creation.

Depends-On: https://git.opendaylight.org/gerrit/49420/

Change-Id: Ica0db89a5de8800090c7cdfc38a0bab2ad1bf12c
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
(cherry picked from commit 1915fd2063b17a1a330e31fa97b3de0112eca3e1)

8 years agoBug 7142 - all VpnPortIpToPort entries are lost from ODL cache after 09/50009/2
Gobinath [Fri, 4 Nov 2016 02:31:35 +0000 (08:01 +0530)]
Bug 7142 - all VpnPortIpToPort entries are lost from ODL cache after
reboot.

As part of this fix we ensure that control path information mapping
a vpn to fixed-neutron-port (gleaned from openstack configuration by
the tenant) is persistently retained inside Config Datastore and so
it will be accessible immediately after ODL cluster reboot.

In addition to that we created a new Operational DS that will
hold discovered IPs from the cloud. In more detail, this review
encompasses:

1. Create a new LearntVpnVipToPort OPERATIONAL Datastore which
will contain discovered IP addresses via GARP/ARP responses.

2. The existing NeutronVpnPortIpToPort will be changed as a pure Config
only Datastore as it will store all Neutron Port and their IP and
MAC Addresses.  This datastore will continue to be used
for lookup during ARP resolution and SubnetRoute handling.

3. Decoupling of the mymac changes(subnetMac) from Arp cache feature.
Mymac changes would still be listening to the VpnPortipToPort DS.

4. The ArpNotificationHandler would now modify the LearntVpnVipToPort DS which
the ArpMonitoringHandler would listen to.

The feature which initiates periodic ARP-based location discovery of
non-neutron IPs from the controller brought in via the earlier review
here: https://git.opendaylight.org/gerrit/#/c/45410/

Co-Authored-By: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Change-Id: Ic96517f4a57fe547d42495274a74ec5aa32b7d9e
Signed-off-by: Gobinath <gobinath@ericsson.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
(cherry picked from commit 4c03872b35d29da2066e8924f8ffcf7337f6a599)

8 years agoBug 7321: ELAN Pseudo-port flows not installed on new DPNs 25/49425/4
Miguel Perez [Wed, 7 Dec 2016 11:23:39 +0000 (12:23 +0100)]
Bug 7321: ELAN Pseudo-port flows not installed on new DPNs

 + Stateful info about the Elan for cloud-sc was being stored in
   CONFIG but it was trying to read it from OPERATIONAL

 + I took the chance of migrating it from AbstractDataChangeListener
   to AsyncDataTreeChangeListener since the former is deprecated. This
   change seems to fix the problem and now the listener is getting the
   DCNs

Change-Id: Ib5b4fad79d7557a9a8d2805fe84f5c42087c51ad
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
(cherry picked from commit 66245b390c32c179c8293377bcc94c74c0a479c7)

8 years agoBug 7439: Discard internal VPNs for InterVpnLink purposes 83/49883/2
Miguel Perez [Tue, 20 Dec 2016 15:04:02 +0000 (16:04 +0100)]
Bug 7439: Discard internal VPNs for InterVpnLink purposes

 + At InterVpnLink creation, the code must check if there is any
   router with a static route pointing to any of InterVpnLink
   endpoints. For each router, the VPN to which the router is
   attached must be retrieved. However, internal VPNs must be
   discarded here.

Change-Id: I9763bf5187fae41d21be1757b49534435ba35071
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
8 years agoBug 7409 - Traffic Drop from NFip VM to FIP VM 82/49882/3
cgowdru [Wed, 21 Dec 2016 13:12:32 +0000 (18:42 +0530)]
Bug 7409 - Traffic Drop from NFip VM to FIP VM

Description : when an Non-FIP VM try to reaches FIP, the packet is
forwarded to the DPN1->DPN2 and DPN2(Primary-NAPT) has the SNAT flows.
After going though the SNAT flows, the packet will be sent back to
DPN1 via same vxvlan tunnel-port .

Since the packet entered DPN2 on Tunnel-port and again sent back to same
port(out_port == in_port), because of default OVS split-horizon behaviour
, the packet is dropped.

Changes done in NAPT_PFIB(47) table to add extra action
(load:0->NXM_OF_IN_PORT[]) which nullifes the in_port value thereby
disabling split-horizon-protection.

Change-Id: I7cf80527587114812af992e8c23f88c1164fc9f5
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
(cherry picked from commit c508fb6cf9be5b01f33e3b92461ab31e916fc7c2)

8 years agosubnet-op-data and port-op-data is empty after cluster reboot 55/49955/2
Suraj Ranjan [Mon, 14 Nov 2016 10:53:10 +0000 (16:23 +0530)]
subnet-op-data and port-op-data is empty after cluster reboot

Change-Id: If7e0b5d3109c53eb58505e69a389d15d2f7a6d1e
Signed-off-by: Suraj Ranjan <suraj.ranjan@ericsson.com>
(cherry picked from commit 3beb9903a1b344f90fb059ed2efad5691e790388)

8 years agoBug 7377, Bug 7383: handling unnecessary error log 11/50011/1
Periyasamy Palanisamy [Tue, 20 Dec 2016 09:47:37 +0000 (15:17 +0530)]
Bug 7377, Bug 7383: handling unnecessary error log

* There is no need of quering ElanInterface from config DS since
its reference is already part of the method argument
* Due to faster addition/removal of elan interface, elan interface is deleted
when its queried from installEntriesForElanInterface which caused 7377.
Now this is solved by directly passing elanInterface without querying
config DS.
* potential fix 7383 if mac is already deleted in elan-mac container.
This might occur when same mac is learned again on VLAN provider port

Change-Id: I7ed776a3b9a679ee22427b6f13e5e1a9adce57aa
Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
(cherry picked from commit b4c8027e430521030b37cfde799f42b0228ba4dd)

8 years agoBug 7260: no rules in table 26 for default route 19/49419/2
Olga Schukin [Tue, 13 Dec 2016 05:53:40 +0000 (07:53 +0200)]
Bug 7260: no rules in table 26 for default route

* the model of router gateway wasn't written to mdsal due to NPE
* fix the race cond when add router gateway port done after handling ext network for this router

Change-Id: Ide2e5d6bb8e90d1d13effb8456aeaed395c9675a
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
8 years agoBUG 7359: duplicate local broadcast group backets 17/49417/2
David Goldberg [Wed, 14 Dec 2016 08:12:41 +0000 (10:12 +0200)]
BUG 7359: duplicate local broadcast group backets

In a setup with more than two switches, when creating a network with one
port on each switch, sometimes the remote broadcast group has more than
one bucket directing to the local broadcast group.
because the list was initiated outside the for loop of the switches, the
local brodcast bucket was added to it more than once, hence the
duplication.

Change-Id: Ifa1decd5b238f45f97770e03eb10bd781c24cbfc
Signed-off-by: David Goldberg <gdavid@hpe.com>
8 years agoBumping versions by 0.0.1 for next dev cycle 02/49602/1
Anil Belur [Tue, 20 Dec 2016 04:18:47 +0000 (14:18 +1000)]
Bumping versions by 0.0.1 for next dev cycle

Change-Id: I06dcd7290b953a98ef11f616cd4dbe8fdec419ab
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
8 years agoBug 7368: VPN Engine unable to process external interfaces 85/49385/1
Vivekanandan Narasimhan [Wed, 14 Dec 2016 17:46:09 +0000 (23:16 +0530)]
Bug 7368: VPN Engine unable to process external interfaces

The external network interfaces were not serviced by
VPNEngine due to an NPE that came in via review [1].

Here we fix that NPE and in addition to that
optimize code in VPNEngine to reduce MD-SAL reads.

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

Change-Id: Ife0091b2bdd6674cc994aca084a9641e81a670ea
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
8 years agoBug 7343 - NETVIRT Boron Autorelease Breaking 56/49256/1
Sam Hague [Mon, 12 Dec 2016 16:56:41 +0000 (11:56 -0500)]
Bug 7343 - NETVIRT Boron Autorelease Breaking

Change-Id: I296cf0590377361832af80772a05560e451c66d0
Signed-off-by: Sam Hague <shague@redhat.com>