netvirt.git
6 years agoNETVIRT-1305 ODL not conecting to QBGP 36/72836/2
Vyshakh Krishnan CH [Mon, 11 Jun 2018 09:01:26 +0000 (14:31 +0530)]
NETVIRT-1305 ODL not conecting to QBGP

Due to a check for port 7644 in the code, ODL was not getting connected
to 7644 port opened by QBGP. Removing the check

Change-Id: Iae2f890935643aef11de83a63e30fe28889d41c5
Signed-off-by: Vyshakh Krishnan CH <vyshakh.krishnan.c.h@ericsson.com>
6 years agoRate limiting for controller based SNAT punts 87/72087/9
Ravindra Thakur [Fri, 18 May 2018 09:55:28 +0000 (15:25 +0530)]
Rate limiting for controller based SNAT punts

spec link:
http://docs.opendaylight.org/projects/netvirt/en/latest/specs/fluorine/controller-punt-protection.html

Issue: NETVIRT-1218

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

Change-Id: Idc6e88ae8279f58eae525af95fab6f312b4d2586
Signed-off-by: Ravindra Thakur <ravindra.nath.thakur@ericsson.com>
6 years agoUse SingleTransactionDataBroker to read instead of VpnUtil read() - Part 2 18/72818/3
eupakir [Sun, 10 Jun 2018 05:27:56 +0000 (10:57 +0530)]
Use SingleTransactionDataBroker to read instead of VpnUtil read() - Part 2
of 5

Also replaces MDSALUtil.syncWrite() with SingleTransactionDataBroker
writes in the Vpn engine.
Uses ManagedNewTransactionRunner whereever applicable
Restricts VpnUtil.read() accessibility to within the class

Change-Id: Iea1389240d2d56f19c000adba73b34ec2b54ad4d
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
6 years agoUse SingleTransactionDataBroker to read instead of VpnUtil read() - Part 1 13/72813/11
eupakir [Sun, 10 Jun 2018 05:25:27 +0000 (10:55 +0530)]
Use SingleTransactionDataBroker to read instead of VpnUtil read() - Part 1
of 5

Also replaces MDSALUtil.syncWrite() with SingleTransactionDataBroker
writes in the Vpn engine.
Uses ManagedNewTransactionRunner whereever applicable
Restricts VpnUtil.read() accessibility to within the class

Change-Id: I70432063e235247e1c5d87a0597cd399726c5d02
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
6 years agoAdd igmp-snooping.rst to index 17/72817/1
Sam Hague [Sun, 10 Jun 2018 02:06:05 +0000 (22:06 -0400)]
Add igmp-snooping.rst to index

Change-Id: I43209ddc0660be8346e5f26668ecd3dc849277a6
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoAn atempt is made to reduce DS operations before fixed flows are 79/72779/3
Shashidhar Raja [Fri, 1 Jun 2018 13:17:33 +0000 (18:47 +0530)]
An atempt is made to reduce DS operations before fixed flows are
programmed for a VM

Below are change details:
(a) In AclInterfaceStateListener, DS operation to read Interface config
object was made all the time. Now, updated to check config Interface only
when AclInterface refernce is not present at that time (ie., with the
changes, config Interface is checked only when Interface state event is
triggered before Interface state event)
(b) After performing Port lookup DS write, current behaviour is to wait for
completion of this write operation. As what ever written to port lookup is
used only during delete operation, moved add/delete port lookup to a
separate thread with the same key using jobCoordinator. With this, Port
lookup DS write is unblocked and add/delete operation of it is also been
synchronized

Change-Id: Ic6300a82006d6a8c0db3ac7bb2168612a190697f
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
6 years agoTest-plan for ELAN Recovery: 09/72409/13
eswanit [Tue, 29 May 2018 12:22:06 +0000 (17:52 +0530)]
Test-plan for ELAN Recovery:

TC1 : ELAN Service Recovery
TC2 : ELAN Interface Recovery

Change-Id: I38b1a4f859369ce11916c9e68649dbbd434f3e1b
Signed-off-by: eswanit <swati.udhavrao.niture@ericsson.com>
6 years agoJIRA: NETVIRT-1211 IGMP Snooping blueprint 79/71179/5
Victor Pickard [Fri, 20 Apr 2018 19:05:21 +0000 (15:05 -0400)]
JIRA: NETVIRT-1211 IGMP Snooping blueprint

Blueprint for IGMP Snooping feature for fluorine.

Change-Id: Iecd7687e469282794f45e5f0cf04d8c6e495b5d0
Signed-off-by: Victor Pickard <vpickard@redhat.com>
6 years agominor: add @CheckReturnValue to ElanUtils.waitForTransactionToComplete() 17/71417/3
Michael Vorburger [Thu, 26 Apr 2018 11:43:53 +0000 (13:43 +0200)]
minor: add @CheckReturnValue to ElanUtils.waitForTransactionToComplete()

JIRA: NETVIRT-1215
Change-Id: If91d1fcc21b25d43aa8e07068a21f4dbdc5e4fc5
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agoRate limiting for subnet route punt packets 80/72080/4
Ravindra Thakur [Fri, 18 May 2018 06:27:37 +0000 (11:57 +0530)]
Rate limiting for subnet route punt packets

Adds a learn action for subnet route punt flow which installs a learn
flow with higher prirority than the punt flow and matches on dst ip
+ vpn id and drops the matching packets till the flow is deleted after
hard timeout expiry.

spec link:
http://docs.opendaylight.org/projects/netvirt/en/latest/specs/fluorine/controller-punt-protection.html

Issue: NETVIRT-1218

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

Change-Id: I6874f56179256933120606e45edc153654b73d33
Signed-off-by: Ravindra Thakur <ravindra.nath.thakur@ericsson.com>
6 years agoReplace the HwvtepAbstractDataTreeChangeListener 06/72706/2
David Suarez [Tue, 5 Jun 2018 21:56:28 +0000 (23:56 +0200)]
Replace the HwvtepAbstractDataTreeChangeListener

Replace the HwvtepAbstractDataTreeChangeListener by the new Genius'
listener.

Once all the references to HwvtepAbstractDataTreeChangeListener are
removed we can get rid of them in Genius and finally remove the old
Genius' listeners.

Change-Id: I8784543f48cf5b1b15c8bcb87a6d96c073e33b27
Signed-off-by: David Suarez <david.suarez.fuentes@gmail.com>
6 years agoUpdate L3_GW_MAC table to match on ip/ipv6 for external network 93/71093/5
Sridhar Gaddam [Thu, 19 Apr 2018 06:28:35 +0000 (11:58 +0530)]
Update L3_GW_MAC table to match on ip/ipv6 for external network

