netvirt.git
5 years agoBGP Minor fixes 08/75308/2
Vyshakh Krishnan CH [Sun, 19 Aug 2018 11:14:34 +0000 (16:44 +0530)]
BGP Minor fixes

Fix to :

1. set more bits when lot of routes are synced from QBGP
2. handle entity owener ship correctly

Change-Id: If0297b665e3ddc4f835f437bb27173aa9750a154
Signed-off-by: Vyshakh Krishnan CH <vyshakh.krishnan.c.h@ericsson.com>
5 years agoAdd ARP Check Table in doc 05/75405/2
Faseela K [Thu, 23 Aug 2018 07:50:54 +0000 (13:20 +0530)]
Add ARP Check Table in doc

Change-Id: I6c26bba9cf875bba9cca8672d3ac87832392be62
Signed-off-by: Faseela K <faseela.k@ericsson.com>
5 years agoFix issue in natservice with IPv6 VxLAN tunnels 37/75237/3
Sridhar Gaddam [Thu, 16 Aug 2018 11:46:13 +0000 (17:16 +0530)]
Fix issue in natservice with IPv6 VxLAN tunnels

When using IPv6 VxLAN tunnels along with SNAT Conntrack mode,
we have seen that use-cases like SNAT and FIP are not working
due to an exception in natservice leading to some missing flows.
This patch fixes this issue.

Issue: NETVIRT-1401

Change-Id: I2c9ced7290ef488ecbfc485245a384fd95071dd6
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
5 years agoDatastore-constrained txes: elanmanager 26/74026/8
Stephen Kitt [Fri, 13 Jul 2018 15:57:42 +0000 (17:57 +0200)]
Datastore-constrained txes: elanmanager

Change-Id: I92faf670c930604761fbe3506f20c1e5af7a9e21
JIRA: NETVIRT-1339
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoHandle exceptions in BgpRouteVrfEntryHandler 98/74898/3
eceghkl [Wed, 18 Jul 2018 05:47:53 +0000 (11:17 +0530)]
Handle exceptions in BgpRouteVrfEntryHandler

* Executor service is not handling any new task after the exception.
* Fix is added to handle the exception properly.
* Added more TRACE logs are added for data collection

Change-Id: I8496ec9d45cdf25288be5638a82610c7e2049f20
Signed-off-by: eceghkl <manu.b@ericsson.com>
5 years agoECMP code changes for handling itm-direct feature 99/74899/3
eceghkl [Wed, 18 Jul 2018 14:05:08 +0000 (19:35 +0530)]
ECMP code changes for handling itm-direct feature

* ECMP select group doesn't contain remote buckets
* Tunnel operstate was queried earlier from interface state
* Moving it to tunnel state from itm

Change-Id: Ic76db803359c07782f0551641a6ea277c6c58f3e
Signed-off-by: eceghkl <manu.b@ericsson.com>
5 years agoTroubleshoot netvirt datapath 08/74808/13
Faseela K [Fri, 3 Aug 2018 18:29:51 +0000 (23:59 +0530)]
Troubleshoot netvirt datapath

Adding a document which can help people debug
the netvirt datapath in case of any failures in the deployment.
This is a WIP, and requires inputs from all of the netvirt
contributors, so that we can have a detailed description
on making debugging easier.

Change-Id: Ic13b0df295ad69f996c58a81aa8189391e81158a
Signed-off-by: Faseela K <faseela.k@ericsson.com>
5 years agoRemove references to mdsal-model-artifacts 25/75125/1
Robert Varga [Sat, 11 Aug 2018 07:50:33 +0000 (09:50 +0200)]
Remove references to mdsal-model-artifacts

This artifact is going away, migrate to mdsal-artifacts.

Change-Id: Iba4e578bc59c298872c1ca98b25912a8b4aa0ce0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoCOE external ip ping failure 22/74922/8
Faseela K [Tue, 7 Aug 2018 15:25:12 +0000 (20:55 +0530)]
COE external ip ping failure

JIRA: NETVIRT-1396

Change-Id: Ib2d1ce72f2382978b132aaeaab90e4156e9de98b
Signed-off-by: Faseela K <faseela.k@ericsson.com>
5 years agoBump versions by x.(y+1).z for next dev cycle 96/74996/1
Anil Belur [Thu, 9 Aug 2018 12:40:15 +0000 (18:10 +0530)]
Bump versions by x.(y+1).z for next dev cycle

Change-Id: Ia07cd2f52a89dab5e230cd56ba762eb28c3f3c87
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
5 years agoNAT failure due to Napt Switch-Over not happened 55/71655/14
xcheara [Mon, 23 Apr 2018 05:41:26 +0000 (11:11 +0530)]
NAT failure due to Napt Switch-Over not happened

Description :
Whenever a last VM part given VRF is deleted/migrated, it is required
to delete 'dpn-vpninterfaces-list' entry for given dpn-id from
'odl-l3vpn:neutron-router-dpns' Operational DS. This trigger
re-election of new Napt Switch which has VRF presence. But, when 2
VMs part of same VRF on a same DPN deleted simultaneously, then
there are chances that both of these event doesn't delete
'dpn-vpninterfaces-list' entry for the DPN which results in
non-triggering on new Napt Switch election. As a
result, the SNAT reverse traffic initiated from Non-Napt Switch
fail as FIB routes will not be available to carry back traffic
to non-napt switch.

Solution: Changes are done to make sure the 'dpn-vpninterfaces-list'
entry for DPN is deleted properly when last VM on that DPN is deleted
for a given VRF.

Issue : NETVIRT-1221

Change-Id: Idaebd8576762d12639d7bfbc26a89af94de4e991
Signed-off-by: xcheara <chetan.arakere@altencalsoftlabs.com>
5 years agoController based SNAT traffic fail after upgrade 97/72197/15
Shaik Zakir [Wed, 23 May 2018 13:02:52 +0000 (18:32 +0530)]
Controller based SNAT traffic fail after upgrade

Description: It's been observed certain below NAT config DS are not
populated properly during upgrade resulting in SNAT traffic failure.

1. ext-vpn missing in external-networks.
2. router-id-name data missing.

Changes are done to update the above NAT DS properly during upgrade.

Issue: NETVIRT-1280

Change-Id: Idfd1e4a44c646bedc15f0c3e24401418065feda0
Signed-off-by: shaik <shaik.b@altencalsoftlabs.com>
5 years ago21->26 flow missing for NAT use case 70/74770/1
shaik [Thu, 2 Aug 2018 14:55:26 +0000 (20:25 +0530)]
21->26 flow missing for NAT use case

Description
-----------
21->26 flow is missing with the below use case

Use case :

1. create network
2. create subnet
3. create vm
4. create router
5. add subnet to router
6. create external network and subnet
7. create external bgpvpn
8. associate external bgpvpn to external network
9. openstack router set router1 --external-gateway myextnet10
       --disable-snat
