Sridhar Gaddam [Sun, 20 May 2018 15:25:09 +0000 (20:55 +0530)]
Avoid NPE for IPv6 external subnets
Currently when we create an IPv6 subnet in the external
network, we see couple of exceptions in Netvirt. This
patch avoids these exceptions. Support for IPv6 external
connectivity (for FLAT/VLAN based provider networks)
will be added via a separate patch.
Change-Id: I115d7b684ecf8bf6a5324ecdb4f9916583637e57
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
Sam Hague [Wed, 13 Jun 2018 23:02:12 +0000 (19:02 -0400)]
Enable coala checks
Change-Id: I39fb9ed1581c5ecc5fdcdd532bc36e8b10d4f52d
Signed-off-by: Sam Hague <shague@redhat.com>
Abhinav Gupta [Mon, 4 Jun 2018 09:47:20 +0000 (15:17 +0530)]
NETVIRT-1293: Stales not getting cleaned up upon neutron v2 driver
Stale flows and interfaces have been observed upon resync of deleted neutron
resources with v2 driver resync after reconnection of ODL.
Failure in reads to deleted neutron resources was leading to returning from
executing deletions. This has been fixed with this patch.
Also, the following has been done:
1. Added debug logs for VPN related operations
2. Prevented a few possible NPEs
3. Minor cleanup
Change-Id: I87fa788b70e28a68fba203e9399364b9b2cb2a04
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
eaksahu [Mon, 30 Apr 2018 07:47:57 +0000 (13:17 +0530)]
NETVIRT-1235 : Prefix-To-Interface ds not cleared .
We have 2 primary adj stored in VpnInterfaceOp DS. When VM is deleted , 2 FIB entries are removed.
In cleanupOpDataForFib() , when we remove first primary adj from VpnInterfaceOp DS , it triggers update in VpnInterfaceOp listener.
We ignore update of VpnInterfaceOp. When 2^nd^ / final primary adj is removed , we delete the VpnInterfaceOp entry.
This leads to removal of prefix-to-interface for 2nd primary adj. First primary adj , always remains stale.
Change-Id: I8fddd9a5d1a7425533ca1c45f81385f60bfa0d4f
Signed-off-by: eaksahu <a.k.sahu@ericsson.com>
Vishal Thapar [Thu, 7 Jun 2018 05:53:58 +0000 (11:23 +0530)]
Fix specs index page formatting
Change-Id: I5e804b874029db106868a6c3cb1edd52523e24bd
Signed-off-by: Vishal Thapar <vthapar@redhat.com>
eswanit [Tue, 5 Jun 2018 10:26:32 +0000 (15:56 +0530)]
NETVIRT-1263: Elan destination mac table(51) flows
have drop action
In multi-segment network, logic for getting
egress actions was wrong which was leading to
drop in table 51 for VMs in remote DPN.
Corrected the logic for handling internal
tunnel state too.
Change-Id: I45ca831f6cb0bf75db5f124925df6fe0d2ffb27a
Signed-off-by: eswanit <swati.udhavrao.niture@ericsson.com>
Sridhar Gaddam [Mon, 11 Jun 2018 04:31:43 +0000 (10:01 +0530)]
Fix stale snatmiss group entry on non-NAPT Switch (conntrack snat)
NETVIRT-1157: In Conntrack SNAT mode, when the router is disassociated
from the external network, the NAPT Switch is deleted. Now during this
process, the snatmiss group entry was not deleted (aka stale flow)
from the non-NAPT Switch. This patch fixes this issue.
Change-Id: I8acec7532a38b31e045dc586f2d00a91f320cb80
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
eupakir [Sun, 10 Jun 2018 05:30:39 +0000 (11:00 +0530)]
Use SingleTransactionDataBroker to read instead of VpnUtil read() - Part 3
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: Ic42b16049f5be83a653c323bba4241bf872c6e3b
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
Faseela K [Mon, 9 Apr 2018 12:01:50 +0000 (17:31 +0530)]
Service Implementation for COE Kube Proxy
Change-Id: I92800f1c95a67063843192d8a3f9a3183589d0d9
Signed-off-by: Faseela K <faseela.k@ericsson.com>
Ravindra Thakur [Tue, 22 May 2018 14:08:15 +0000 (19:38 +0530)]
QoS: DSCP marking doesn't work for dual stack VMs
Added support for DSCP marking for dual stack VM so that DSCP
marking flows are present for both ipv4 and ipv6.
Change-Id: If49662abfe8f6673c6f1c96d00376eadbefcfc51
Signed-off-by: Ravindra Thakur <ravindra.nath.thakur@ericsson.com>
eupakir [Wed, 30 May 2018 06:55:03 +0000 (12:25 +0530)]
Supply correct tunnel type to retrieve tunnel interface name
A recent change in ITM RPC has changed the API to retrieve the tunnel
interface name. It now fetches the interface name based on the tunnel-type
provided by the called insteady of hardcoding the tunnel type to
MplsOverGRE.
L3VPN was always sending tunnel type as VxLAN when calling this RPC.
The BGP routes were not being translated to flows.
The fix supplies the correct tunnel-type to the RPC based on the encap
type of fibEntry
Change-Id: Id5159ce8bc1ff686defe9121c8b4b7edfd809bbf
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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)
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>