Currently, for ingress traffic (i.e., external network), L3_GW_MAC(19)
table only includes a match for dl_dst/mac-address. When an external
network that has both IPv4 and IPv6 subnets is associated to a neutron
router, the router-gw-mac would be the same for both the subnets.
Ideally, L3_GW_MAC table should check the type of subnet and then
update the metadata to either vpnId of ext-ipv4-subnet or ext-ipv6-subnet
before sending the packet to FIB table. This patch addresses this issue.

Issue: NETVIRT-1220
Change-Id: Id139fff3b6a9ee25bc9c9bda3d7521f7d2ff95fb
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
(cherry picked from commit 7d0a66fa8b3d9573a68a1a6275a8427119cf0311)

6 years agoUse ServiceTracker instead of WaitingServiceTracker 52/72752/2
Tom Pantelis [Thu, 7 Jun 2018 12:14:46 +0000 (08:14 -0400)]
Use ServiceTracker instead of WaitingServiceTracker

WaitingServiceTracker is in config-api which is going away.
WaitingServiceTracker is just a thin wrapper around ServiceTracker
anyway so just use ServiceTracker directly.

Change-Id: I213550d6f82004905578a2f86865cb6288f411b0
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoDynamic IPv6 assignment for sub-port is not working 25/71825/17
Karthikeyan Krishnan [Mon, 7 May 2018 10:32:47 +0000 (16:02 +0530)]
Dynamic IPv6 assignment for sub-port is not working

Issue:
========
Dynamic IPv6 assignment is not working as expected for sub-ports(VLANs).
It was working for only trunk port.

Solution:
=========
IPv6 Unsolicited Periodic message is sendt out every minute from ODL
controller (Leader/Master Node for Cluster Setup) to all IPv6 VMs OF ports.
This will not work for Sub-port.Since RA packet is not checking for VLAN IDs.
As part of this fix, sending both Solicited RA and Unsolicited RA packets
to remote ELAN Group to reach all the VMs in the ELAN group. This way we
can achieve optimal way to sending perodically URA to all the IPv6 service
enabled VMs.

ACL Service Changes:
--------------------
Added code changes for allow ICMPv6 Router Advertisement packets from ODL
controller for unsolicited RA packets in EGRESS_ACL_ANTI_SPOOFING_TABLE(table 240).

For Solicited RA packets are sending out from ODL controller to VM port
directly instead of re-submitting back to Egress pipeline.

This changes will address the both RA packets from external router as well
as internal neutron router (ODL Controller) for each VM matching with
lport_tag, ICMPv6_Type=134 and IPv6_Src=fe80::/10 to allow in table 240.

Issue: NETVIRT-1245

Change-Id: Ifb75fcadd971e406674b6108ab0a9b3dc0b1f698
Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>
6 years agoFix: ECMP table 21 extra route stale entries 90/71790/7
ashwinbc [Tue, 24 Apr 2018 09:16:52 +0000 (14:46 +0530)]
Fix: ECMP table 21 extra route stale entries

Description: Deleting extra routes was not reflecting on
flows, as vrf for ECMP Usecase 3 is DPN ID. Issue is fixed by
replacing with usedRDs, as this will contain DPN IDs for usecase 3,
and RDs for other ECMP usecases.

Change-Id: I1f279436a70436b31b139cf1c1413858d55d6499
Signed-off-by: ashwinbc <ashwin.b.c@ericsson.com>
6 years agoNETVIRT-1278: Don't write mac-in-use to config DS 51/72151/7
Josh [Tue, 22 May 2018 09:12:45 +0000 (12:12 +0300)]
NETVIRT-1278: Don't write mac-in-use to config DS

When a node is discovered for which there is no entry
in the config datastore we copy it over so that we can
than make modifications to it. A new field, mac-in-use,
was added and it is operational only so when attempting
to write the bridge to config the whole thing fails.

Fix is simple, just don't write the termination points
to the config datastore at all.

Change-Id: I0592d34fb0500e2e8001be617af8b11a5eb9d6c9
Signed-off-by: Josh <jhershbe@redhat.com>
6 years agoCPD fix 49/72549/3
Sushant Kumar Jha [Fri, 1 Jun 2018 09:16:51 +0000 (14:46 +0530)]
CPD fix

Change-Id: I8b483114358335175db4a6c7ea07ab57df8b3a73
Signed-off-by: Sushant Kumar Jha <sushant.k@altencalsoftlabs.com>
6 years agoFixup Augmentable and Identifiable methods changing 32/72532/4
Stephen Kitt [Thu, 31 May 2018 16:48:50 +0000 (18:48 +0200)]
Fixup Augmentable and Identifiable methods changing

This is a fixup of the change in binding codegen, adjusting:
- getKey() -> key()
- setKey() -> withKey()
- getAugmentation() -> augmentation()

Change-Id: I19a391660f0bc30b0ec8d043859d9d20b81f3dfd
JIRA: TSC-101
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoConflicting modification exception for 47->21 flow 35/72235/5
xcheara [Thu, 24 May 2018 13:33:53 +0000 (19:03 +0530)]
Conflicting modification exception for 47->21 flow

Description : Observed this issue can happen when both
ExtenalNetworkChangeListener and ExternalRouterListener try to install the
47->21 flow for external-network simultaneously.

Changes done to synchrornize these events by using jobordinator having
extnernal-network id as key.

Issue : NETVIRT-1135

Change-Id: Ic87e121953ae1f04f04da1dfcdc67396b78971b4
Signed-off-by: xcheara <chetan.arakere@altencalsoftlabs.com>
6 years agoNETVIRT-1137: NPE: Direct Exception 65/72065/2
Dhiman [Thu, 17 May 2018 10:28:38 +0000 (15:58 +0530)]
NETVIRT-1137: NPE: Direct Exception

Elan Interface Manager calls for interface details by making an API call
to Interface Manager which returns a null object because interface is
alreay deleted. Elan Interface Manager is now checks for null before
proceeding.

Change-Id: I89bf739b3cc5a98a686ff89a26f41937ed3779b9
Signed-off-by: Dhiman <dhiman.ghosh@ericsson.com>
6 years agoFail builds on warnings 18/72618/1
Thanh Ha [Sun, 3 Jun 2018 02:02:14 +0000 (22:02 -0400)]
Fail builds on warnings

Also remove the unnecessary echo statement. Sphinx already prints a
message to indicate where the docs are at the end of the build so is
redundant and the echo fails Windows builders.

Change-Id: I16814a68230e5d37ffc351938e233c08499d240a
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
6 years agoResolve Sphinx build warnings 17/72617/1
Thanh Ha [Sun, 3 Jun 2018 02:09:47 +0000 (22:09 -0400)]
Resolve Sphinx build warnings

Change-Id: I3f8de157183acf818d7fbe9451b2968ec3d5b1d4
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
6 years agounblock broken build by replacing some but not all Xtend from aclservice 73/72573/2
Michael Vorburger [Fri, 1 Jun 2018 13:41:05 +0000 (15:41 +0200)]
unblock broken build by replacing some but not all Xtend from aclservice