10. openstack router set router1 --external-gateway myextnet10
       --enable-snat

Notice that the 21->26 flow is missing

Changes are done to install the 21->26 flows when we disable and
enable SNAT

Issue : NETVIRT-1294

Change-Id: I39a2b4d20aec4694aa269c334dc5635e7d7acd7e
Signed-off-by: shaik <shaik.b@altencalsoftlabs.com>
5 years agoLoosen DataObjectModification collection return 26/74726/3
Robert Varga [Wed, 1 Aug 2018 09:53:58 +0000 (11:53 +0200)]
Loosen DataObjectModification collection return

This allows the contract to be loosened so we can do type-safety
in implementation of DataObjectModification.

Change-Id: I6261a60fa2dfc3f0fcbc7e963dbbe7263375a6ea
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoRemove app-config-pusher feature dependency 02/74702/2
Faseela K [Tue, 31 Jul 2018 18:51:37 +0000 (00:21 +0530)]
Remove app-config-pusher feature dependency

This openflowplugin feature is not used by netvirt.

Change-Id: Ie2b9f972304d30af9dbd20da1518c7a42ba711fd
Signed-off-by: Faseela K <faseela.k@ericsson.com>
5 years agoDatastore txes : fibmanager 87/73887/9
Stephen Kitt [Tue, 10 Jul 2018 11:59:52 +0000 (13:59 +0200)]
Datastore txes : fibmanager

This switches fibmanager to datastore-constrained transactions, except
where they conflict with the resource batching manager.

This requires Ic63fd992b33e9e1cd4049bc129545a9830b7a8c0.

JIRA: NETVIRT-1340
Change-Id: Ia766e6089ed3fd8b70f0a3f03e636ac1000c2cbb
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoException Handling in UpgradeStateListener 19/74619/2
xcheara [Sun, 29 Jul 2018 10:23:15 +0000 (15:53 +0530)]
Exception Handling in UpgradeStateListener

Change-Id: I8bf268e8392b9f7b3902de318833729f3dfca4f4
Signed-off-by: xcheara <chetan.arakere@altencalsoftlabs.com>
5 years agoPrefix to interface d.s not cleared 80/74180/6
nithi thomas [Tue, 10 Jul 2018 10:01:00 +0000 (15:31 +0530)]
Prefix to interface d.s not cleared

Issue:
======
Stale flows not removed for many data stores .
Stale entries were not removed for prefix-to-interface d.s
because of which dependent vpn related d.s were not cleared.

Analysis:
=========
Prefix-to-interface was wrongly getting deleted from
removePrefixToInterfaceAdj() in updtae() in VpnInterfaceManager.java
because of which in cleanUpOpDataForFib() ,prefixinfo was null and the
respective calls to delete prefix-to-interface and vpn-interace-op-data
was getting missed.
         Removed the call removePrefixToInterfaceAdj().

Issue: NETVIRT-1223

Change-Id: Id892b033014606e6c451cb2c5644d839ec2da5ac
Signed-off-by: nithi thomas <nithi.t@altencalsoftlabs.com>
5 years agoTraffic drop b/w DC-GW and VM 83/74583/3
Somashekar Byrappa [Fri, 27 Jul 2018 14:20:57 +0000 (19:50 +0530)]
Traffic drop b/w DC-GW and VM

Issue:
------
L3_LFIB_TABLE (20) flows were missing for the interfaces.

Fix:
----
Corrected if check to program L3_LFIB_TABLE flows in case of BGP-VPN.

Change-Id: I8fd26cc406e9ed04a315e56a51c91413367680c3
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
5 years agoRetain NAPT Switch after Upgrade for SNAT 62/72062/21
xcheara [Thu, 22 Mar 2018 07:19:31 +0000 (12:49 +0530)]
Retain NAPT Switch after Upgrade for SNAT

Test Scenario1: All OVS are connected back after upgrade.

1) Take the back-up of the Config DS and bring down the controller.
2) Disconnect OVS(by blocking port 6640 & 6653)
3) Upgrade ODL, set upgrade-flag=true and reload the config DS.
4) Start connecting back the OVS with first connecting non-napt
switches followed by Napt-Switches.
5) set upgrade-flag=false once all the OVS are connected by to ODL.
6) Verify earlier Napt Switches continues to work as Napt Switches
and all earlier on-going SNAT session and new sessions are not
impacted.

Test Scenario2: Few OVS(which are elected as Napt) are not
connected back after upgrade.

1) Take the back-up of the Config DS and bring down the controller.
2) Disconnect OVS(by blocking port 6640 & 6653)
3) Upgrade ODL, set upgrade-flag=true and reload the config DS.
4) Start connecting back the OVS with first connecting non-napt
switches and do not connect few OVS elected as Napt Switches earlier.
5) set upgrade-flag=false.
6) Verify a new Napt Switch is elected for those router whose Napt
Switches are not been connected back after upgrade.
7) Verify new SNAT sessions are established and earlier on-going SNAT
session gets migrated to newly elected Napt Switch.

JIRA: NETVIRT-1222

Change-Id: I194124596e987c43703be37707235a6c88c91013
Signed-off-by: xcheara <chetan.arakere@altencalsoftlabs.com>
Signed-off-by: shaik <shaik.b@altencalsoftlabs.com>
Signed-off-by: xcheara <chetan.arakere@altencalsoftlabs.com>
5 years agoClean up MDSALManager exception handling 29/74229/4
Stephen Kitt [Wed, 18 Jul 2018 16:24:34 +0000 (18:24 +0200)]
Clean up MDSALManager exception handling

Now that the MDSALManager interfaces have been updated, we can adjust
NetVirt to use the exceptions as declared instead of dealing with
Exception.

Change-Id: I4b41025f54f63a66a01b1f9b50d4f12918863289
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoBump to odlparent 3.1.3 01/74201/4
Stephen Kitt [Wed, 18 Jul 2018 16:06:41 +0000 (18:06 +0200)]
Bump to odlparent 3.1.3

Change-Id: I15b0586dbed9cec935ba8504a2e2f9beb7fd8593
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoAvoid duplicate processing code with events 35/74335/6
Stephen Kitt [Mon, 23 Jul 2018 12:43:50 +0000 (14:43 +0200)]
Avoid duplicate processing code with events

When we use event callbacks to react to the appearance of
currently-missing data, we might as well use that as the nominal flow
too: if the data is present, the event callback's underlying listener
will fire immediately, and the callback will be handled straight
away. This avoids duplicating code whenever an event callback is
used.

If performance testing reveals that fast paths are needed, we can
handle that centrally in the event callback mechanism, instead of
repeating it at every call site.

Change-Id: I49791d810946988c704a9cfe24297c977c1c8c84
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoRemove unused exceptions 61/74461/5
Stephen Kitt [Wed, 25 Jul 2018 14:48:13 +0000 (16:48 +0200)]
Remove unused exceptions

This drops exception declarations which are never used.

