netvirt.git
7 years agoSpec for L3Vpn Over Vxlan With Evpn RT5 24/48524/39
Suraj Ranjan [Mon, 21 Nov 2016 10:21:59 +0000 (15:51 +0530)]
Spec for L3Vpn Over Vxlan With Evpn RT5

This spec provides detailed documentaion of Support of VXLAN based
connectivity across Datacenters using EVPN RT5 to achieve L3 connectivity.

Change-Id: Ia65e21e0cc11c86b34f622ad22fa6fd3aacb21db
Signed-off-by: Suraj Ranjan <suraj.ranjan@ericsson.com>
Co-Authored-By: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agoAdd basic initial docs for new layout 30/50230/2
Sam Hague [Tue, 10 Jan 2017 21:22:24 +0000 (16:22 -0500)]
Add basic initial docs for new layout

Change-Id: Ib6588368370f349e6695faa463cd3c847b2921f9
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBUG7339:EtreeLeafBG isn't updated with new remotes 18/49218/11
David Goldberg [Sun, 11 Dec 2016 15:14:51 +0000 (17:14 +0200)]
BUG7339:EtreeLeafBG isn't updated with new remotes

Change-Id: I8d60dd51dc74828ac5b72d8eca66527d2aad029f
Signed-off-by: David Goldberg <gdavid@hpe.com>
7 years agoBug 7476: Configure Reachable Time in IPv6 Router Advt 89/50089/4
Sridhar Gaddam [Fri, 6 Jan 2017 15:55:18 +0000 (21:25 +0530)]
Bug 7476: Configure Reachable Time in IPv6 Router Advt

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

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

Change-Id: Icd40d51d9ec9e34306c1d05fdaa7348fb25ad302
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
7 years agoScalability of ServiceChainTag 33/49733/12
Ankit Tripathi [Thu, 22 Dec 2016 07:02:40 +0000 (12:32 +0530)]
Scalability of ServiceChainTag

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

Change-Id: I4debf8d0d649e789f67e2db9d24c146b5d005bd2
Signed-off-by: Ankit Tripathi <ank123it@gmail.com>
7 years agoCleanup about isIpInSubnet 29/49829/2
Miguel Perez [Tue, 27 Dec 2016 10:53:20 +0000 (11:53 +0100)]
Cleanup about isIpInSubnet

 + Method VpnUtil.isIpInSubnet is already in
   Genius's NWUtil class, so it is not needed here
   anymore

Change-Id: I7a18eba86e76d06d1d546c6d5b118cce2a46e073
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoBug 7496: Errors and exceptions handling 05/50005/5
Olga Schukin [Wed, 4 Jan 2017 07:59:53 +0000 (09:59 +0200)]
Bug 7496: Errors and exceptions handling

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

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

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

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

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

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

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

Change-Id: I91053bc78623c68e530f705ee1795d964839df19
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
7 years agoBug: 7422 Resolve checkstyle errors 06/49706/4
Janki [Wed, 21 Dec 2016 15:07:56 +0000 (20:37 +0530)]
Bug: 7422 Resolve checkstyle errors

Fix checkstyle errors at multiple places

Change-Id: I94d424dd9ee773ba65f4c31e51642e3c800c873a
Signed-off-by: Janki <jchhatba@redhat.com>
7 years agoBug 7463: nexthop in leaked routes is wrongly set 58/49858/2
Miguel Perez [Fri, 30 Dec 2016 11:39:53 +0000 (12:39 +0100)]
Bug 7463: nexthop in leaked routes is wrongly set

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

Change-Id: Ife91ac823709a80c88b8aacaa03451f2ecac8831
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoBug 7423: Clean unnecessary leaked flows and fibEntries 13/49713/3
Miguel Perez [Wed, 21 Dec 2016 17:50:51 +0000 (18:50 +0100)]
Bug 7423: Clean unnecessary leaked flows and fibEntries

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

Change-Id: I09a3b4e97c26137e8a4dbf593bea403f92428ae9
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoActually trim whitespace from vtysh output 86/49686/2
Romanos Skiadas [Wed, 21 Dec 2016 09:39:57 +0000 (11:39 +0200)]
Actually trim whitespace from vtysh output

.replaceAll() does not mutate the string, we need to capture the return and use
that instead.

Change-Id: Ieb3bf226ca9b06a407729f1faeae27841ad1b1b2
Signed-off-by: Romanos Skiadas <rski@intracom-telecom.com>
7 years agoBug 7382: NPE while getting the napt primary-switch-id 20/49420/3
Olga Schukin [Thu, 15 Dec 2016 10:40:24 +0000 (12:40 +0200)]
Bug 7382: NPE while getting the napt primary-switch-id

Change-Id: I4739695316afca25b0fbe154700000c7f68b3e1b
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
7 years agoBug 7447: Unexpected flows from T21 to T44 for FIP 25/49925/3
Olga Schukin [Mon, 2 Jan 2017 08:47:04 +0000 (10:47 +0200)]
Bug 7447: Unexpected flows from T21 to T44 for FIP

The incorrect rules were installed due to not updated DS models

Change-Id: I80b3872c28bc560801e376a158710df70008a2e8
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
7 years agoSpec to setup SMAC on routed packets destined to virtual endpoints 07/49807/8
Achuth Maniyedath [Mon, 26 Dec 2016 13:26:31 +0000 (18:56 +0530)]
Spec to setup SMAC on routed packets destined to virtual endpoints

Change-Id: I72a2c008464ac99d7bd2796fae2d89030ee3826c
Signed-off-by: Achuth Maniyedath <achuth.m@altencalsoftlabs.com>
7 years agoBUG:7426 Adding elantag along with mac-address as key to synchronized block 36/49736/16
epgoraj [Thu, 22 Dec 2016 10:40:17 +0000 (16:10 +0530)]
BUG:7426 Adding elantag along with mac-address as key to synchronized block

Change-Id: I7d9e677ec071730233b925f9eec0652285cb42a2
Signed-off-by: epgoraj <p.govinda.rajulu@ericsson.com>
7 years agoBug 6866 - missed NAPT rules for second router 84/49684/10
Olga Schukin [Wed, 21 Dec 2016 07:55:44 +0000 (09:55 +0200)]
Bug 6866 - missed NAPT rules for second router

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

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

Change-Id: Ica0db89a5de8800090c7cdfc38a0bab2ad1bf12c
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
7 years agoBug 7142 - all VpnPortIpToPort entries are lost from ODL cache after 65/47965/25
Gobinath [Fri, 4 Nov 2016 02:31:35 +0000 (08:01 +0530)]
Bug 7142 - all VpnPortIpToPort entries are lost from ODL cache after
reboot.

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

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

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

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

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

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

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

Co-Authored-By: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Change-Id: Ic96517f4a57fe547d42495274a74ec5aa32b7d9e
Signed-off-by: Gobinath <gobinath@ericsson.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agosubnet-op-data and port-op-data is empty after cluster reboot 10/48310/7
Suraj Ranjan [Mon, 14 Nov 2016 10:53:10 +0000 (16:23 +0530)]
subnet-op-data and port-op-data is empty after cluster reboot