This rewrites some of the Xtend with Java.  It only replaces those
*Builder classes, but does not (yet?) replace the expected objects with
some TBD not Xtend based approach.

As it is something related to Java generics in those Builder classes
which seems to (suddenly) somehow be causing the build failure, this is
sufficient, for now, to unblock broken build.

JIRA: NETVIRT-1290
Change-Id: Id76d24f1475ed3d3eeac622de8932fc8a63f8ee6
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agoRemove use of InstanceIdentifier.builder(InstanceIdentifier) 86/72486/2
Robert Varga [Wed, 30 May 2018 13:28:25 +0000 (15:28 +0200)]
Remove use of InstanceIdentifier.builder(InstanceIdentifier)

This method has been deprecated for 4+ years, do not use it.

Change-Id: Ia01331bd67d8769e9247871c1c0ebfa9622145ee
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoNETVIRT-1163:No option to configure IPv6 on ODL 03/72403/4
Loshmitha [Tue, 29 May 2018 11:47:04 +0000 (17:17 +0530)]
NETVIRT-1163:No option to configure IPv6 on ODL
No option was available to configure IPv6 in ConfigCli , so adding one

Change-Id: If7b6ec769f7aa41c1494e0bd6b6f793120661a19
Signed-off-by: Loshmitha <loshmitha@ericsson.com>
6 years agoHandling NPE 61/72161/3
xcheara [Tue, 22 May 2018 12:09:46 +0000 (17:39 +0530)]
Handling NPE

Issue : NETVIRT-1276

Change-Id: If34422444e26facae0374523935f5f33c083f006
Signed-off-by: xcheara <chetan.arakere@altencalsoftlabs.com>
6 years agoNETVIRT-1255: Corrected wrong goto table number specified with two of the default... 70/71970/4
Shashidhar Raja [Thu, 10 May 2018 16:28:40 +0000 (21:58 +0530)]
NETVIRT-1255: Corrected wrong goto table number specified with two of the default flows

Change-Id: I8a6313b1e17bd17d26ebd87371406ba79aed5457
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
6 years agoRemove AsyncWriteTransaction.submit() impls 80/71580/4
Tom Pantelis [Mon, 30 Apr 2018 14:10:10 +0000 (10:10 -0400)]
Remove AsyncWriteTransaction.submit() impls

The submit() method is now defaulted in the interface
so implementations don't need to implement it.

Change-Id: I805e6789906680572fea80284d777c61efed7598
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoNew Route Origin For Routes learnt dynamically in the data-path 49/71549/4
eupakir [Fri, 27 Apr 2018 04:20:13 +0000 (09:50 +0530)]
New Route Origin For Routes learnt dynamically in the data-path

Invisible ips learnt in the data-path are currently being denoted as
"static" in FIB. This review introduces "dynamic" for such routes.

This is introduced with reference to:
http://study-ccna.com/connected-static-dynamic-routes/

Area#4
Review#1
l3vpn-robustness spec : https://git.opendaylight.org/gerrit/69526

Change-Id: I7ddadedc7bdcdff43c9ab23e028de66df84ad940
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
6 years agoNETVIRT 1202 : AS number issue during display 95/70695/6
Loshmitha [Tue, 10 Apr 2018 07:19:32 +0000 (12:49 +0530)]
NETVIRT 1202 : AS number issue during display
Value of AS number was an integer which gave rise to negative values so
changing it to long to increase the range of the value
Signed-off-by: Loshmitha <loshmitha@ericsson.com>
Change-Id: I587cd867e55a0535d09b1c3b082fe71455c20eff
Signed-off-by: Loshmitha <loshmitha@ericsson.com>
6 years agoQoS Alert code cleanup 85/72085/5
Arun Sharma [Fri, 18 May 2018 08:59:47 +0000 (14:29 +0530)]
QoS Alert code cleanup

1. Decouple NBI neutron commands and QoS alert cache creation.
2. Port is added/deleted from the cache based on ovsdb notification.
3. Handle the case where counters get wrapped.

Change-Id: I2172613574f343cd13860065ee30ca517bfd61df
Signed-off-by: Arun Sharma <arun.e.sharma@ericsson.com>
6 years agocontroller-punt-protection: yang changes 94/71994/7
Ravindra Thakur [Mon, 14 May 2018 14:20:57 +0000 (19:50 +0530)]
controller-punt-protection: yang changes

yang changes for configuring hard timeout parameter in learnt flows

link: https://git.opendaylight.org/gerrit/#/c/71023
Issue: NETVIRT-1218

Change-Id: Ic4194b534203950c863617cc1d6700bc6a17b1a4
Signed-off-by: Ravindra Thakur <ravindra.nath.thakur@ericsson.com>
6 years agoNETVIRT-1241 : Preprovisioning of l2gw conf. fails 34/72034/8
eaksahu [Wed, 16 May 2018 12:41:19 +0000 (18:11 +0530)]
NETVIRT-1241 : Preprovisioning of l2gw conf. fails

Fixed the usecase of device connected after l2gw is
already provisioned.

Change-Id: I8a6f45cfbba535cb541873e3fbe9df3c5aa324c7
Signed-off-by: eaksahu <a.k.sahu@ericsson.com>
6 years agoNETVIRT-1227 : Refactoring segment creation 74/71574/12
eaksahu [Mon, 30 Apr 2018 12:26:03 +0000 (17:56 +0530)]
NETVIRT-1227 : Refactoring segment creation

For multisegment network , the code is unnecessarly using multiple loops
and varibles , increasing the probability of NP and
ArrayIndexOutOfBoundExceptions.
Hence refactoring the code.

Change-Id: I6022813925096d9b02f5cb14fb92918445dd04db
Signed-off-by: eaksahu <a.k.sahu@ericsson.com>
6 years agohandle tunnel port add/up event 30/70830/11
K.V Suneelu Verma [Thu, 12 Apr 2018 09:16:55 +0000 (14:46 +0530)]
handle tunnel port add/up event

tunnel port is not a neutron port
do not put in port cache if it is tunnel port

dhcpManager.getNeutronPort(interfaceName) throws exception
when the supplied name is not a proper uuid.

in case of tunnel port port name is not a uuid

Change-Id: I34f4152a2c03e5eacd7f9410ff13eb3dccf63c47
Signed-off-by: K.V Suneelu Verma <k.v.suneelu.verma@ericsson.com>
6 years agoAdding counters for HwVtep Listeners. 19/70819/18
A K Sahu [Thu, 12 Apr 2018 06:34:56 +0000 (12:04 +0530)]
Adding counters for HwVtep Listeners.

Added infra utils counter in hwvtep southbound listeners.