Change-Id: I754690dcd1aa17dcd9b56fb290dcf173d2f6fc08
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoVPN-to-Router Associate/Disas Performance Improve 54/74454/4
Karthikeyan Krishnan [Wed, 25 Jul 2018 13:47:48 +0000 (19:17 +0530)]
VPN-to-Router Associate/Disas Performance Improve

Addressing few review comments which got it
from existing merged patch[0].

[0]:https://git.opendaylight.org/gerrit/#/c/74317/

Issue: NETVIRT-1182

Change-Id: I98ca89e082c3f339e75b8de3f1ad2eb83cebfbbc
Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>
5 years agorm runtime logging change in QosAlertGenerator 96/74496/3
Michael Vorburger [Thu, 26 Jul 2018 10:59:31 +0000 (12:59 +0200)]
rm runtime logging change in QosAlertGenerator

JIRA: CONTROLLER-1845
Change-Id: I4b92254b0b47a718f9920166b5dbfc177cbf8dc7
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
5 years agoConntrack headers fails to parse. 88/74388/3
Aswin Suryanarayanan [Tue, 24 Jul 2018 11:17:11 +0000 (16:47 +0530)]
Conntrack headers fails to parse.

The extra headers added to the packet when it return from ovs after a
conntrack operation causes deserialization error when the packet is
punted to the controller.

Added ct_clear action once the packet is returned from conntrack in
table=47

table=47, n_packets=50, n_bytes=4887,
priority=6,ct_state=+snat,ip,metadata=0x30d40/0xfffffe
actions=load:0x30d48->OXM_OF_METADATA[0..23],
load:0->NXM_OF_IN_PORT[],ct_clear,resubmit(,21)

NETVIRT-1383 Traffic to the PNF from a VM without FIP fails(SNAT
conntrack)

Change-Id: Ib34109b7fe3c7aa1df105c8504394291031e68d6
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
5 years agoAdd support for official OVS NSH implementation 52/74352/2
Jaime Caamaño Ruiz [Wed, 6 Jun 2018 15:45:46 +0000 (17:45 +0200)]
Add support for official OVS NSH implementation

Change-Id: Id0adf67fa3e39da46d667efe1c0bc13c34c49443
JIRA: TSC-114
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
5 years agovpnmanager-impl compilation issue 42/74442/2
Somashekar Byrappa [Wed, 25 Jul 2018 07:26:38 +0000 (12:56 +0530)]
vpnmanager-impl compilation issue

Change-Id: I4fcd30bcc9aa6fcdd764efd7e65925e5afb72cc8
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
5 years agoFix exception in addSwitch 78/74378/2
Sridhar Gaddam [Tue, 24 Jul 2018 08:33:36 +0000 (14:03 +0530)]
Fix exception in addSwitch

In a fresh deployment when the first switch is
added to the controller and when there are no
neutron resources (like ExtRouters) are present,
the current implementation in addSwitch was
causing ExpectedDataObjectNotFoundException.
This patch fixes it by changing the syncRead
to syncReadOptional while querying the datastore.

Issue: NETVIRT-1382

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

5 years agoUse IetfYangUtils to canonize addresses 64/74364/2
Robert Varga [Mon, 23 Jul 2018 23:33:27 +0000 (01:33 +0200)]
Use IetfYangUtils to canonize addresses

IetfYangUtils provides optized utility methods for converting
Mac/PhysAddress to its canonical lower-case format. Use it wherever
possible. This prevents unnecessary object duplication.

Change-Id: I8f9361787e113023fc6e9fa660931698ff7250b2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoDo not bounce Ipv6Prefix through String 21/74321/7
Robert Varga [Mon, 23 Jul 2018 05:32:49 +0000 (07:32 +0200)]
Do not bounce Ipv6Prefix through String

Rather than converting IpPrefix to String and then back, just use
Ipv6Prefix.

Change-Id: I025dd968af44f54aaa752fd65bf953a291446675
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoUse IpAddress-based createHwvtepPhysicalLocator 20/74320/7
Robert Varga [Mon, 23 Jul 2018 05:07:13 +0000 (07:07 +0200)]
Use IpAddress-based createHwvtepPhysicalLocator

Use IpAddress-based createHwvtepPhysicalLocatorAugmentation()

This removes the need to de-encapsulate IpAddress string by retaining
IpAddress.

Change-Id: I9f657d082be5e0830eafc82fc81aa1e6a045277d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix typos in log message 72/74372/1
Sridhar Gaddam [Tue, 24 Jul 2018 07:13:34 +0000 (12:43 +0530)]
Fix typos in log message

Change-Id: Id0c49a11e3ebee3fd2f857bf2ddaa78fe4fd9566
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
5 years agoDo not use char[]-based union access 14/74314/6
Robert Varga [Sun, 22 Jul 2018 21:09:42 +0000 (23:09 +0200)]
Do not use char[]-based union access

Both the constructor and getValue() method are going away, do not
use them.

Change-Id: If0b2b7db98bfba090b437366e80f808e871ebbf5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoVPN changes for IPv6 ND based aliveness monitor 98/73598/13
Somashekar Byrappa [Fri, 29 Jun 2018 07:56:19 +0000 (13:26 +0530)]
VPN changes for IPv6 ND based aliveness monitor

+ Learnt hidden IPv6 addresses are monitored using ND based aliveness
  monitor.
+ Tried to have common code for both IPv4 and IPv6 whereever possible.

Depends-On: https://git.opendaylight.org/gerrit/#/c/73005/

JIRA: NETVIRT-1213

Change-Id: Ie49d07a7039af888bfe5308a2037418cc17bbd60
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
5 years agoVNI based L3 forwarding support for BGPVPN 97/70897/24
xcheara [Fri, 13 Apr 2018 08:16:07 +0000 (13:46 +0530)]
VNI based L3 forwarding support for BGPVPN

Description: As part of this spec implementation earlier, VNI based
forwarding for BGPVPN was kept out of scope. This Change addresses to
support VNI based forwarding of packet over VXLAN tunnel covering Router
associated and Network Associated BGPVPN and iRT/eRT use-cases.

Additional changes to preventing backpulling of neutron subnet-map to
retieve network-related attributes in vpn-engine is been addressed.

Handled missing destination mac address in the remote fib flow for
iRT/eRT use-cases.

Issue : NETVIRT-1209

Change-Id: Ib61d0c02129de980348436cdeba7939488c2da6e
Signed-off-by: xcheara <chetan.arakere@altencalsoftlabs.com>
5 years agoRefactor VpnManager module. 05/73005/13
Somashekar Byrappa [Thu, 14 Jun 2018 14:17:26 +0000 (19:47 +0530)]
Refactor VpnManager module.

+ Refactoring VpnManager to support subnet routing for hidden IPv6
  addresses.
+ Moved all IP learning classes to package org.opendaylight.netvirt
  .vpnmanager.iplearn.