Change-Id: If7e0b5d3109c53eb58505e69a389d15d2f7a6d1e
Signed-off-by: Suraj Ranjan <suraj.ranjan@ericsson.com>
7 years agoBug 7444 : External routes are not getting populated 27/49827/4
karthikeyan [Tue, 27 Dec 2016 06:05:11 +0000 (11:35 +0530)]
Bug 7444 : External routes are not getting populated

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

Solution:

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

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

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

Change-Id: I8c5cf5fafc79f9933fedbbaad31d9c672696421e
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
7 years agoBug 7358 - Inter-VPN traffic is drop when out_port == in_port 07/49307/5
Marcos López Samaniego [Tue, 13 Dec 2016 16:09:36 +0000 (17:09 +0100)]
Bug 7358 - Inter-VPN traffic is drop when out_port == in_port

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

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

Change-Id: I9afef768fb0a4c71d9fe4de6bff854aa8f9f7028
Signed-off-by: Marcos López Samaniego <marcos.lopez.samaniego@ericsson.com>
7 years agoBug 7340: overwritten rule in T28 for multi-tenant 33/49333/3
Olga Schukin [Wed, 14 Dec 2016 08:26:53 +0000 (10:26 +0200)]
Bug 7340: overwritten rule in T28 for multi-tenant

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

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

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

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

Change-Id: I1a74046056bd683a71237c7d8ab8ab4606f29a96
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
7 years agoBug 7439: Discard internal VPNs for InterVpnLink purposes 59/49659/6
Miguel Perez [Tue, 20 Dec 2016 15:04:02 +0000 (16:04 +0100)]
Bug 7439: Discard internal VPNs for InterVpnLink purposes

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

Change-Id: I9763bf5187fae41d21be1757b49534435ba35071
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoBug 7321: ELAN Pseudo-port flows not installed on new DPNs 97/49097/7
Miguel Perez [Wed, 7 Dec 2016 11:23:39 +0000 (12:23 +0100)]
Bug 7321: ELAN Pseudo-port flows not installed on new DPNs

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

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

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

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

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

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

Change-Id: I7cf80527587114812af992e8c23f88c1164fc9f5
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
7 years agoBug 7377, Bug 7383: handling unnecessary error log 35/49635/10
Periyasamy Palanisamy [Tue, 20 Dec 2016 09:47:37 +0000 (15:17 +0530)]
Bug 7377, Bug 7383: handling unnecessary error log

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

Change-Id: I7ed776a3b9a679ee22427b6f13e5e1a9adce57aa
Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
7 years agoBug 7448 - External network recreation fails in newton nodl v2 33/49833/3
Tali [Tue, 27 Dec 2016 12:07:54 +0000 (14:07 +0200)]
Bug 7448 - External network recreation fails in newton nodl v2

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

Change-Id: I4932610316c9445934334bb2211378b507b018f7
Signed-off-by: Tali <tali.ben-meir@hpe.com>
7 years agoFixing removed nsh-aware field from SFC SF data model 40/49740/1
Brady Johnson [Thu, 22 Dec 2016 13:23:14 +0000 (14:23 +0100)]
Fixing removed nsh-aware field from SFC SF data model

- the field was removed in this SFC patch:
https://git.opendaylight.org/gerrit/#/c/49687/

Change-Id: I3ccc3375879bc7a67c097ab0f458ea1592bc9556
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
7 years agoRemove unnecessary null checks 50/49650/1
Romanos Skiadas [Tue, 20 Dec 2016 13:59:00 +0000 (15:59 +0200)]
Remove unnecessary null checks

The two paths in the ifs reduce to no if

Change-Id: I4635b73672d13ffb8586982d95cc2fa29bcbab50
Signed-off-by: Romanos Skiadas <rski@intracom-telecom.com>
7 years agoUpdate specs template 59/49459/3
Vishal Thapar [Fri, 16 Dec 2016 06:50:37 +0000 (12:20 +0530)]
Update specs template

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

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

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

Change-Id: Ieb7109217d6d05b31a7d3f287df65441ece83293
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 7368: VPN Engine unable to process external interfaces 76/49376/2
Vivekanandan Narasimhan [Wed, 14 Dec 2016 17:46:09 +0000 (23:16 +0530)]
Bug 7368: VPN Engine unable to process external interfaces

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

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

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

Change-Id: Ife0091b2bdd6674cc994aca084a9641e81a670ea
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agoBug 7260: no rules in table 26 for default route 80/49280/3
Olga Schukin [Tue, 13 Dec 2016 05:53:40 +0000 (07:53 +0200)]
Bug 7260: no rules in table 26 for default route

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

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

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

Change-Id: Ifa1decd5b238f45f97770e03eb10bd781c24cbfc
Signed-off-by: David Goldberg <gdavid@hpe.com>
7 years agoRemove unneeded code from VpnUtil 52/49252/3
Alvaro Gonzalez ARROYO [Mon, 12 Dec 2016 15:53:30 +0000 (16:53 +0100)]
Remove unneeded code from VpnUtil

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

Change-Id: I75c6de1fa295b4b849625056759180bd358ba9b4
Signed-off-by: Alvaro Gonzalez ARROYO <alvaro.gonzalez.arroyo@ericsson.com>
7 years agoSpec for temporary SMAC learning table 35/48835/8
Alon Kochba [Wed, 30 Nov 2016 14:33:18 +0000 (16:33 +0200)]
Spec for temporary SMAC learning table

Temporary source MAC learning introduces two new tables to the ELAN
service, for OVS-based source MAC learning using a learn action,
to reduce a large scale of packets punted to the controller for an
unlearned source MAC.

Change-Id: Iccc605b23dc8c67f8ddbb03f10b159636ca4fe06
Signed-off-by: Alon Kochba <alonko@hpe.com>
7 years agoCleanup ArpNotificationHandler code 22/49222/3
Koby Aizer [Sat, 10 Dec 2016 21:30:22 +0000 (23:30 +0200)]
Cleanup ArpNotificationHandler code

 * Remove code duplication between ArpRequestReceived & ArpResponseReceived
 * Remove unused functions
 * Remove unused imports
 * Remove unused deps

Change-Id: Ic2122e7610a42c20ba2ac8c58c991f0a2f166d57
Signed-off-by: Koby Aizer <koby.aizer@hpe.com>
7 years agoBug 7077 - NAPT inbound rules never Expire 14/49214/3
Tali [Sun, 11 Dec 2016 09:57:05 +0000 (11:57 +0200)]
Bug 7077 - NAPT inbound rules never Expire

OFP do not send flow removed notifications via SwitchFlowRemoved but FlowRemoved

Change-Id: I9499412c1d6121d57248de68ec95c75236219ca0
Signed-off-by: Tali <tali.ben-meir@hpe.com>
7 years agoBug 7333: Fix for Arp flows were not deleted for DHCP port in Control node. 94/49194/2
hari.pr [Fri, 9 Dec 2016 19:03:55 +0000 (00:33 +0530)]
Bug 7333: Fix for Arp flows were not deleted for DHCP port in Control node.

    * Problem: when network is removed, arp flows were not deleted for DHCP port in control node.
    * Fix: fixed Ips for Dhcp port has been retrieved from local cache and used for deletion.