Change-Id: I51ab3509149cfd3f6f64011149a94de6a0cfc693
Signed-off-by: A K Sahu <a.k.sahu@ericsson.com>
6 years agoNETVIRT-1282 updating default BGP config server port 7644 52/72252/6
Siva Kumar Perumalla [Fri, 25 May 2018 10:24:53 +0000 (15:54 +0530)]
NETVIRT-1282 updating default BGP config server port 7644
modified default log file location of bgp

Change-Id: Ib667bb4ff2c238a3de5e3a8f464d534c04c45615
Signed-off-by: Siva Kumar Perumalla <sivakumar.perumalla@gmail.com>
6 years agoThe NFIP to FIP traffic is failing when there are multiple route 19/72019/8
Aswin Suryanarayanan [Tue, 15 May 2018 15:29:38 +0000 (20:59 +0530)]
The NFIP to FIP traffic is failing when there are multiple route

The issue occurs when the FIP vm is atached to router1, NFIP is attached
router 2, and there is no port in router2 subnet present in FIP vm
compute node.

NETVIRT-1238 failure in Ping Vm Instance1 Floating IP From SNAT VM
Instance1

Change-Id: Id427f9dba79cc8f3f0ca6e3cbaf03cfd0f19f478
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
6 years agoRevert "Use managed transactions in elanmanager-impl" 35/72435/1
Stephen Kitt [Tue, 29 May 2018 13:10:22 +0000 (15:10 +0200)]
Revert "Use managed transactions in elanmanager-impl"

This reverts commit 8611eb3618e0831475f940d0fcc8e3c7135faed8, which
introduces an exception because two transactions are submitted with
conflicting changes.

Change-Id: Ic1b925d0370bac6ccd7d6ff34fdc83c34337d1d4
JIRA: NETVIRT-1284
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoEnable SNAT flows on router update 55/72155/3
Stephen Kitt [Tue, 22 May 2018 10:15:42 +0000 (12:15 +0200)]
Enable SNAT flows on router update

Currently, flows are removed on router update, and never
re-installed. This patch ensures that the flows are enabled.

Change-Id: I14226f7ca92dff58d7e133f50eb6c4d92f8140b5
JIRA: NETVIRT-1279
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoForbid manual transactions throughout 02/71802/5
Stephen Kitt [Fri, 4 May 2018 16:30:11 +0000 (18:30 +0200)]
Forbid manual transactions throughout

Now that all modules use managed-tx-parent, merge it with
binding-parent so all future modules are automatically protected.

Change-Id: I165be26cdc9637faf376eed4473f3e252ec56d21
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoUse managed transactions in vpnmanager-impl 99/71799/6
Stephen Kitt [Fri, 4 May 2018 15:46:09 +0000 (17:46 +0200)]
Use managed transactions in vpnmanager-impl

This also enforces restrictions on newReadWriteTransaction and
newWriteOnlyTransaction calls, to prevent new code introducing
unmanaged transactions.

Change-Id: Ib496ce580fa2fa4a27d1d2a8d4eb52b25b6d569a
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoUse managed transactions in elanmanager-impl 72/71772/5
Stephen Kitt [Thu, 3 May 2018 17:27:12 +0000 (19:27 +0200)]
Use managed transactions in elanmanager-impl

This also enforces restrictions on newReadWriteTransaction and
newWriteOnlyTransaction calls, to prevent new code introducing
unmanaged transactions.

Change-Id: I36935c5f6195bccba98a8e885e38a0041fe88499
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoUse managed transactions in natservice-impl 71/71771/5
Stephen Kitt [Thu, 3 May 2018 15:09:02 +0000 (17:09 +0200)]
Use managed transactions in natservice-impl

This also enforces restrictions on newReadWriteTransaction and
newWriteOnlyTransaction calls, to prevent new code introducing
unmanaged transactions.

Change-Id: I37f377931cde7775aa744ea78fb88123f24e4b5a
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoEliminate InstanceIdentifier.toInstance() reference 18/72318/1
Robert Varga [Fri, 25 May 2018 15:12:20 +0000 (17:12 +0200)]
Eliminate InstanceIdentifier.toInstance() reference

This method has been long-deprecated, do not use it.

Change-Id: I1df75a9072c3be3113357f338d651124a990f957
Signed-off-by: Robert Varga <nite@hq.sk>
6 years agonetvirt-1115: ecmp configuration on non bgpvpn router is possible again 92/68492/6
Philippe Guibert [Thu, 22 Feb 2018 13:36:14 +0000 (13:36 +0000)]
netvirt-1115: ecmp configuration on non bgpvpn router is possible again

The issue consists in allowing ecmp configurations for non bgpvpn
routers. Actually, there is a filtering mechanism with BGPVPN that
consists in limiting the number of ECMP entries with the number of
router distinguisher configured on the VPNInstance. In cases, where the
VPNInstance is a router, there is no need to do that.

Change-Id: Ic6ccc5419d6e9228651cbdaf8519a788560358e9
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
6 years agoNETVIRT-1261: ACL Stats: Drop stats is 0 sometimes 64/72064/3
Shashidhar Raja [Wed, 16 May 2018 10:29:11 +0000 (15:59 +0530)]
NETVIRT-1261: ACL Stats: Drop stats is 0 sometimes

Fixed issue mentioned with this bug. With the fix drop stats should be
returned properly from ACL Stats RPC in all scenarios.

Change-Id: I556657817e66118d8975fbeacf66f4b51a84ea0d
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
6 years agoadded dhcp packet coutnters 22/70822/13
K.V Suneelu Verma [Thu, 12 Apr 2018 07:32:11 +0000 (13:02 +0530)]
added dhcp packet coutnters

Change-Id: Ib0b07ebefecd16a14e78ccd17eea92123bc348b2
Signed-off-by: K.V Suneelu Verma <k.v.suneelu.verma@ericsson.com>
6 years agoAvoid UT failures in AclServiceIPV6 tests due to errors in shutting 62/72162/2
kiranvasudeva [Sun, 20 May 2018 17:11:09 +0000 (22:41 +0530)]
Avoid UT failures in AclServiceIPV6 tests due to errors in shutting
down of JobCoordinatorImpl, before next tests are initiated

Change-Id: Ia4cd50856ef2c34d87907e2680e56cd8b4f5a5b3
Signed-off-by: kiranvasudeva <kirankumar.v@altencalsoftlabs.com>
6 years agoAdjust to RPC method signature update 99/72099/2
Tom Pantelis [Sat, 19 May 2018 00:55:00 +0000 (20:55 -0400)]
Adjust to RPC method signature update

Change-Id: I8c05b2da856ad19178570ce427c93c92443dad14
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoadding support for evpn rt3 06/71206/12
K.V Suneelu Verma [Mon, 23 Apr 2018 12:10:14 +0000 (17:40 +0530)]
adding support for evpn rt3