+ Renamed few classes to Ip*** instead of Arp*** to keep it common for
  both IPv4 and IPv6.
+ Refactored code in iplearn package to handle both IPv4 and IPv6.
+ Kept placeholders (TODO's) for supporting IPv6 subnet routing for
  hidden IPs.

JIRA: NETVIRT-1213

Change-Id: I7f2c7968d92d61b4d3e1d8a1d858df34368344e8
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
5 years agoVPN-to-Router Associate/Disas Performance Improve 76/74176/4
Karthikeyan Krishnan [Wed, 18 Jul 2018 06:18:46 +0000 (11:48 +0530)]
VPN-to-Router Associate/Disas Performance Improve

Problem Description:
====================
When BGP-VPN is getting associated with router, FIB entries
are getting programmed very slow. This will cause the
performance of the VPN Manager.

Solution:
=========
Delay root cause: Each VPN interface update is taking 2 sec time to
remove the old VPN ID and update the new VPN ID and VPN service
unbind and bound to new VPN Instance.

To avoid each VPN interface update 2sec time delay, have moved
the method "handleVpnSwapForVpnInterface" processing logic into
JobCoordinator to process each VPN interface update in parallel.
This way overall FIB entry update is consuming less time compare
to without having this code change.

Issue: NETVIRT-1182

Change-Id: Ic17cba3e325a0c63fead9d30ec857c0e7eb8dcfc
Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>
5 years agoRemote group flow fails in conntrack SNAT 11/74011/6
Aswin Suryanarayanan [Fri, 13 Jul 2018 11:20:41 +0000 (16:50 +0530)]
Remote group flow fails in conntrack SNAT

The flow to take the packet to the packet to the NAPT switch from
non-napt switch fails occasionally, since the group is not programmed in
time.

The flow is now programmed only when the group is available in
Config datastore.

NETVIRT-1352 CSIT sporadic failures Random ping failure in snat
conntrack mode

Change-Id: I0d27372470cd3219a8ede5c5c35bc4679f772fb8
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
5 years agoARP flow fails due missing group 29/74029/11
Aswin Suryanarayanan [Fri, 13 Jul 2018 17:41:47 +0000 (23:11 +0530)]
ARP flow fails due missing group

The flow is now programmed only when the group is available in Config
datastore.

NETVIRT-1371 VM associated to vxlan network is not reachable because of
ARP flow missing

Change-Id: I2c5597d63e2c1ad438261d814c28560e5c922f56
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
5 years agoRevert "Add support for OVS NSH implementation" 52/74252/2
Sam Hague [Thu, 19 Jul 2018 17:08:57 +0000 (17:08 +0000)]
Revert "Add support for OVS NSH implementation"

This reverts commit c0d8e1872ffd45cb33b70e2fd753ee3b2d1795c1.

Change-Id: I7aa9d0c75c7e4aa11ec84d0002f405e8b04385b1
Signed-off-by: Sam Hague <shague@redhat.com>
5 years agoAdd support for official OVS NSH implementation 32/72732/7
Jaime Caamaño Ruiz [Wed, 6 Jun 2018 15:45:46 +0000 (17:45 +0200)]
Add support for official OVS NSH implementation

Change-Id: I1bac27d8c39639d84da0aa83ef1a5703c6c215f7
JIRA: TSC-114
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
5 years agoL3VPN creation is throwing Exception 21/74121/3
Karthikeyan Krishnan [Tue, 17 Jul 2018 14:11:34 +0000 (19:41 +0530)]
L3VPN creation is throwing Exception

Issue:
======
When L3VPN is created via ODL REST API or Neutron BGP-VPN API
it thorws BGP-VPN creation failed exception from the neutronvpn
listener "NeutronBgpvpnChangeListener".

Solution:
=========
When L3VPN is created, we need to check properly whether any network
information also existing in the configuration or not.

With this code changes, handled properly for network presence in the
L3VPN configuration.

Issue: NETVIRT-1375

Change-Id: Ibf44f419124e313c646e272d49426e700c7ad833
Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>
5 years agosyncRemoteAclTable removed as synchronized 24/74024/4
Sushant Kumar Jha [Fri, 13 Jul 2018 14:13:35 +0000 (19:43 +0530)]
syncRemoteAclTable removed as synchronized

Removed syncRemoteAclTable from synchronized context and added it to
JobCoordinator

Change-Id: I0064e3e839be0837093790db3d4f6771eca7d302
Signed-off-by: Sushant Kumar Jha <sushant.k@altencalsoftlabs.com>
5 years agoFix NaptFib entry incorrectly removed 92/73592/9
Vinh Nguyen [Wed, 27 Jun 2018 19:07:51 +0000 (12:07 -0700)]
Fix NaptFib entry incorrectly removed

NAPT_PFIB_TABLE (table 47) flows for external network/subnet
are incorrectly removed when one of routers unset from the
external subnet which still serves as gateway to other routers

The fix is to check if the external network/subnet no longer
gateways to other routers before removing the NaptFib flows

JIRA: NETVIRT-1351

Change-Id: I1c415871488e0719aa93451ede777b09eed91885
Signed-off-by: Vinh Nguyen <vinh.nguyen@hcl.com>
5 years agoUse minimal model imports 47/74147/3
Robert Varga [Tue, 17 Jul 2018 19:13:18 +0000 (21:13 +0200)]
Use minimal model imports

odl-mdsal-models is a big feature, pull in only the bits we need,
specifically draft-ietf-netmod-acl-model-07.

Change-Id: Ibeb19d3b59b72b537be499dfaf50595e94ed62b8
JIRA: MDSAL-363
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoAvoid ofp topology discovery 49/74149/3
Faseela K [Tue, 17 Jul 2018 19:39:23 +0000 (01:09 +0530)]
Avoid ofp topology discovery

openflowplugin is packaging lldp based topology discovery
along with "odl-openflowplugin-flow-services. This feature sends
periodic lldp messages on all the links available, to discover
the topology. Netvirt does not need this lldp feature, but is coming
by default with the feature we were including.

This patch removes the feature which was previously used, and
use only the appropriate openflowplugin features needed for netvirt
functionality.

JIRA: OPNFLWPLUG-1024

Change-Id: Ibdd78e492c77fb19ae1965bb6c92a6b4a84dd695
Signed-off-by: Faseela K <faseela.k@ericsson.com>
5 years agoHandle unprocessed IPv6 NA flows. 11/73911/3
Somashekar Byrappa [Wed, 11 Jul 2018 07:39:56 +0000 (13:09 +0530)]
Handle unprocessed IPv6 NA flows.

This patch addresses below review comments:

https://git.opendaylight.org/gerrit/#/c/71567/19/ipv6service/impl/src/main/java/org/opendaylight/netvirt/ipv6service/IfMgr.java@634
https://git.opendaylight.org/gerrit/#/c/71567/19/ipv6service/impl/src/main/java/org/opendaylight/netvirt/ipv6service/IfMgr.java@661

JIRA: NETVIRT-1213

Change-Id: I28ff0961f04c3bc9ed1ae7862958fafda46df389
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
5 years agoECMP routes are not clearing in dualstack network 08/74108/1
Karthikeyan Krishnan [Tue, 17 Jul 2018 10:26:26 +0000 (15:56 +0530)]
ECMP routes are not clearing in dualstack network

Problem Description:
====================
ECMP routes are not cleaned up properly in dual
stack network use cases.
The following neutron command is not working
properly for IPv6 address family in extra route
feature.

neutron router-update R1 --no-routes

Solution:
=========
FIBManager is not properly handled for both IPv4 and
IPv6 address family in case of dual stack network.
It is always added IP prefix length value is /32 instead of
validating whether it is IPv4 or IPv6 prefix. As a result
querying prefix-to-interface data store is returning null
value for valid IPv6 prefix. This is the root cause of the
problem for clearing all IPv6 extra routes.

As part of this fix, have handled properly for both IPv4 and IPv6
address family.

Issue: NETVIRT-1355

Change-Id: Iadb69e0c259d125c20c825edbdc7716495eb077a
Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>
5 years agoLPort tag issue with controller-snat 84/73484/5
xcheara [Wed, 27 Jun 2018 14:51:09 +0000 (20:21 +0530)]
LPort tag issue with controller-snat

Desciption: When packet is sent for SNAT translation
from Non-Napt Switch, the lport tag is overwritten to
tunnel lport tag(0->36 flow). During SNAT
translation, when we query for interface name from
if-indexes-interface-map DS for this tunnel lport tag
which is not available(with itm direct tunnel changes)
resulting in Exception. Changes are done to query the
dpn-id and in_port from the packet for Non-Napt Cases.

Change-Id: I9f9b6117b4acfcd3bb33adbfa86e2c25e1218976
Signed-off-by: xcheara <chetan.arakere@altencalsoftlabs.com>
5 years agoFix for VM deletion issue 34/73634/15
eswanit [Wed, 11 Jul 2018 06:14:47 +0000 (11:44 +0530)]
Fix for VM deletion issue

Route path entry is getting removed from
FIB table after VM deletion->

If multiple VMs are present in the same CSS and
an extra-route is configured with nexthop being
both such VMs, then if one of the VM is removed,
the entire route-path representing that CSS nexthop
is getting removed from FIB.

Consequence -> If further deletion of VM takes place,
then it won't update the flows and groups.

Fix -> This is fixed by checking if extra-route is present
behind at least one VM, then do not remove or update fib entry
for route-path representing that CSS nexthop, just update
vpntoextraroute and prefixtointerface DS.

Change-Id: I885fd307db4b571e4fa11a1626e3b2a95bf25c89
Signed-off-by: eswanit <swati.udhavrao.niture@ericsson.com>
5 years agoRemove redundant method invocation 33/74033/3
kiranvasudeva [Thu, 12 Jul 2018 10:08:40 +0000 (15:38 +0530)]
Remove redundant method invocation

updateRemoteAclFilterTable is invoked in both BIND and ADD, removing
duplicate method invocation and updated corresponding test results.

Change-Id: I6f74d4a16df5448cadc739ac54fb0e02f02092ca
Signed-off-by: kiranvasudeva <kirankumar.v@altencalsoftlabs.com>
5 years agoFix indents in l3vpn-robustness spec 44/74044/1
Sam Hague [Sat, 14 Jul 2018 19:08:50 +0000 (15:08 -0400)]
Fix indents in l3vpn-robustness spec

Change-Id: Ic1a7eb5e1a442d07ac0d9e5e290c696b1a5d3747
Signed-off-by: Sam Hague <shague@redhat.com>
5 years agoDatastore-constrained txes: aclservice 23/74023/2
Stephen Kitt [Fri, 13 Jul 2018 14:15:45 +0000 (16:15 +0200)]
Datastore-constrained txes: aclservice

Change-Id: Id11d6576f9179aa5249a35346d3f5e9e61748339
JIRA: NETVIRT-1331
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoNETVIRT-1369: Conntrack headers are not removed 19/74019/2
Shashidhar Raja [Fri, 13 Jul 2018 12:58:44 +0000 (18:28 +0530)]
NETVIRT-1369: Conntrack headers are not removed

ct_clear was not used with ct submit in tables 217 and 247. This was
causing failures when same data packets were punted to ODL controller.

Updated ACL to add ct_clear with ct submit in tables 217 and 247.

Change-Id: Ic74218b8a649796f85c2e606698d8823286d89ad
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
5 years agoDelete unProcessedElanInterfaces properly 31/73931/2
eceghkl [Wed, 11 Jul 2018 12:32:39 +0000 (18:02 +0530)]
Delete unProcessedElanInterfaces properly

* unProcessedElanInterfaces list was not deleted.
* Fix is added to delete it after the usage.
* Also delete is handled when elaninterface is deleted.

Change-Id: I4e4981baeff9e8d0c9fdd38aaa1052fe29e83c7b
Signed-off-by: eceghkl <manu.b@ericsson.com>
5 years agoFix for Stale entry in table 21 for same dest 09/73909/3
ashwinbc [Tue, 10 Jul 2018 09:14:30 +0000 (14:44 +0530)]
Fix for Stale entry in table 21 for same dest

Description: While associating bgpvpn to router having extra routes,
VrfEntryListener update is invoked which should ideally remove extra
routes as new vpn instance is created along with rd, but check condition
added to remove extra routes during interface down prevented deleting
extra routes resulting in stale entries. Have removed check condition to
solve this issue.

Change-Id: Ic693435ce7a937bd1a9f781f4007449f986fa426
Signed-off-by: ashwinbc <ashwin.b.c@ericsson.com>
5 years agoFix for NPE in TunnelInterfaceStateListener 16/73916/6
ashwinbc [Wed, 11 Jul 2018 08:42:58 +0000 (14:12 +0530)]
Fix for NPE in TunnelInterfaceStateListener

Description: This is to supplement a fix
https://jira.opendaylight.org/browse/NETVIRT-1132
which is already in place. Deleting unused leaf in yang and related code

Change-Id: I341a72dedc33c5a1105abe9f06dbba35e167e5a2
Signed-off-by: ashwinbc <ashwin.b.c@ericsson.com>
5 years agoSpec for L3VPN Robustness Improvements 26/69526/23
HANAMANTAGOUD V Kandagal [Tue, 8 May 2018 12:56:53 +0000 (18:26 +0530)]
Spec for L3VPN Robustness Improvements

This spec is to improve robustness of the L3VPN Engine
for specific use-cases that require IP-Serialization
within L3VPN.

JIRA: NETVIRT-1204

Change-Id: I626a7abc276810eef8e8cd65603c6bccf638e63e
Signed-off-by: enavive <vivek.konnect@gmail.com>
Signed-off-by: Vivekanandan Narasimhan <vivek.konnect@gmail.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
Signed-off-by: Vivekanandan Narasimhan <vivek.konnect@gmail.com>
5 years agoAllow MDSALManager exceptions 82/73882/3
Stephen Kitt [Tue, 10 Jul 2018 15:26:05 +0000 (17:26 +0200)]
Allow MDSALManager exceptions

The exception-handling story in MDSALManager is currently
underwhelming: we basically swallow errors, or encapsulate them in
RuntimeException. To allow this to be changed, NetVirt has to allow
for exceptions coming from MDSALManager; this patch implements this.

Once MDSALManager’s exceptions have been defined, this will be
revisited to clean everything up and use specific exceptions.

JIRA: NETVIRT-1318
Change-Id: I66ad8c2643a03d64ccb4abed94628498636f9152
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoFix invalid dpnId configured as NAPT Switch 26/73826/6
Sridhar Gaddam [Sun, 8 Jul 2018 15:22:34 +0000 (20:52 +0530)]
Fix invalid dpnId configured as NAPT Switch

Issue: NETVIRT-1361

This patch schedules a primaryNAPTSwitch for the routers
which do not have any allocation and also ensures that an
invalid switch is not allocated for a router.

Change-Id: Ib2355cb935c1014915270196b86ae4eb10ec8a72
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
(cherry picked from commit 6b49f701e57981db6d942053783d138bf3027a98)
(cherry picked from commit f7d129498326a7336c40c8783fea35228cc672fd)

5 years agoDatastore txes: natservice, part 3 51/73851/4
Stephen Kitt [Mon, 9 Jul 2018 16:35:48 +0000 (18:35 +0200)]
Datastore txes: natservice, part 3

This switches calls to VpnManager to datastore-constrained
transactions, and completes the natservice migration.

Change-Id: Ib441b99be37177b121010ba08da99256fb740e51
JIRA: NETVIRT-1342
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoNeutron QoS blueprint 20/71820/15
Vishal Thapar [Mon, 7 May 2018 05:55:53 +0000 (11:25 +0530)]
Neutron QoS blueprint

JIRA: NETVIRT-1242
Change-Id: If76b8cd7bb4c1d12076970f26e50bcb515351877
Signed-off-by: Vishal Thapar <vthapar@redhat.com>
5 years agoDatastore txes: vpnmanager external interface 50/73850/3
Stephen Kitt [Mon, 9 Jul 2018 16:17:07 +0000 (18:17 +0200)]
Datastore txes: vpnmanager external interface

This patch adds datastore-contrained variants of all the
transaction-carryying methods in IVpnManager. In some cases the
transactions aren’t used in the implementation, so the replacement
method drops the transaction entirely.

Change-Id: Ie169a320e7bc7ca80f80687b0d7aa31c63f0a5e6
JIRA: NETVIRT-1346
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoNPE in SNAT conntrack tempest. 31/73731/6
Aswin Suryanarayanan [Wed, 4 Jul 2018 08:30:50 +0000 (14:00 +0530)]
NPE in SNAT conntrack tempest.

NETVIRT-1359 NPE in SNAT conntrack tempest.

Change-Id: I7213aaaf98823f612a3ddf0bff78bbf9069b2f44
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
5 years agoFix for populating datastore properly 43/73643/4
eswanit [Mon, 2 Jul 2018 11:49:11 +0000 (17:19 +0530)]
Fix for populating datastore properly

While updating used RDs, deletion of
extra-route was being performed on wrong
datastore, fixing this one by using operational
vpn interface op data.

Maintaining different transaction for config
extraroute-rds-map datastore.

Removing redundant delete of extra-route
from delAdjFromVpnInterface method since
it is already being taken care by remove
and update of FIB.

Change-Id: I04c4057501abb3c4010361c18da9688379fa70d4
Signed-off-by: eswanit <swati.udhavrao.niture@ericsson.com>
5 years agoDatastore txes: natservice, part 2 49/73849/2
Stephen Kitt [Mon, 9 Jul 2018 15:15:56 +0000 (17:15 +0200)]
Datastore txes: natservice, part 2

This switches the remaining managed transactions to
datastore-contrained transactions, apart from transactions which
involve VpnManager (which isn’t ready yet).

JIRA: NETVIRT-1342
Change-Id: I560a0b2cf0ca012239a0b1759e6a9706ac4357f1
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoDatastore txes: natservice, AbstractSnatService 42/73842/3
Stephen Kitt [Mon, 9 Jul 2018 09:32:09 +0000 (11:32 +0200)]
Datastore txes: natservice, AbstractSnatService

This patch migrates AbstractSnatService and related classes and
methods to datastore-constrained transactions. It also splits a number
of add/remove methods into separate add and remove methods,
simplifying the remove methods as a result.

JIRA: NETVIRT-1342
Change-Id: I75b28b2edea2c576cf2c73f11a38b292e6c8063c
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoConvert sfc.classifier to ds-constrained txs 55/73855/1
Sam Hague [Mon, 9 Jul 2018 17:41:26 +0000 (13:41 -0400)]
Convert sfc.classifier to ds-constrained txs

Change-Id: I2494015d24b5b745af72deda60e997e95748afd8
JIRA: NETVIRT: 1347
Signed-off-by: Sam Hague <shague@redhat.com>
5 years agoDisable building unused cloud-servicechain 43/73843/1
Sam Hague [Mon, 9 Jul 2018 12:14:23 +0000 (08:14 -0400)]
Disable building unused cloud-servicechain

Change-Id: I2418033327968da6c12f3b316f4aee73e9d7ca21
Signed-off-by: Sam Hague <shague@redhat.com>
5 years agoMDSALManager clean-up part 1 10/73710/4
Stephen Kitt [Tue, 3 Jul 2018 15:06:20 +0000 (17:06 +0200)]
MDSALManager clean-up part 1

This patch uses the new methods in MDSALManager to clean up
TransactionAdapter calls.

Change-Id: I86436249ea9163c7a9f8c68d4c1fb64a807a0729
JIRA: NETVIRT-1318
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agosyncDelete replaced with non sync delete 00/73800/3
Shashidhar Raja [Thu, 5 Jul 2018 14:22:24 +0000 (19:52 +0530)]
syncDelete replaced with non sync delete

An attempt is made to remove syncDelete as sync operation is not needed
during DS remove operation in this case

Change-Id: I892f003749031cf0f7cea00542a5ee95802ba17a
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
5 years agoPort ELAN service to datastore-constrained txns 26/73726/5
eceghkl [Wed, 4 Jul 2018 06:14:32 +0000 (11:44 +0530)]
Port ELAN service to datastore-constrained txns

* Most of the txRunners are converted to use DS constrained txns.
* Excluded methods are below
- Same tx used for both config and operational
- Methods where blocking calls are used.

JIRA: NETVIRT-1339

Change-Id: I78c40439c486a95d74b063886d3be49b0a999a28
Signed-off-by: eceghkl <manu.b@ericsson.com>
5 years agoTunnel update changes for ECMP 65/73765/4
eswanit [Thu, 5 Jul 2018 04:30:30 +0000 (10:00 +0530)]
Tunnel update changes for ECMP

When tunnel is brought down, then instead of updating
routh paths, just refresh fib tables since route path
might be present already.

Change-Id: I504c000761b3e4e4829357aa0b59ddfbaf3f2e71
Signed-off-by: eswanit <swati.udhavrao.niture@ericsson.com>
5 years agoremove leftover netvirt-ui 84/73784/2
Sam Hague [Thu, 5 Jul 2018 15:36:22 +0000 (11:36 -0400)]
remove leftover netvirt-ui

Change-Id: Iaabdd2b220d2db5f1ae79dbe83fce792ec857bf9
Signed-off-by: Sam Hague <shague@redhat.com>
5 years agodisable statistics module 83/73783/2
Sam Hague [Thu, 5 Jul 2018 15:35:03 +0000 (11:35 -0400)]
disable statistics module

Change-Id: Ief07ad503ebec436fa9d8125c4ab5d8b62d898f1
Signed-off-by: Sam Hague <shague@redhat.com>
5 years agoNETVIRT-1054 : FATAL:fib-entries container missing 66/73766/2
eupakir [Thu, 5 Jul 2018 05:41:03 +0000 (11:11 +0530)]
NETVIRT-1054 : FATAL:fib-entries container missing

If fib:show command is executed the very first time
after karaf bringup, when no routes have yet been
populated, the container will not be created. A GET
will then throw a 404.
In this case, printing a fatal messge to console
is not required. The commmand will only print an
empty table.

Change-Id: If4555c62578960ae03627832cfdc6275560fc53b
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
5 years agoPort neutronvpn to Datastore-constrained txes 64/73764/5
Vishal Thapar [Thu, 5 Jul 2018 04:27:12 +0000 (09:57 +0530)]
Port neutronvpn to Datastore-constrained txes

JIRA: NETVIRT-1348
Change-Id: I77132c3eae83bcec70d977b266a7b1dc19c1e5fa
Signed-off-by: Vishal Thapar <vthapar@redhat.com>
5 years agoPort QosService to Datastore-constrained txes 63/73763/2
Vishal Thapar [Thu, 5 Jul 2018 03:32:00 +0000 (09:02 +0530)]
Port QosService to Datastore-constrained txes

JIRA: NETVIRT-1343
Change-Id: I3e80d5dd6139b2cdc6c73a9162c9612650525a17
Signed-off-by: Vishal Thapar <vthapar@redhat.com>
5 years agoRemove vpn-portip-to-port entry for Floating IP 19/73619/4
Vinh Nguyen [Fri, 29 Jun 2018 21:01:39 +0000 (14:01 -0700)]
Remove vpn-portip-to-port entry for Floating IP

Remove vpn-portip-to-port entry for floating IP
after the Floating IP is deleted

JIRA: NETVIRT-1354

Change-Id: Ia40de16d56553f1f94a93a48f465889b00d8bb76
Signed-off-by: Vinh Nguyen <vinh.nguyen@hcl.com>
5 years agoECMP: Change bucket weight from 0 to 1 27/73727/4
eceghkl [Mon, 25 Jun 2018 14:39:42 +0000 (20:09 +0530)]
ECMP: Change bucket weight from 0 to 1

* OVS expect non zero weight for select group to work
* Changed bucket weight from 0 to 1

Change-Id: I1a3c3a61ae52a8fc25c9e03ffdd1fbdd6319d82b
Signed-off-by: eceghkl <manu.b@ericsson.com>
5 years agoFix for invalid vpnid in default snat flow 25/73725/5
Vishal Thapar [Wed, 4 Jul 2018 06:18:09 +0000 (11:48 +0530)]
Fix for invalid vpnid in default snat flow

JIRA: NETVIRT-1358
Change-Id: I3af41be559316c203e49fcfa9bd7fda809fdf59c
Signed-off-by: Vishal Thapar <vthapar@redhat.com>
5 years agovpnmanager typed tx: VpnUtil 68/73468/10
Josh [Wed, 27 Jun 2018 07:28:14 +0000 (10:28 +0300)]
vpnmanager typed tx: VpnUtil

But w/out the VpnInterfaceManager parts

JIRA: NETVIRT-1346

Change-Id: Ic1d9c7d434a58128c130c9772d3941ed57ac0081
Signed-off-by: Josh <jhershbe@redhat.com>
5 years agoNETVIRT-1201 Upstream fixes to master --- 8 05/73705/4
eupakir [Tue, 10 Apr 2018 07:23:04 +0000 (12:53 +0530)]
NETVIRT-1201 Upstream fixes to master --- 8

This fix does not associate subnet to vpn,
if another subnet with the same cidr is already associated
to any configured vpn with the same route-targets.
This is currently handled only for network association
to vpn.

Change-Id: I035b2d1854f5bc5f8880ff35eea63ab861ac1a56
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
5 years agoLocal Bucket Entry deleted 41/73641/5
Dhiman [Wed, 20 Jun 2018 09:06:13 +0000 (14:36 +0530)]
Local Bucket Entry deleted

Verify ECMP traffic distribution with weighted buckets -
Controller Restart with CSS in standalone Mode
========================================================

After Controller Restart the Local Bucket Entry was getting deleted.
This was happening bacause of multiple simultanious event was causing
ConflictModifiactionException while updating the group entry. Now
we are using DJC to submit a job using SAME key for adding group and
flows, so that it would go to the samed jobqueue and writes get
executed serially, first the froups and then the flows), instead of
parallely and no comflict in writing by diffent thread to the same
node.