Change-Id: I6617a9a29f6be5e77d0362f112e38cb74c08df48
Signed-off-by: hari.pr <hari.pr@hcl.com>
7 years agoBug 7319: thread.sleep in group installation 99/49099/6
Tomer [Wed, 7 Dec 2016 17:00:13 +0000 (19:00 +0200)]
Bug 7319: thread.sleep in group installation

Full BC group installation delay is at least 300ms times number of DPNS in the ELAN.
This has devastating effects in scale setups, which is described in the bug ticket.

Moving the sleep outside of the loop.

Change-Id: I6d0f20a7b9c196fc7118b8d579c53013d4f5cce6
Signed-off-by: Tomer <tomer.pearl@hpe.com>
7 years agoBUG 7305: DHCP fails for Dual stack ports 30/49130/4
Vishal Thapar [Thu, 8 Dec 2016 08:20:59 +0000 (13:50 +0530)]
BUG 7305: DHCP fails for Dual stack ports

For VM ports configured as dual-stack i.e. having both IPv6 and Ipv4
addresses, DHCP Service fails to resolve DHCP.

Issue is with current code that assumes IPv4 only and returns the first
fixed-ip. If IPv6 is the first IP, it doesn't work. Fix is to find and use
the first IPv4 address.

Change-Id: I3a9baa6f3e8fd675c07423050ff44630417cf414
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
7 years agoBUG 7312: modify param reference of AclNodeListener 62/49062/2
wangqianyu [Wed, 7 Dec 2016 05:26:49 +0000 (13:26 +0800)]
BUG 7312: modify param reference of AclNodeListener

    delete not exist param of lportTag
    add descriptions of param dispatcherTableId tableId

Change-Id: I502d56c7d69f23b6bcb50e76893b2d51dc6f26a5
Signed-off-by: wangqianyu <wang.qianyu@zte.com.cn>
7 years agoNetvirt IT: Assert return value of ping in Netvirt IT tests 35/48735/5
Sridhar Gaddam [Mon, 28 Nov 2016 12:28:11 +0000 (17:58 +0530)]
Netvirt IT: Assert return value of ping in Netvirt IT tests

Change-Id: I4c1ab298233ec128ce711f4603418407ab0b2040
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
7 years agoFixed BGP AS number field size 56/49156/3
Sumanth MS [Thu, 8 Dec 2016 16:54:29 +0000 (22:24 +0530)]
Fixed BGP AS number field size

In the doExecute(), one of the asn
number assignment was still happening
in the int format. Fixed it by changing
the data type to Long, keeping in line
with changes done in :
https://git.opendaylight.org/gerrit/#/c/48845/3

Change-Id: I62d63f959c0b3e027d0869f2e1e2650142672e61
Signed-off-by: Sumanth MS <sumanth.ms@ericsson.com>
7 years agoBUG 7331: CLI command to create VPNs allows creation of two VPNs with the 66/49166/2
eupakir [Fri, 9 Dec 2016 07:14:57 +0000 (12:44 +0530)]
BUG 7331: CLI command to create VPNs allows creation of two VPNs with the
same RD

Two VPNs with the same RDs cannot be handled by the VPN Engine. Hence this
will not be allowed.

Change-Id: I4955ba73ed928a8ba9b671e772da3e7c644035e6
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
7 years agoBug 6589 Adding retry mechanism to listener 71/49071/4
Akash [Wed, 7 Dec 2016 07:13:57 +0000 (12:43 +0530)]
Bug 6589 Adding retry mechanism to listener

Added retry mechanism to HwvtepNodeBaseListener listner
registration

Change-Id: I6f879e65f2ae64e9b2bc5a6e4efa8c4edb5eb0df
Signed-off-by: Akash <a.k.sahu@ericsson.com>
7 years agoBUG 7264 Fix missing flows for Remote SG rule 93/49193/2
Vinh Nguyen [Wed, 7 Dec 2016 19:50:11 +0000 (11:50 -0800)]
BUG 7264 Fix missing flows for Remote SG rule
  Problem: Missing SG remote flows to the first VM associated
  with the SG. The sample reproduction scenario as below:
    1. create empty SG1
    2. create VM1 with the SG1
    3. add custom TCP rule to SG1 with remote group id as SG1
    4. create VM2 with the SG1
  There is flow for TCP rule added for VM1 to VM2 but the flow
  from VM2 to VM1 is missing

  Solution: In this problem when in step 3), VM1 is not added to
  the remote SG cache as a first member of the remote SG.
  As a result, in step 4 VM1 is not seen as not associating with
  SG1 and therefore flow to it is not created.
  The fix is to add the VMport-SG association to the remote SG
  cache when the first rule is created for a VM with empty SG

Change-Id: I9f4c500a8ec87659d44801474a92227420a789e2
Signed-off-by: Vinh Nguyen <vinh.nguyen@hcl.com>
7 years agoBug 7324: Stale FIB Entries are not getting Removed 31/49131/3
karthikeyan [Thu, 8 Dec 2016 08:34:10 +0000 (14:04 +0530)]
Bug 7324: Stale FIB Entries are not getting Removed

Added code to remove Stale FIB entries after NAPT switch over

Change-Id: Ic97e3bc52dc7e1a492cc4c39ebcfdc7cb645d91d
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
7 years ago7280 - ARP Responder fix for Floating Ips (extension of bug 6726) 23/49123/7
Hari Krishna [Thu, 8 Dec 2016 00:45:42 +0000 (06:15 +0530)]
7280 - ARP Responder fix for Floating Ips (extension of bug 6726)

This fix introduces the ability to automatically respond to ARP
requests coming for Floating IPs from the external network.  The fix
builds further on the ARP responder infrastructure brought in via review
https://git.opendaylight.org/gerrit/#/c/46231 which addressed Bug 6726

Change-Id: Ib8a39644ae52c46e76a6d3893af9a0396d0b678a
Signed-off-by: Hari Krishna <hari.i.krishna@ericsson.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agoBug 7236: handle high rate of src mac learning packet-ins 88/48988/8
Olga Schukin [Mon, 5 Dec 2016 14:54:22 +0000 (16:54 +0200)]
Bug 7236: handle high rate of src mac learning packet-ins

ElanPacketInHandler now uses DataStoreJobCoordinator in order to handle
packetins from table 50, and freeing the notification thread
(Author - Tomer P.)

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

Change-Id: I81f50bdeaca75ac24a4702a3b4f2da5fd99d80d7
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
7 years agoBug 7081 - NAPT is not functional 11/49111/5
Tali [Wed, 7 Dec 2016 09:12:50 +0000 (11:12 +0200)]
Bug 7081 - NAPT is not functional

This is the second patchset attempting to fix NAPT feature breakage.
It is independent of the first one https://git.opendaylight.org/gerrit/#/c/48867
and contains the following changes:

* PSNAT_TABLE -> output to tunnel is not installed on tunnel creation
* NPE thrown from VpnInterfaceManager and InterfaceStateChangeListener when VpnInterface
non-mandatory fields are missing

Change-Id: I5ce692f18d0aa7eec42555a5fc6717c9816aedbc
Signed-off-by: Tali <tali.ben-meir@hpe.com>
7 years agoBug 7081 - NAPT is not functional 67/48867/21
Tali [Sun, 20 Nov 2016 09:56:28 +0000 (11:56 +0200)]
Bug 7081 - NAPT is not functional

This is the first patchset attempting to fix NAPT feature breakage.
It contains the following changes:

* Installation of the router-gw flow in MY_MAC table on the NAPT switch
* ARP responder flows for the router-gw IPs on the NAPT switch
* Split-horizon bit is reset on ARP responder flows for router-GW and NAPT_PFIB table
before egress to ext-net group
* Fix NaptFlowRemovedEventHandler BP definition
* Send external GW ARP resolution requests only from the NAPT switch with the router GW MAC

Open issues to be covered in the next patchset:

* PSNAT_TABLE -> output to tunnel is not installed on all the compute nodes
* INBOUND_NAPT_TABLE/OUTBOUND_NAPT_TABLE flows per sessions are not always installed

Change-Id: Ie8b92ed2a3d71938829cafb568e21c35e4a96b32
Signed-off-by: Tali <tali.ben-meir@hpe.com>
7 years agoBug-7253: Added learn support for other protocols rule (protocol Number) 92/49192/2
VinothB [Thu, 8 Dec 2016 19:32:43 +0000 (01:02 +0530)]
Bug-7253: Added learn support for other protocols rule (protocol Number)

  *This patch supports user option to create a security rule for
  other protocol with protocol number.
  *learn rule will be created for TCP,UDP and ICMP protocol Numbers.
  *Remaining  Protocol Numbers rule will be create with "goto_table" action.

Change-Id: I011d8672ed4a6460ec25c556c6b99954456f005f
Signed-off-by: VinothB <vinothb@hcl.com>
7 years agoBug-7128: Added learn support for other protocols rule (ANY) 08/49008/2
VinothB [Mon, 7 Nov 2016 19:30:40 +0000 (01:00 +0530)]
Bug-7128: Added learn support for other protocols rule (ANY)

This patch supports user option to create a security rule for
other protocol and no protocol number (ANY).
It treats such a rule as TCP(ALL)+ICMP(ALL)+UDP(ALL)+other.

Change-Id: I542d149ce8375ecad6727732a2eb063a8bc1db57
Signed-off-by: VinothB <vinothb@hcl.com>
7 years agoBug 6998: Fix for VM Instance . Ip Address Not Assigned 21/49121/2
hari.pr [Fri, 2 Dec 2016 21:42:47 +0000 (03:12 +0530)]
Bug 6998: Fix for VM Instance . Ip Address Not Assigned

    * Problem: Bulk creation of VMs results in VM not acquiring IP.
    * Fix: Optimized the reduntant write calls in DistributedArp Service.

Change-Id: I7a2bb8ab4d79362455ea71ebb4bfcdc78dfb3e40
Signed-off-by: hari.pr <hari.pr@hcl.com>
7 years agoBug 7302: Enable Ping Responder for router interface IPs , on a BGPVPN 91/48991/12
HANAMANTAGOUD V Kandagal [Fri, 2 Dec 2016 14:13:11 +0000 (19:43 +0530)]
Bug 7302: Enable Ping Responder for router interface IPs , on a BGPVPN
that has this router associated.

Multiple fixes for this issue :

(a) When router is associated to BGPVPN , the route gateway IP (x.x.x.1)
is not moved from internal VPN to BGPVPN.

(b) When a network , subnet , router is created and VM is booted , ARP
RESPONDER table (81) contains router gateway MAC in eth_src field.
When router is associated to BGPVPN , eth_src filed in table=81 , entry is
replaced with VM's connected MAC address.

It leads to ping failures.

(c) A network , subnet , router is created and VM is booted. MY MAC table
(19) contains router gateway MAC address . When the router is associated
with BGPVPN , VM's MAC address is added into MY MAC table (19) which is
incorrect.
When router is disassociated , VM's MAC address entry remains in table=19
(stale entry)

Change-Id: Ifd19bdbda90a082bd6f7e21df29d8257ce9eb534
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
Signed-off-by: ehvkand <hanamantagoud.v.kandagal@ericsson.com>
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agoAclServiceTest with Stateless mode in addition to Stateful 40/48140/8
Sam Hague [Mon, 14 Nov 2016 22:19:32 +0000 (17:19 -0500)]
AclServiceTest with Stateless mode in addition to Stateful

Change-Id: I82a84ebe5c1f876e87ad7aac5d18bfc278ead40b
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
7 years agoFaster AclServiceTest w. new AsyncEventsWaiter 78/48078/6
Michael Vorburger [Mon, 7 Nov 2016 17:33:32 +0000 (18:33 +0100)]
Faster AclServiceTest w. new AsyncEventsWaiter

instead of using explicit Thread.sleep()

based on TestableDataTreeChangeListener infrastructure
introduced in https://git.opendaylight.org/gerrit/#/c/48077/

Change-Id: I0740a445e00c931e4251282ddd5d30f7a7765e5a
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agocleanup unused dependencies for ipv6 10/49110/3
Sam Hague [Wed, 7 Dec 2016 21:09:27 +0000 (16:09 -0500)]
cleanup unused dependencies for ipv6

Change-Id: I8762913def90f147996f8066bda0942d287d57b0
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agocleanup unused dependencies for it 12/49112/1
Sam Hague [Wed, 7 Dec 2016 21:10:02 +0000 (16:10 -0500)]
cleanup unused dependencies for it

Change-Id: Id209d623fff18037815fb6f6f87a524f2896e9b5
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agocleanup from previous cherry-picks 04/49104/1
Sam Hague [Wed, 7 Dec 2016 19:21:30 +0000 (14:21 -0500)]
cleanup from previous cherry-picks

Change-Id: I4daf69703f439c0c2d00cee3a2fb58f0d3b90a17
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 7236: Add temporary SMAC learning table 37/48837/7
Olga Schukin [Wed, 30 Nov 2016 14:46:10 +0000 (16:46 +0200)]
Bug 7236: Add temporary SMAC learning table

Temporary source MAC learning introduces two new tables to the ELAN
service, for OVS-based source MAC learning using a learn action,
to reduce a large scale of packets punted to the controller for an
unlearned source MAC.

Spec: https://git.opendaylight.org/gerrit/48835
Depends-On: https://git.opendaylight.org/gerrit/48834

Change-Id: I5b9351c4fde39e12f8062d5df3ec582c24077b44
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
7 years agoBug 7298: NPE in vpn manager 82/48982/5
David Goldberg [Wed, 23 Nov 2016 10:38:51 +0000 (12:38 +0200)]
Bug 7298: NPE in vpn manager

NPE in vpn manager when configuring layer 3 services directly without
using neutron.