Type 3 routes are required for Broadcast, Unknown Unicast and Multicast
traffic in an EVPN environment.

JIRA: NETVIRT-1246
Change-Id: I7acde55d6b41cf2ada5926a0aac4a9a921bd56e6
Signed-off-by: K.V Suneelu Verma <k.v.suneelu.verma@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoEnable discovery of Virtual IPs (or Movable IPs) 14/71914/9
Siva Kumar Perumalla [Thu, 10 May 2018 19:00:58 +0000 (00:30 +0530)]
Enable discovery of Virtual IPs (or Movable IPs)

VNF's like "load-balancer, high-availability",
require the vMAC/IP remain same even after multiple
incarnation at different OF-ports. ODL MUST provide
seamless connectivity to all these VNF's.

JIRA: NETVIRT-1253
Change-Id: I4ee60f22599d52177fb624bc11b70aaa73c2513a
Signed-off-by: Siva Kumar Perumalla <sivakumar.perumalla@gmail.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Signed-off-by: A K Sahu <a.k.sahu@ericsson.com>
6 years agoRevert "NETVIRT-1197: Stale entries exists in ACL caches" 49/72049/2
Sam Hague [Thu, 17 May 2018 02:22:51 +0000 (02:22 +0000)]
Revert "NETVIRT-1197: Stale entries exists in ACL caches"

This reverts commit 74e32b83f8ed5c58ddd323edcc6587fa99aca5d7.

Change-Id: I3e5ded38fc0e7c74c54e802ff46242dcd1e35c48
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoNETVIRT-1080 : Fix PNF discovery failure after FIP detached 02/69102/9
Vinh Nguyen [Tue, 6 Mar 2018 02:14:56 +0000 (18:14 -0800)]
NETVIRT-1080 : Fix PNF discovery failure after FIP detached

Problem:
  In conntrack NAT mode, deleting last FIP port on dpn also
  deleting the PNF flow entries ion the OVS node.
Solution:
  The problem is caused by missing ExternalFixedIP entry
  in the vpn-to-dpn-list for the external subnet on the
  NAPT switch. The existence of this entry will prevent
  deleting the PNF flows when the FIP is disassociated.
  The patch fix the problem by adding/deleting the
  ExternalFixedIP entry when the external subnet is
  associated/disassociated with the router.

Change-Id: Ib46e860448138c6808105573ae4c52be0bc2b437
Signed-off-by: Vinh Nguyen <vinh.nguyen@hcl.com>
6 years agoadded spec for evpn and l2gw integration 43/71243/13
K.V Suneelu Verma [Tue, 24 Apr 2018 06:12:26 +0000 (11:42 +0530)]
added spec for evpn and l2gw integration

JIRA: NETVIRT-1247
Change-Id: I78e03c1c03af04803da6c21c5ac6aff746be7382
Signed-off-by: K.V Suneelu Verma <k.v.suneelu.verma@ericsson.com>
6 years agoRetain Earlier Elected Napt Switch After Upgrade for SNAT 02/71202/12
xcheara [Mon, 23 Apr 2018 10:09:36 +0000 (15:39 +0530)]
Retain Earlier Elected Napt Switch After Upgrade for SNAT

This Spec attempts to retain the earlier elected Napt-Switch for a
given Router(VRF) before upgrade as Napt-Switch even after the upgrade
of OpenDaylight Controller.

JIRA: NETVIRT-1222

Change-Id: I2fc9bd917c3bdf65e7cd788f9bd4435e0a3ad3c6
Signed-off-by: xcheara <chetan.arakere@altencalsoftlabs.com>
Signed-off-by: Shaik Zakir <shaikzakir119@gmail.com>
6 years agoNETVIRT-1197: Stale entries exists in ACL caches 57/69257/7
Tarun Thakur [Thu, 8 Mar 2018 09:17:28 +0000 (14:47 +0530)]
NETVIRT-1197: Stale entries exists in ACL caches

This patch is to add SecurityGroupListener to remove stale entries in acl caches

Currently, ACL module receives add/update events on ACL object via
NeutronSecurityRuleListener, but could not get remove event.
This new SG listener would help ACL module to receive remove event also.

Change-Id: I914eda387cd7dcd07b4c4eb9194630edc3970535
Signed-off-by: Tarun Thakur <tarun.t@altencalsoftlabs.com>
6 years agoFix for VM Migration Table 51 stale entry 78/70278/10
ashwinbc [Tue, 3 Apr 2018 10:51:55 +0000 (16:21 +0530)]
Fix for VM Migration Table 51 stale entry

Description: An issue is observed when
ElanLearnVpnVip MIP MAC and Interface
MAC are same. During migration,
ElanLearntVpnVipToPortListener remove
deletes MAC entry from ElanInterfaceForwardingEntries,
which is referred by ElanInterfaceStateChangeListener
remove workflow, which is started after the
ElanInterfaceForwardingEntries thread
completes its course of action. Both threads
have an action to delete DMAC flow entries,
but the first thread refers InterfaceManager for
InterfaceInfo which returns null, hence skips the
delete DMAC workflow, but deletes the MAC entry.
Other thread refers MAC entry, which has been deleted
by first thread, hence this too skips delete workflow.

This fix address the problem by deleting MAC entry in
first thread, only if InterfaceInfo is not null so that second
thread can delete DMAC entry as well delete MAC entry
during its course of action.

Change-Id: Icc7d15b62f6aaa3b1bae1844d9a013043b8d541d
Signed-off-by: ashwinbc <ashwin.b.c@ericsson.com>
6 years agoNETVIRT-1254: ext-nw VRF not published to Quagga 68/71968/3
Abhinav Gupta [Fri, 11 May 2018 11:50:32 +0000 (17:20 +0530)]
NETVIRT-1254: ext-nw VRF not published to Quagga

IP family is not being set for Internet BGPVPN with external network
associated. Hence due to no exchange of RD, iRT, eRT information, routes are
not getting published to quagga.

This commit fixes the same.

Change-Id: Ic259afe889120b48baedd58538238cb7b63b6111
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
6 years agoNETVIRT-1200: Upstreaming fixes 49/70649/18
HANAMANTAGOUD V Kandagal [Mon, 9 Apr 2018 12:01:01 +0000 (17:31 +0530)]
NETVIRT-1200: Upstreaming fixes

Change-Id: I9ce8f86d07ca4107e121a7a83caba838f5d64312
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
6 years agoSpec for Tap as a Service 91/71691/8
Hema Gopalakrishnan [Thu, 3 May 2018 09:55:19 +0000 (15:25 +0530)]
Spec for Tap as a Service

Included the review link for pipeline changes
Addressed review comments
Rebased