Change-Id: I23ad23d1db830213feb992897ee01de6148b156a
Signed-off-by: Dhiman <dhiman.ghosh@ericsson.com>
5 years agoAdd COE service-implementation mode 44/73644/6
Faseela K [Mon, 2 Jul 2018 12:00:17 +0000 (17:30 +0530)]
Add COE service-implementation mode

COE has currently two approaches for service
implementation. It can either use kubernetes's default
kube proxy mode, or its own custom odl-kube-proxy
mode. This patch adds a mechanism to choose between the
two options available.

Change-Id: I686eb9de5eb86cef9058e3802a19b8367333f21c
Signed-off-by: Faseela K <faseela.k@ericsson.com>
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
5 years agoConvert Vpn Utilities to Singleton 80/72780/16
eupakir [Fri, 8 Jun 2018 16:32:09 +0000 (22:02 +0530)]
Convert Vpn Utilities to Singleton

1) Change static methods to instance methods
2) Inject Utility instances into dependent classes

Change-Id: Ieb206d7bf050eb8fbcfec46f152a1266a81230f2
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
5 years agoRefactor Ipv6Service module. 96/72796/13
Somashekar Byrappa [Fri, 8 Jun 2018 13:43:36 +0000 (19:13 +0530)]
Refactor Ipv6Service module.