Change-Id: Ife4d422807141ee0766bfe10fc9eaccaff44952e
Signed-off-by: David Goldberg <gdavid@hpe.com>
7 years agoBug 7294: Use delete_learned flag on learn flows 68/48968/3
Alon Kochba [Mon, 5 Dec 2016 08:17:40 +0000 (10:17 +0200)]
Bug 7294: Use delete_learned flag on learn flows

Change-Id: Ifa9ae8da0537f444835021280db8652f874d360c
Signed-off-by: Alon Kochba <alonko@hpe.com>
7 years agoBug 6589 Logging exception 11/49011/1
Akash [Tue, 6 Dec 2016 06:49:36 +0000 (12:19 +0530)]
Bug 6589 Logging exception

Made changes to log exception submitted to job scheduler

Change-Id: I7988b5dda55d2e192e7a6ee8213f1ce293c02b04
Signed-off-by: Akash <a.k.sahu@ericsson.com>
7 years agoBug 7239 : Multiple FIB entries for extra route get created when neutron 89/48689/5
ehvkand [Fri, 25 Nov 2016 08:42:17 +0000 (14:12 +0530)]
Bug 7239 : Multiple FIB entries for extra route get created when neutron
route-update is done

When a router is updated with extra route for a given destination IP and
nexthop IP (VM-IP=IP1) , even before VM is booted, FIB entry doesnt get
created because VM is interface itself is not yet available. When VM (IP1)
is booted , FIB entry for IP1 alone gets created.
When next VM (IP2) is booted , FIB entry for extra route gets created
twice along with FIB entry of IP2.

Change-Id: I8e1b1f28cbefb2278a5b3ce2eb33b0a92aa2fde1
Signed-off-by: ehvkand <hanamantagoud.v.kandagal@ericsson.com>
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
7 years agoFix Bug #7289 Set delete_learned flag to Acl Learn flow Entries 64/48964/1
gvrangan [Sat, 3 Dec 2016 01:04:51 +0000 (01:04 +0000)]
Fix Bug #7289 Set delete_learned flag to Acl Learn flow Entries

* The learnt entries will get deleted as soon as the
 flows that created them get deleted.

Change-Id: I55cc9c09421e05abd1d4bf7ecacaf2485b45b376
Signed-off-by: gvrangan <venkatrangang@hcl.com>
7 years agoBug 6589 adding support for hwvtep devices ha 61/48861/4
Akash [Thu, 1 Dec 2016 09:41:53 +0000 (15:11 +0530)]
Bug 6589 adding support for hwvtep devices ha

Adding ElanGroupListner to handle cluster reboot scenario .
Under cluster reboot scenario elan l2gw cache will not be
getting filled in all the cluster nodes as that job is part of runonly in
leader node task. Hence if Dpn's got updated later at another leader node
then Mcast Mac and broadcast group in l2gw devices and DPNs will not be
updated (Race condition ) . To handle that scenrio this listner has been
introduced.

Change-Id: Ic741e7e6b9e3b5a888517582e9a88a1a978d2e10
Signed-off-by: Akash <a.k.sahu@ericsson.com>
7 years agoBug 6589 adding support for hwvtep devices ha 40/48740/5
Akash [Mon, 28 Nov 2016 13:48:49 +0000 (19:18 +0530)]
Bug 6589 adding support for hwvtep devices ha

Deletion of Elan-Instance was not deleting associated L2gwconnection .
Also L2gwdeletion was dependent on Elan-Instance which was removed and can
be deleted independently now.
Introduced new Listner ELanInstanceListner which will listen to deletion
of elan instance and will delete corresponding l2gwatewayConnection .
Added l2GwConnection reset CLI to reset all connections object.

Change-Id: Ieedad9ad290c56e9b811d4ee419ad3a20dd369ec
Signed-off-by: Akash <a.k.sahu@ericsson.com>
7 years agoBug 7263: Spread InterVpnLinks among available DPNs 48/48748/12
Miguel Perez [Mon, 28 Nov 2016 15:30:51 +0000 (16:30 +0100)]
Bug 7263: Spread InterVpnLinks among available DPNs

 + Avoids as much as possible to place InterVpnLinks
   in the same DPNs.

 + This way, BGP router will not overload one specific DPN

Change-Id: I99fccd3542d5a904369d8de91b6b4117cd070acd
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 6668 - Security Groups (all implementations) - port_security 02/48902/2
Aswin Suryanarayanan [Thu, 1 Dec 2016 18:23:12 +0000 (23:53 +0530)]
Bug 6668 - Security Groups (all implementations) - port_security
extension and default DHCP/ICMP drop rules

Changed getPortSecurityEnabled to check the device Owner

Change-Id: I69058c6465f1745c9c6d7dacaf9a07b8f0b13510
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
7 years agoBug 6833: InterVpnLink FIB routes not populated when no VM on VPN 79/45979/45
Miguel Perez [Wed, 21 Sep 2016 13:41:37 +0000 (15:41 +0200)]
Bug 6833: InterVpnLink FIB routes not populated when no VM on VPN

 + FIB table's flow that send the packet to BGP router for BGP-exported
   route is not being populated when there is an InterVpnLink
   but there are no VMs in the included VPNs.

 + At InterVpnLink creation, it checks if the VPN Operational data is
   ready, and wait 20 seconds for it to be ready.

 + Fix is based on calling method fibManager.populateFibOnNewDpn()
   when the InterVpnLink is created. Even if there are no real VPN
   Interfaces installed on any DPNs, the InterVpnLink installs 2 fake
   VpnInterfaces on the selected DPN(s). This wasn't triggering the
   'createFibEntries' as real VpnInterfaces did.

 + Also, solves the problem of creating an InterVpnLink when the
   Operational Data of a VPN is not ready yet

    - New class VpnOpDataNotifier that offers methods like waitForXXXX,
      to which other classes like VpnInterfaceManager or
      InterVpnLinkListener can subscribe to. There must be only object
      of this type per module, and it must be injected to the interested
      classes via Constructor

Change-Id: Ib3fdcfe5946288b288ab3453bdcb9f2e68bdcb6e
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoBug 7283: Fix exception in VpnInterfaceManager for IPv6 subnets 95/48895/3
Sridhar Gaddam [Thu, 1 Dec 2016 15:31:58 +0000 (21:01 +0530)]
Bug 7283: Fix exception in VpnInterfaceManager for IPv6 subnets

Commit cb7992e6bfe76535933e5c111dea56b230f30dd5 implements Arp
responder for internal subnet GW addresses. Arp equivalent in IPv6
is Neighbor discovery and currently there is no support in OpenFlow
to program rules to auto-respond to Neighbor Solicitation requests.
So, this patch updates the code to program arp responderer rules
only for IPv4 subnets.

Change-Id: Id7f8d506d38f5acbf075402656d3dae10802fc64
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
7 years agoBug 7233: Multiple VLAN external network communication failed while using compute... 44/48944/2
vinoth [Thu, 1 Dec 2016 13:00:55 +0000 (18:30 +0530)]
Bug 7233: Multiple VLAN external network communication failed while using compute nodes.

   * Previously when compute node is connected into ODL, that time data path id return from compute node.
   * Compute node doesn't have any patch port details.
   * Currently modify the logic that data path id read from control node which has patch port value details.