Change-Id: I095c7caedc66aa58693210c63bb27a6bca1b476a
Signed-off-by: Hema Gopalakrishnan <hema.gopalkrishnan@ericsson.com>
6 years agoSpec: OVS Based NA Responder for IPv6 default Gateway 93/71293/16
Karthikeyan Krishnan [Wed, 25 Apr 2018 08:49:59 +0000 (14:19 +0530)]
Spec: OVS Based NA Responder for IPv6 default Gateway

This spec addresses OVS Based Neighbor Advertisement(NA) responder for
IPv6 default Gateway. Neighbor Solicitation(NS) request which has
initiated from IPv6 configured/enabled Data Center(DC) VMs are served by
OVS based NA responder.

Issue: NETVIRT-1228

Change-Id: I2cabf7ae45d59c737216f50e0d4b941c4b06d2a4
Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>
6 years agoThe SNAT FIB flow miss entry id is made more unique 58/71558/2
Aswin Suryanarayanan [Mon, 30 Apr 2018 06:54:44 +0000 (12:24 +0530)]
The SNAT FIB flow miss entry id is made more unique

NETVIRT-1157 Stale flows after clearing gateway info from a router

Change-Id: I85ea210c3aa9df99a1b86097180ebe45d59a05d5
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
6 years agoSpec to realize Neutron BGPVPN APIs within OpenDaylight Netvirt 01/71301/8
Vivekanandan Narasimhan [Wed, 25 Apr 2018 09:47:48 +0000 (15:17 +0530)]
Spec to realize Neutron BGPVPN APIs within OpenDaylight Netvirt

This specification addresses several gaps in existing
L3VPN Service implementation in NetVirt, such that
L3VPN Service can robustly realize VPNs managed via
the Openstack Neutron BGPVPN APIs.

Change-Id: I2e15416f15055b27245cfd0ddd60640689e9007f
Signed-off-by: Vivekanandan Narasimhan <vivek.konnect@gmail.com>
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agospec: controller punt protection 23/71023/10
Ravindra Thakur [Tue, 17 Apr 2018 08:51:02 +0000 (14:21 +0530)]
spec: controller punt protection

The spec aims to address the issue of potential overloading of the
controller due to excessive punting of packets done via different
flow tables in netvirt pipeline.

Issue: NETVIRT-1218

Change-Id: I8b879b8ccf26bdc3b4e90e43d59b812a45a2db46
Signed-off-by: Ravindra Thakur <ravindra.nath.thakur@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoBucket entries are not updated after 84/71784/5
eswanit [Fri, 4 May 2018 08:16:20 +0000 (13:46 +0530)]
Bucket entries are not updated after
karaf restart:

After controller restart, NPE was coming from
getPrefixToInterface which was disturbing
bucket entries (getBucketsForRemoteNexthop).

This is fixed by adding a null check for
getting prefix-to-interface.

Change-Id: If2c006078c35a7745806264bf9aaae30774bf08d
Signed-off-by: eswanit <swati.udhavrao.niture@ericsson.com>
6 years agoNETVIRT-1224 host routes not updated in VM if subnet is updated with host routes 63/71663/6
Arun Sharma [Wed, 2 May 2018 11:54:57 +0000 (17:24 +0530)]
NETVIRT-1224 host routes not updated in VM if subnet is updated with host routes

Root cause: NeutronSubnetChangeListener implements AsyncDataTreeChangeListener
   and therefore subnet update is sent only to config leader and local cache on
   other nodes is not updated. If DHCP packet is processed by non config leader
   node, it replies with old/stale subnet host routes.

Fix: Instead of using NeutronvpnUtils cache, read subnet data from config
   datastore. This will not add any performance impact because in normal working
   case when entry is not found, data is retrieved from config datastore only.

Change-Id: If563ed264c1aadb14cfbdb8e5086d84068d2dfd2
Signed-off-by: Arun Sharma <arun.e.sharma@ericsson.com>
6 years agoMigrate some old Java constructs 74/70874/6
David Suarez [Thu, 12 Apr 2018 19:30:44 +0000 (21:30 +0200)]
Migrate some old Java constructs

- Replace lambdas to method references
- Remove some redundancies

Change-Id: I81f2f1ebdce7e37ab529682c0eb3377be35b1ae3
Signed-off-by: David Suarez <david.suarez.fuentes@gmail.com>
6 years agoQos Policy Instance Recovery will now handle cases where incorrect 62/69962/12
Meenakshi [Fri, 23 Mar 2018 09:42:59 +0000 (15:12 +0530)]
Qos Policy Instance Recovery will now handle cases where incorrect
Policy Uuid is provided.

Change-Id: I72c91ceef29b56560b2825b0c9dc953bf72e2cf5
Signed-off-by: Meenakshi <meenakshi.c@ericsson.com>
6 years agoNetvirt-QoS: new listener for bw rules programming 21/71821/2
Ravindra Thakur [Sun, 7 Jan 2018 08:58:10 +0000 (14:28 +0530)]
Netvirt-QoS: new listener for bw rules programming

Currently bandwidth limit rules are programmed from interface listener
which should only be used for flow programming which in case of QoS
does dscp marking flow programming.

Now, ovsdb termination point listener is introduced to program the
bandwidth rules on the VM ports. This will also make qos alert cache
management better since QoS policy can be applied to both ports and subports
but bw limit rules are only applied to ports.

Change-Id: Ib2be2b59eb7a6b4d739f9827086581365ce90455
Signed-off-by: Ravindra Thakur <ravindra.nath.thakur@ericsson.com>
6 years agoSpec: Subnet Routing for hidden IPv6 addresses 12/70912/13
Somashekar Byrappa [Fri, 13 Apr 2018 14:03:57 +0000 (19:33 +0530)]
Spec: Subnet Routing for hidden IPv6 addresses

This spec addresses Subnet Routing feature for hidden
IPv6 traffic wherein ODL would learn the
hidden/invisible IPv6 addresses and set up forwarding
rules for both intra-DC and inter-DC communication.

Issue: NETVIRT-1213

Change-Id: I4fc090991cc0e7f622a3fafe233c9eb4cabc09ca
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
6 years agoNETVIRT-1252: NPE while creating internet VPN interface 78/71878/1
Abhinav Gupta [Wed, 9 May 2018 07:13:27 +0000 (12:43 +0530)]
NETVIRT-1252: NPE while creating internet VPN interface

Due to an NPE introduced as part of
https://git.opendaylight.org/gerrit/#/c/57411/, VPN interfaces belonging to
internet based VPNs are not getting created. This is part of a DJC job which
creates IETF interface for the neutron port as well. Due to this failure,
table 0 entry is ultimately not getting realized.

This commit fixes the same.

Change-Id: I8cdcb273c47c2627583cd367fa4dbfba446298a2
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
6 years agoUpdate odltools version to 0.1.8 74/71774/2
Sam Hague [Thu, 3 May 2018 20:14:41 +0000 (16:14 -0400)]
Update odltools version to 0.1.8