+ IPv6 generic/common functionality has been moved from Ipv6Service
  module to ipv6util module (Genius) in patch [1].
+ This patch handles removing of the corresponding code in Ipv6Service
  module.
+ VpnManager dependency on Ipv6Service has been updated to refer to
  ipv6util (Genius).

Depends-On: https://git.opendaylight.org/gerrit/#/c/72068/

JIRA: NETVIRT-1213

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

Change-Id: I01a90ed11ef90c2416a175e3ab92875bc76f1661
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
5 years agoremove checkstyle dependency from commons 15/73715/3
Michael Vorburger [Tue, 3 Jul 2018 17:35:51 +0000 (19:35 +0200)]
remove checkstyle dependency from commons

because it now doesn't contain any custom Checkstyle checks code
anymore, just XML configuration, so it doesn't need to have the
core Checkstyle JAR as a dependency - there is nothing to build,
this just packages that XML as a JAR.

Change-Id: Ib72a0084f67c47c6dbe31aa89afcd55a818bb41c
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
5 years agoFix For NETVIRT-1310 09/73609/6
ananth.y [Sat, 30 Jun 2018 02:41:00 +0000 (08:11 +0530)]
Fix For NETVIRT-1310

Problem:
- Regression bug that occured while modification
  of port chain with multiple flow classifiers.