Change-Id: I4e41e9ff8d1fb2ecd999da2625d71c15638b4fee
Signed-off-by: vinoth <m.vinoth@hcl.com>
7 years agoBug 7247-The BGP configuration is getting configured as "router bgp 0" 45/48845/3
Sumanth MS [Wed, 30 Nov 2016 21:04:20 +0000 (02:34 +0530)]
Bug 7247-The BGP configuration is getting configured as "router bgp 0"

Incorporates following changes:
1) Support for 4 byte AS number from the
existing 2 byte.
2) Fix for bgp display commands to work in COMCLI
3) Additionally added debug statement in the code
4) Method onUpdateWithdrawRoute added with nexthop
information. Currently the nexthop information is
not considered when route is withdrawn.

Change-Id: I045f8901869e7c94b3a8039b993c8062751aa63c
Signed-off-by: Sumanth MS <sumanth.ms@ericsson.com>
7 years ago Bug 7233: Multiple VLAN external network communication failed while using compute... 49/48849/5
vinoth [Thu, 1 Dec 2016 12:43:11 +0000 (18:13 +0530)]
 Bug 7233: Multiple VLAN external network communication failed while using compute nodes.

  * Previously when compute node is connected into ODL, that time data path id is return from compute node.
  * Compute node doesn't have any patch port details.
  * Currently modify the logic that data path id read from control node which has patch port value details.

Change-Id: I4215cba6688675d5977339a57f50fa74162cf467
Signed-off-by: vinoth <m.vinoth@hcl.com>
7 years agoBug 7250: Add IPv6 integration tests 28/48728/3
Sridhar Gaddam [Mon, 28 Nov 2016 09:35:41 +0000 (15:05 +0530)]
Bug 7250: Add IPv6 integration tests

This patch implements the following.
1. Enhances the current Netvirt IT tests to support IPv6 subnets,
   security groups etc.
2. Validates IPv6 L2 connectivity between two VMs on the same
   tenant network.
3. Validates IPv6 East-West Routing support via Neutron tenant
   router.
4. Fixes an issue in IPv6 LLA generation API.

Change-Id: Ic605cb0b1ef0791c889ca0d7f6852b93299118ff
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
7 years agoFcaps: changing alarm text parameter to be same while raising and clearing 20/48820/3
gowri [Wed, 30 Nov 2016 08:53:19 +0000 (14:23 +0530)]
Fcaps: changing alarm text parameter to be same while raising and clearing

Change-Id: I92e8b2d202779f0df3fa4d90868e36c52a9b95ec
Signed-off-by: gowri <gowri.r@ericsson.com>
7 years agoBug 7278 - SC to Elan handover flows priority is wrong 99/48799/5
Miguel Perez [Tue, 29 Nov 2016 16:34:57 +0000 (17:34 +0100)]
Bug 7278 - SC to Elan handover flows priority is wrong

 + The flow that takes the traffic comming from ServiceChaining and
   handovers it to Elan is being set with default priority. However,
   it must be set to ServiceChaining priority

Change-Id: I0add87af0fafc1de2d7eb2ddb2890f4a8aa7503c
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
Signed-off-by: Marcos López Samaniego <marcos.lopez.samaniego@ericsson.com>
7 years agoBug 7170: ARP thread is sleeping 2s 23/48723/9
Olga Schukin [Sun, 27 Nov 2016 10:01:35 +0000 (12:01 +0200)]
Bug 7170: ARP thread is sleeping 2s

ARP thread is sleeping 2s each time MAC migration occurs

1. Koby: every time a MAC migration occurs (i.e. ArpNotificationHandler
notices a MAC change), instead of removing the entry & sleeping for 2s,
it will remove the entry & add that "VPNInstance+IP" to a "dirty IPs"
hashmap with timestamp. Now, each time ArpNotificationHandler is about
to learn a new IP, it will compare against that "dirty IPs" hashmap
and will ignore the learn in case 2s hasn't passed yet.
This will make sure the notification thread is not blocked.

2. Learn from GARP and ARP Responses only.

Change-Id: Ic3d6f58bd1a8ff5b9e29abd9280c3954fd7c7fb3
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
7 years agoBug 6589 adding support for hwvtep devices ha 49/48649/4
Akash [Thu, 24 Nov 2016 06:55:50 +0000 (12:25 +0530)]
Bug 6589 adding support for hwvtep devices ha

HWVTEPPhysicalSwitchListner changes to sycn with changes required for
supporting HA feature. If new physical switch got connected , based on if
HA enabled node or not rest of actions are taken.

Change-Id: I282256bea20cc82462184a62db7462ae244951c5
Signed-off-by: Akash <a.k.sahu@ericsson.com>
7 years agoBug 7282 - The egress table flows(table 220) are not deleted on port 73/48873/4
Aswin Suryanarayanan [Thu, 1 Dec 2016 12:46:50 +0000 (18:16 +0530)]
Bug 7282 - The egress table flows(table 220) are not deleted on port
delete.

Changed the flow removal from interface state listener to interface
listener.

Change-Id: I8b7920de826a58b0ba25c08a42636b127f36bc51
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
7 years agoBug 6589 adding support for hwvtep devices ha 72/48572/5
Akash [Tue, 22 Nov 2016 13:05:01 +0000 (18:35 +0530)]
Bug 6589 adding support for hwvtep devices ha

Updating existing Listners to adher the changes done for HA changes and
extend newly introduced base listner class.
Updated newly added listners in Bulprint xml file
Added new Cli to give info on HA and L2gw device

Change-Id: Ib7a5d06a4b2d390e8ce7b0237ddba04ba0e07a51
Signed-off-by: Akash <a.k.sahu@ericsson.com>
7 years agoAdd configurable timeouts for acl security groups in Legacy NetVirt. 81/48881/1
Bertrand [Wed, 30 Nov 2016 09:10:32 +0000 (01:10 -0800)]
Add configurable timeouts for acl security groups in Legacy NetVirt.
Also sync up default timeout values with those in current new
NetVirt (see aclservice-config.yang)

Change-Id: I310e7c34c75ee0c16d503c974e0284c076f473c0
Signed-off-by: Bertrand <bertrand.low@hcl.com>
7 years agolegacy netvirt: forcibly disable port security for network port 09/48809/2
balakrishnan [Sun, 6 Nov 2016 19:24:21 +0000 (00:54 +0530)]
legacy netvirt: forcibly disable port security for network port

   *Security group applies to only VM port. Not to internal used port.
   *Even openstack sends port security enabled true ODL should not apply
    SG for router interface port, dhcp port and floating ip port.

Change-Id: If73116661a1b20f06c36ce935330b01e76cf5a82
Signed-off-by: balakrishnan <balakrishnan.ka@hcl.com>
7 years agoListen on Topology Node instead of Inventory's 52/48552/5
Miguel Perez [Mon, 21 Nov 2016 18:37:55 +0000 (19:37 +0100)]
Listen on Topology Node instead of Inventory's

 + Topology Node under "flow:1" raises less DCNs than Inventory
   Node under "openflow:1" and serves same purpose here

 + This is a change analogous to change [1]

 + Changes the name of the class from "NodeListener" to
   "VpnToElanFallbackNodeListener" to differentiate it from some
   other "NodeListener"s

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