Change-Id: Ida34f145dc7b483e4b12ee62471dba4a32fe3862
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoSet docs version to Fluorine 65/71765/1
Thanh Ha [Thu, 3 May 2018 15:50:37 +0000 (11:50 -0400)]
Set docs version to Fluorine

Master branch is currently Fluorine.

Change-Id: I4dc2670bd33fa0bbffe8f9bd6aa22ae93d2163a7
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
6 years agoUpdate odltools version to 0.1.7 64/71764/1
Sam Hague [Thu, 3 May 2018 15:38:12 +0000 (11:38 -0400)]
Update odltools version to 0.1.7

Change-Id: Id7a84e4ca4786d0e1595d0192f7565966f51d658
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoOptimize tox options 79/71679/1
Sam Hague [Thu, 3 May 2018 00:49:30 +0000 (20:49 -0400)]
Optimize tox options

JIRA: NETVIRT-1232
Change-Id: I5f1e3c70678b98a97144ca1f7db3b3d6cba1f83b
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoFix some prints 78/71678/2
Sam Hague [Thu, 3 May 2018 00:20:52 +0000 (20:20 -0400)]
Fix some prints

JIRA: NETVIRT:1232
Change-Id: I9318bf47b635960aa8c4e8956b8c00565560f0f4
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoAdd flake8 support and fix issues 77/71677/2
Sam Hague [Wed, 2 May 2018 23:44:25 +0000 (19:44 -0400)]
Add flake8 support and fix issues

To run flake8:
- cd to root of odltools project, .../odtools
- tox -e flake
* tox by itself can be used but will also run the unit tests

JIRA: NETVIRT-1232
Change-Id: I2702c1073474b9e3d12b9ae65c5252b3887ebd5b
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoUse ifname in place of ifName 74/71674/2
Sam Hague [Wed, 2 May 2018 21:41:33 +0000 (17:41 -0400)]
Use ifname in place of ifName

JIRA: NETVIRT: 1232
Change-Id: Ia65f2dd43ed2cfd14259617b644663b31381835b
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoUse transport in cli for http/https 73/71673/3
Sam Hague [Wed, 2 May 2018 21:37:14 +0000 (17:37 -0400)]
Use transport in cli for http/https

This also allows using tcp or ssl when ovs is wired in.

JIRA: NETVIRT-1232
Change-Id: Icde4ae6684be3adfa03b87d91c952649471adac9
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoRefactor Model class 72/71672/2
Sam Hague [Wed, 2 May 2018 10:46:06 +0000 (06:46 -0400)]
Refactor Model class

- reduce some of the boilerplate code from the classes
- move the get_container and the by_key methods to the
the base Model class

- Added tox integration to run tests
- Changed the way test resources are found so it works
for both tox and other test runners

JIRA: NETVIRT-1232
Change-Id: I86b7c67dd14a4dfdea7b016c21807c47a69539bf
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoNETVIRT-1227 : L2gw with multisegment network fail 73/71573/4
eaksahu [Mon, 30 Apr 2018 11:52:16 +0000 (17:22 +0530)]
NETVIRT-1227 : L2gw with multisegment network fail

The starting index from segmentation index is 1 not 0 which is another
reason for failure.

Change-Id: Ibc3115ab56c8aa22fd302512d647c52b2dda7bc5
Signed-off-by: eaksahu <a.k.sahu@ericsson.com>
6 years agoODLTools: Misc CLI improvements 57/71657/2
Vishal Thapar [Wed, 2 May 2018 05:31:09 +0000 (11:01 +0530)]
ODLTools: Misc CLI improvements

* Display table name alongwith table id in flow outputs
* Add option to print flow meta info only
* Add option to print flow URLs
* Add option to use https
* Clean-up a stray print of elan interfaces

JIRA: NETVIRT-1232
Change-Id: I719138a6945d854f650931b9e3244861dc64a99f
Signed-off-by: Vishal Thapar <vthapar@redhat.com>
6 years agoMigrate some old Java constructs 72/70872/4
David Suarez [Thu, 12 Apr 2018 19:04:07 +0000 (21:04 +0200)]
Migrate some old Java constructs

- Remove unboxing
- Replace lambdas to method references
- Remove some redundancies

Change-Id: I126ba1e5a5264669a31462ee418d256fb8a8c79d
Signed-off-by: David Suarez <david.suarez.fuentes@gmail.com>
6 years agoNETVIRT-1225 QOS bandwidth rule not pushed to ovs 72/71572/2
Arun Sharma [Mon, 30 Apr 2018 11:50:04 +0000 (17:20 +0530)]
NETVIRT-1225 QOS bandwidth rule not pushed to ovs

Root cause: Configuration fails because config change is not applied
            in child node if parent does not exist.

Fix: Use write config transaction 'merge' method instead of 'put'
     pass a flag to true to create the parent if does not exist.
     this flag is default false in case of 'put'

Change-Id: I0f1a1ae6c6eaf28719969998a7ac147c7be2c236
Signed-off-by: Arun Sharma <arun.e.sharma@ericsson.com>
6 years agoNETVIRT-1207 QoS Alert not working 23/71123/5
Arun Sharma [Thu, 19 Apr 2018 18:07:47 +0000 (23:37 +0530)]
NETVIRT-1207 QoS Alert not working

Now karaf uses Log4J2, custom qos alert logger configuration
no longer works. Moved to log4j2 logger and appender config.

Change-Id: Id6105d6734851b6c9d213bdfe8d966a4a42ca9fa
Signed-off-by: Arun Sharma <arun.e.sharma@ericsson.com>
6 years agoAdd doc for debugging port status update 36/70236/8
Josh [Mon, 2 Apr 2018 05:28:03 +0000 (08:28 +0300)]
Add doc for debugging port status update

Change-Id: I44a8361f0339b9d6388fc2ef05a47bbdd5fb38e2
Signed-off-by: Josh <jhershbe@redhat.com>
Signed-off-by: Jamo Luhrsen <jluhrsen@redhat.com>
6 years agoFix outdir to be path arg 37/71637/1
Sam Hague [Tue, 1 May 2018 20:45:17 +0000 (16:45 -0400)]
Fix outdir to be path arg

Change-Id: Ia06a46f951181608eed1ba62150fc9ad803c90ab
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoODLTools: Misc fixes and additions 02/71602/5
Vishal Thapar [Tue, 1 May 2018 09:19:51 +0000 (14:49 +0530)]
ODLTools: Misc fixes and additions

1. Add using ifindexes for mapping lport to interface
2. Fix tunnel state always showing none
3. Fix 'show flows elan'
4. Fix dpn to hostname mapping