Solution:
- Removed redundant code.

Change-Id: I5eaa66e101c0f3521710913d875c17d1e218dfff
Signed-off-by: ananth.y <ananth.y@hcl.com>
5 years agoNETVIRT-1330: Fix ARP responder flows. 22/73522/7
Achuth Maniyedath [Thu, 28 Jun 2018 09:16:46 +0000 (14:46 +0530)]
NETVIRT-1330: Fix ARP responder flows.

Use Router interface IP for ARP responder flows arp_tpa.

Change-Id: I2c4fefb1367776cde9299933b6554edc6b1d7dce
Signed-off-by: Achuth Maniyedath <achuth.maniyedath@gmail.com>
5 years agoConvert coe to datastore-constrained transactions 13/73613/6
Faseela K [Fri, 29 Jun 2018 16:35:07 +0000 (22:05 +0530)]
Convert coe to datastore-constrained transactions

JIRA: NETVIRT-1336

Change-Id: I50804bb25f8d25bba58d4fdb25ef330a92ab0851
Signed-off-by: Faseela K <faseela.k@ericsson.com>
5 years agoSwitch to sevntu forbidden method check 84/73684/3
Stephen Kitt [Tue, 3 Jul 2018 08:50:43 +0000 (10:50 +0200)]
Switch to sevntu forbidden method check