Change-Id: Iaaba48c443d0d7e268052c09139aba3512df1cc7
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoBug 7234 : Placeholder for BGP minor fixes 62/48662/4
Vyshakh Krishnan CH [Mon, 28 Nov 2016 08:21:04 +0000 (13:51 +0530)]
Bug 7234 : Placeholder for BGP minor fixes

Issue 1:
Modified BGP-Util MD-SAL read, not to supress the exception.
As this exception is used for BGP configuration retry mechanism.

Issue 2:
BGP stale path timer will be shown as default.

Issue 3:
BGP replay mechanism: Publishes internal VRF's & prefixes before
neighborship configuration.
6windQuagga EOR(End of Rib) marker: EOR Marker sent immediately after the
neighborship establishment.
So in case of BGP-restart scenario, 6windQuagga sends EOR immediately
after the session establishment,
in this scenario, the prefixes which are published earlier (before
restart) will be purged till CSC
replays them. Due to this there will be impact in datapath between
local-VM's to external DC-Gwy.

Change-Id: I6fababd4f8b5f8a96bc2f1e72fefdaf089f75d50
Signed-off-by: Vyshakh Krishnan CH <vyshakh.krishnan.c.h@ericsson.com>
7 years agoBug 6786: L3VPN is not honoring VTEP add or delete in operational cloud 03/48603/8
ehvkand [Mon, 21 Nov 2016 06:03:15 +0000 (11:33 +0530)]
Bug 6786: L3VPN is not honoring VTEP add or delete in operational cloud

As part of making L3VPN honor VTEP add-delete operation , this is a third
set of changes.

This code review contains following fixes :

1. When tunnel UP event is received upon TEP add , VpnInterfaces Adj and
VRF entry is updated as a part of DJC. There exists a race condition
between DJC and populateInternalRoutesOnDpn . In
populateInternalRoutesOnDpn , if remote NH list is empty , remote route is
not populated. With the fix , handleRemoteRoute is called with
updateVpnInterfaceOnTepAdd method to populate the route on remote DPN.

2. When tunnel EP is deleted on a DPN , VPN gets two deletion event. One
for a DPN on which tunnel EP was deleted and another for other-end DPN.
Update the adj for the vpninterfaces for a DPN on which TEP is deleted.
Dont update the adj for vpninterfaces for a DPN on which TEP is not
deleted. DPN on which TEP is deleted , endpoint IP will be null.

3. When tep is added on a DPN , tunnelinterfacestatechange listener gets
event with srcDpn , destDpn. When a FIB entries of srcDpn are being
programmed on destDpn , get egress action failed because tunnel interface
on destDPN may not be created yet. Hence FIB entry creation logic is
modified. FIB entries of destDPN are populated on srcDpn.

4. When TEP is deleted on DPN1 , 2 TEP delete events are received. One for
a DPN1 and another for DPN2. For DPN2 , TEP configuration is intact , but
tunnel is down. Only VRF entries of prefixes on DPN1 will be modified.

Change-Id: I4f9dc18f211464dc80874c944f5c200622a3feb3
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
Signed-off-by: ehvkand <hanamantagoud.v.kandagal@ericsson.com>
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
7 years agoBUG 6726 : Arp Responder for Internal Subnet Gateway IPAddress 31/46231/27
karthik.prasad [Fri, 11 Nov 2016 07:34:38 +0000 (13:04 +0530)]
BUG 6726 : Arp Responder for Internal Subnet Gateway IPAddress

Since all ARP Requests for Gateway IP are punted to controller,
when controller reboots these ARP requests are lost and so
they are not processed. This results in datapath traffic failure
during controller outage duration.

This enhancement introduces a new ARP Responder Table on the
OVS Datapath which will be used to service ARP requests without
the intervention of the controller.   Thereby it enables a
highly available datapath even during controller outage.

This enhancement attempts to address the following 3 usecases:
1. Responding to ARP request for router interface ip address.
2. Responding to ARP request for subnet gateway ip address in case
there is no router interface to serve that subnet gateway ip address.
3. VLAN Tagged ARP packets.

The MYMAC Table (or GWMAC Table) matches on ARP Requests and sends
that same packet to DISPATCHER, CONTROLLER and the new ARP RESPONDER
TABLE.  As of this enhancement, the ARP RESPONDER TABLE is numero 81.

In table 81 an entry is created per gateway IP and lPortTag for an ARP, on
match of the entry an ARP reply packet is created with macaddress of
either the router gateway interface (or) connected macaddress
(in case of direct network association) and forwarded to table 220,
from where packets are sent back to IN_PORT.

This enhancement review also depends on NICIRA ARP actions introduced in
Genius project (refer ActionType.java in Genius repository).
Sample flow entry of ARP Responder Table is attached below.

cookie=0x1c361405, duration=27.172s, table=81, n_packets=1, n_bytes=42,
priority=100,arp,metadata=0x60000300000222e0/0xffffff00fffffffe,arp_tpa=20.20.20.1,arp_op=1
actions=move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],set_field:fe:16:3e:32:29:64->eth_src,
load:0x2->NXM_OF_ARP_OP[],move:NXM_NX_ARP_SHA[]->NXM_NX_ARP_THA[],move:NXM_OF_ARP_SPA[]->NXM_OF_ARP_TPA[],
load:0xfe163e322964->NXM_NX_ARP_SHA[],load:0x14141401->NXM_OF_ARP_SPA[],
load:0->NXM_OF_IN_PORT[],load:0x300->NXM_NX_REG6[],resubmit(,220)

Change-Id: I1e6d60982e0d474c33cfa89a90737f2e7735f1a3
Depends-On: Ida59553187ba20b10bbc4e08d20e491d5dd72200
Signed-off-by: karthik.prasad <karthik.p@altencalsoftlabs.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agoBug 6589 adding support for hwvtep devices ha 01/48101/5
Akash [Tue, 8 Nov 2016 07:29:53 +0000 (12:59 +0530)]
Bug 6589 adding support for hwvtep devices ha

Added listners for corresponding mergers and commands added earlier.
Added Handlers to handle event triggred from listners.
Listners -
HAConfigNodeListener : Listenes to HA node on config data tree and
add/delete/update corresponding HA child config node when triggred.
HAOpClusteredListener : Listenes to HA node on operational data tree in
cluster and update the cache based on connect/reconnect of HA node or
update of non-node to HA node .
HAOpNodeLsitener : Listners to HA child node on operational data tree and
add/delete/update corresponding HA node Operational when triggred .
HwvtepNodeBaseListener : Basic listners which is extended by rest listners
specially for HA feature .
Handlers -
ConfigNodeUpdatedHandler : Handles event from HAConfigNodeListener such as
copying HA ps node data to HA child ps node and HA global Node data to HA
child global node in Config data tree .
OpNodeUpdatedHandler : Handles event from  HAOpNodeLsitener such as copying
HA child ps node data to HA ps node and HA child global Node data to HA
global node in Operational data tree .