JIRA: NETVIRT-1232
Change-Id: I9bda2ce3d77c3b011fee8ed308b46957cf199229
Signed-off-by: Vishal Thapar <vthapar@redhat.com>
6 years agoUse managed transactions in fibmanager-impl 91/71591/2
Stephen Kitt [Mon, 30 Apr 2018 16:24:01 +0000 (18:24 +0200)]
Use managed transactions in fibmanager-impl

This also enforces restrictions on newReadWriteTransaction and
newWriteOnlyTransaction calls, to prevent new code introducing
unmanaged transactions.

Change-Id: Ia850f60e8497f449200aafb99b1cfcd3ec0c0107
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoUse managed transactions in neutronvpn-impl 83/71583/3
Stephen Kitt [Mon, 30 Apr 2018 14:57:45 +0000 (16:57 +0200)]
Use managed transactions in neutronvpn-impl

This also enforces restrictions on newReadWriteTransaction and
newWriteOnlyTransaction calls, to prevent new code introducing
unmanaged transactions.

Change-Id: Iaa7965e8d02327b2345151db62bd5ba847cc04ef
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoNETVIRT-1198: Acl Stats does not support Anti Spoof drop stats. 06/70406/5
Nishchya Gupta [Thu, 5 Apr 2018 08:36:54 +0000 (14:06 +0530)]
NETVIRT-1198: Acl Stats does not support Anti Spoof drop stats.

Anti-spoofing stats support was not present currently. Support has been
added, and for implementing that all the drops from Anti Spoofing table
has been redirected to acl committer table by modifing 4th bit in
metatdata.
A new flow has been introduced in committer table with this new
match criteria and their we are dropping all the drop packets.

This new flow will contains all the anti spoof drops and using the cookie, we will
be pulling the table details and displaying anti spoof stats

Change-Id: Ia3009517136d8c00282ed78307c5bf990897e148
Signed-off-by: Nishchya Gupta <nishchyag@altencalsoftlabs.com>
6 years agoNETVIRT-1171:IPv4 entries appearing in FIB though not associated to Router 63/70363/11
Karthikeyan Krishnan [Thu, 5 Apr 2018 06:57:57 +0000 (12:27 +0530)]
NETVIRT-1171:IPv4 entries appearing in FIB though not associated to Router

Problem Description:
====================
IPv4 entries are appearing in FIB when subnet is not associated to router
in a dualstack network

Solution Description:
=====================
Dual Stack VM has both IPv4 and IPv6 Address, IPv6 or IPv4 subnet only
associated to router means it should show only IPv6 or IPv4 address based
on the subnet address family. To do this behaviour we need to create the
VPN-Interface adjacency based on the subnet associated to router. Have
done the code changes accordingly in VPN-Interface adjacency.

Change-Id: Id1a4712dc1b8be0713fe7dcb526555c5e5021e39
Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>
6 years agoNETVIRT-1194 : NAT has two Listener on Interrface-State Oper DS 70/70370/9
xcheara [Thu, 5 Apr 2018 10:19:31 +0000 (15:49 +0530)]
NETVIRT-1194 : NAT has two Listener on Interrface-State Oper DS

Description : Currently, NAT has two listeners on interface-state
Operational DS. One performing operation related to SNAT and other
related to DNAT.

These two Listeners can be combined to one which reduces querying on
certain DS queries commonly done by both of these listeners.

Change-Id: I184d237fa2349dd4c7449120775c1c1c82cd7f50
Signed-off-by: xcheara <chetan.arakere@altencalsoftlabs.com>
6 years agoFix ifname to be ifName 19/71619/4
Sam Hague [Tue, 1 May 2018 16:40:04 +0000 (12:40 -0400)]
Fix ifname to be ifName

Change-Id: I10111a3a07b1d9c2b71e60e8dfc4eba1aba8f117
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoImplement AsyncWriteTransaction.commit() in BatchedTransaction 44/71544/2
Tom Pantelis [Sun, 29 Apr 2018 21:32:17 +0000 (17:32 -0400)]
Implement AsyncWriteTransaction.commit() in BatchedTransaction

Implement the new commit() method which uses FluentFuture
instead of the deprecated CheckedFuture. The commit() method
is defaulted in the interface but, as soon as all implementations
implement commit(), the deprecated submit() method will be defaulted
instead.

Change-Id: I765ae406308768c819bf1910cfb649cd381fa4cf
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoProvide a class in VPN to manage cluster ownership. 45/69745/15
enavive [Wed, 21 Mar 2018 10:32:24 +0000 (16:02 +0530)]
Provide a class in VPN to manage cluster ownership.

The cluster ownership management can be accomplished
by few approaches.  However, this initial review
attempts to decouple the ownershipmanager from the
rest of the vpn system.

Area 1
Review #1
Refer l3vpn-robustness spec: https://git.opendaylight.org/gerrit/69526

Change-Id: Id3f4258ea960728f438d09d41e38a4a677f9362f
Signed-off-by: Vivekanandan Narasimhan <vivek.konnect@gmail.com>
6 years agoUse managed transactions in qosservice-impl 85/70785/4
Stephen Kitt [Wed, 11 Apr 2018 14:38:51 +0000 (16:38 +0200)]
Use managed transactions in qosservice-impl

This also enforces restrictions on newReadWriteTransaction and
newWriteOnlyTransaction calls, to prevent new code introducing
unmanaged transactions.

Change-Id: I8d5b1b9686120f4e2870f279b40b49f924b349c3
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoUse managed transactions in statistics-impl 77/70777/4
Stephen Kitt [Wed, 11 Apr 2018 12:48:04 +0000 (14:48 +0200)]
Use managed transactions in statistics-impl

This also enforces restrictions on newReadWriteTransaction and
newWriteOnlyTransaction calls, to prevent new code introducing
unmanaged transactions.

Change-Id: Ic4cb8f955fe7942214a740115934014c0815524c
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoPrevent new code from using the DataBroker 04/70704/4
Stephen Kitt [Tue, 10 Apr 2018 11:35:53 +0000 (13:35 +0200)]
Prevent new code from using the DataBroker

This introduces a new Checkstyle check to fail the build if code
*calls* the newReadWriteTransaction or newWriteOnlyTransaction methods
in DataBroker. I haven’t found a nice way to make this check
conditional, so for now it’s added via a new parent module,
managed-tx-parent, which is used instead of binding-parent in all
modules which currently support it.

This patch is self-contained, but the plan is to move the Checkstyle
implementation to infrautils and the Checkstyle configuration to
Genius or MD-SAL, alongside ManagedNewTransactionRunner. Once all the
existing code has been converted to use only
ManagedNewTransactionRunner, we’ll be able to apply the configuration
to binding-parent and do away with managed-tx-parent.

Change-Id: I27ab7f0744477606bae04bff31a2148134038bb8
Signed-off-by: Stephen Kitt <skitt@redhat.com>