The sevntu checkstyle checks introduced a forbidden method check in
version 1.28, use that instead of our own version.

Change-Id: I52e3558ac7f76efcfb092557b50216ad12fb2361
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoreally fix the recent xtend-maven-plugin problem 09/73709/3
Michael Vorburger [Tue, 3 Jul 2018 14:56:48 +0000 (16:56 +0200)]
really fix the recent xtend-maven-plugin problem

the initial fix in I1982e1d4aeadfdb30e73f68cd5833661f148ccd5 & Co.
didn't quite do it (or worked for a few days and failed again?!)

see ODLPARENT-156 and https://github.com/eclipse/xtext/issues/1231
and https://bugs.eclipse.org/bugs/show_bug.cgi?id=536445.

JIRA: ODLPARENT-156
Change-Id: I31814763e10d205308b105da98e270fcc54a90ef
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
5 years agoFix to advertise VRF routes from DC-GW 46/73646/3
eswanit [Mon, 11 Jun 2018 05:27:48 +0000 (10:57 +0530)]
Fix to advertise VRF routes from DC-GW

VRF routes from DC-GW is not advertised
to ODL primary RDs

Previously, when some routes are advertised from DC-GW
to quagga. since it was imported by a wrong RD which is
not primary, destination prefix (advertised by DC-GW)
in vrf-entry of fib was under wrong RD.

This is fixed now by checking if RD equals primary RD
(while advertising routes to quagga bgp), then send
an import RTs list, otherwise send an empty list.

Change-Id: I268e5da85df2c1115ef1549b1ff97514d31b4f58
Signed-off-by: eswanit <swati.udhavrao.niture@ericsson.com>
5 years agoAdd napt switch id in log 03/73703/2
Aswin Suryanarayanan [Tue, 3 Jul 2018 14:09:13 +0000 (19:39 +0530)]
Add napt switch id in log

Change-Id: Ic77fbead06b2365a1a65e17923afe76cc2d54927
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
5 years agoConflicit Modification Exception on napt-Switch 83/73383/3
xcheara [Sat, 23 Jun 2018 15:25:53 +0000 (20:55 +0530)]
Conflicit Modification Exception on napt-Switch

Description :
During External-network suite clean-up, its been observed that both
the listener RouterDpnChangeListner.remove() and
ExternalRouterListener.remove() triggered symultanously both of
which updating router-to-napt-Switch DS resulting in conflicting
modifiction exception.

Changes are done for RouterDpnChangeListner to use DJC with router
lock to prevent such conflicting Modification exception.

Issue: NETVIRT-1040

Change-Id: I35ec9e2eaffb537e1f99361cdccda70ec4214d4d
Signed-off-by: xcheara <chetan.arakere@altencalsoftlabs.com>
5 years agoOnly raise alarm when RDs less than nexthops 45/73645/4
eswanit [Fri, 25 May 2018 06:28:13 +0000 (11:58 +0530)]
Only raise alarm when RDs less than nexthops

In checkAlarmExtraRoutes, when number of RDs are lesser
than number of nexthops, ECMP code was not getting
triggered.

Hence, when number of RDs are lesser
than number of nexthops, then just raise the alarm.

Previously, in routesError, there were few routes which
were raised in alarm and not supposed to be used,
but now, we are not maintaining any error routes.

Plus, we already have a patch
https://git.opendaylight.org/gerrit/#/c/55726/
Here, if number of RDs are lesser than number of CSSs,
then the extra-routes, which are configured behind the CSS
for which RD is not allocated, are saved.
These unprocessed extra-routes will be handled during
vpn-instance update when new RDs are added.

Change-Id: If0a1ef22d157b51aa74cad2eb3c7af27b70933dc
Signed-off-by: eswanit <swati.udhavrao.niture@ericsson.com>
5 years agoOLFE in vpn-to-dpn-list 46/73146/24
Aswin Suryanarayanan [Mon, 18 Jun 2018 16:57:06 +0000 (22:27 +0530)]
OLFE in vpn-to-dpn-list

NETVIRT-1270 Conflicting modification for path
vpn-to-dpn-list/vpn-to-dpn-list

Change-Id: I4ea4b74282a6c874ffb9e70045bb3ff8a709383c
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>