Change-Id: I01789c7d783b104095c914ea95d14b52f720a051
Signed-off-by: Akash <a.k.sahu@ericsson.com>
7 years agoBug 7096: After disassociation/association of Router to VPN , it takes 44/48044/14
ehvkand [Mon, 7 Nov 2016 10:34:39 +0000 (16:04 +0530)]
Bug 7096:  After disassociation/association of Router to VPN , it takes
2minutes to update in FIB table

When router is associated to VPN or dis-associated , VpnInterface update
is triggered which will remove vpninterface from old VPN and add it into
new VPN after waiting for FIB to remove VpnInterface from Operational DS.
If config and operational shard are on different PL , the java
notification mechanism used to notify will not work . Hence VpnInterface
update thread will wait for maximum time before adding vpn interface.

To solve it , VpnInterface Op DS and VpnInstance Op DS cache manager is
introduced. Also timer task will not wait on java notification. It will
poll periodically to check whether vpnInterface is removed from old VPN.

Change-Id: I5878e86e80ffe602cd1a4a683fc1458c808aff87
Signed-off-by: ehvkand <hanamantagoud.v.kandagal@ericsson.com>
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
7 years agoAdapt cloud-sc JUnits to new SingleTxDatabroker 57/48657/2
Miguel Perez [Thu, 24 Nov 2016 10:49:42 +0000 (11:49 +0100)]
Adapt cloud-sc JUnits to new SingleTxDatabroker

 + This change is quite urgent since it is blocking some other patches.

 + After the merge of this change [1] in genius, some stubbing needed to
   be readapted

 + NOTE: This patchet cannot be cherrypicked to boron if [1] is not
   cherrypicked to boron in genius in first place.

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

Change-Id: If659ea3cee3fca0b78ba21feb62ba3cddb662e6e
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoBug 6786: L3VPN is not honoring VTEP add or delete in operational cloud 99/48099/11
HANAMANTAGOUD V Kandagal [Thu, 3 Nov 2016 16:22:23 +0000 (21:52 +0530)]
Bug 6786: L3VPN is not honoring VTEP add or delete in operational cloud

As part of making L3VPN honor VTEP add-delete operation , this is a second
set of changes.

This code review contains a Tunnel state listner which listens on VTEP
add/remove events. When VTEP add event is received , interface manager
is queried for list of VpnInterfaces for a DPN on which VTEP is added.
For all those VpnInterfaces , adjacency is updated with a valid VTEP IP as
nexthop IP and also corresponding VRF entry is updated. Similarly on
receiving VTEP delete event , VpnInterface adjacency and VRF entry is
updated.
Also flow rules on DPN are updated accordingly on DPN.

Change-Id: Idca8e0ea674e1c9cfee2ba97b06ed1ae8b17297e
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
Signed-off-by: ehvkand <hanamantagoud.v.kandagal@ericsson.com>
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
7 years agoRefactor the code that updates the vpn-to-dpn list 19/48419/5
Miguel Perez [Wed, 16 Nov 2016 14:30:59 +0000 (15:30 +0100)]
Refactor the code that updates the vpn-to-dpn list

 + This is a prerrequisite for fixing bug 6833 [1]

 + Code that updates the vpn-to-dpn data is being taking out
   of VpnInterfaceManager so that it can also be invoked from
   other places.

 + It is now implemented by the VpnFootprintService

 + It is also offered to other modules, like cloud-servicechain,
   via IVpnManager

 + It is the first step of refactoring this gerrit change that
   had grown too big and complex [2]

 [1] Bug 6833: InterVpnLink FIB routes not populated when no VM on VPN
 [2] https://git.opendaylight.org/gerrit/#/c/45979/

Change-Id: I069c539e5b958f958665b51142404de8f1be7b10
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoBug 7192 - Inter-VPN link routes BGP leaking not working 59/47659/10
Miguel Perez [Thu, 27 Oct 2016 09:15:14 +0000 (11:15 +0200)]
Bug 7192 - Inter-VPN link routes BGP leaking not working

 + The error was setting the original vrfEntry's nexthop as the
   nexthop of the leaked route. This nexthop must be the other
   L3VPN's endpoint address

Change-Id: I37003321a595185afcf4e5df6f5d6d48e7fd4a62
Signed-off-by: Marcos López Samaniego <marcos.lopez.samaniego@ericsson.com>
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoApply checkstyle fixes on cloud-servicechain 38/48438/6
Miguel Perez [Thu, 17 Nov 2016 14:19:19 +0000 (15:19 +0100)]
Apply checkstyle fixes on cloud-servicechain

 + Fixes JUnit: some stubbing needed after removing the
   catches of Exception

 + Removes unnecessary dependency to other 'impl' project

Change-Id: Iff66093d3f01b09f7087a2ea75fe494873a62335
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoBug 7208: Import-Export RT feature is not working on stable-boron 91/48491/2
HANAMANTAGOUD V Kandagal [Fri, 18 Nov 2016 16:51:26 +0000 (22:21 +0530)]
Bug 7208: Import-Export RT feature is not working on stable-boron

On sfi_boron , import-export RT feature is not working. The reason being,
VpnTarget type is referenced from wrong yang model.

Change-Id: Ieede4e63771ae1a589e560781f4e6ca1f133099d
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
7 years agoBug 7119: gw arp didn't resolve 92/48392/4
Olga Schukin [Wed, 16 Nov 2016 10:35:38 +0000 (12:35 +0200)]
Bug 7119: gw arp didn't resolve

Unbind service was not done while removing an external network
Fix - add vpn interface to the operational models for the external nw.

VpnInterface of the provider network port for flat/vlan network has no associated adjacencies but
still needs to be created in order to bind L3VPN service to traffic originated from ext-net.
As a result of not having VpnInterface in OPER DS we discovered there are leftovers in the service
bindings DS after VpnInterface removal (on ext-net delete).
An attempt to create new ext-net will fail to rebind to a new L3VPN service as this interface is already bound.
This fix will allow to clean up the service binding leftovers after ext-net delete operation.

Change-Id: I933052538e7ccd4b90ce5e499e56affdd83219c7
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
7 years agoBug 7188: VpnInterface creation is delayed for 90s 90/48390/4
Olga Schukin [Wed, 16 Nov 2016 10:21:23 +0000 (12:21 +0200)]
Bug 7188: VpnInterface creation is delayed for 90s

VpnInterface creation is delayed for 90s in case vpn instance was not
created first.
- Remove a dependency of task notifying on the router distinguisher value which is not set in case of vlan provider external network

Change-Id: I88f72b010c092ecfa79f920cf879bc7c4a34d9db
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
7 years agoAdded Creative Commons attribution 81/48381/4
Andre Fredette [Tue, 15 Nov 2016 23:43:35 +0000 (18:43 -0500)]
Added Creative Commons attribution

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

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

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

Change-Id: I8534105578160c8d453712d2e7e92f78ec86f05f
Signed-off-by: Andre Fredette <afredette@redhat.com>