netvirt.git
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>
7 years agolegacy netvirt: forcibly disable port security for network port 55/48355/3
Isaku Yamahata [Tue, 15 Nov 2016 10:41:50 +0000 (02:41 -0800)]
legacy netvirt: forcibly disable port security for network port

Security group applies to only VM port. Not to internal used port.
router interface port, dhc port and floating ip port.
which can be identified by its device owner.
"network:{routerxxx, dhcp, floatingip}"
It can be realized by forcibly disabling port security on those port.

With port security extension enabled, neutron disabled port security.
The extension is, however, optional, so ODL shouldn't depend on it.

Partial-bug: #7128
Change-Id: I3295ebc0e77d387cdfb80be318ef048ba9763994
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
7 years agoCheckstyle for dhcpservice-impl 79/48379/2
Sam Hague [Tue, 15 Nov 2016 23:07:40 +0000 (18:07 -0500)]
Checkstyle for dhcpservice-impl

Change-Id: Ifb7faabc533ce5f397e9b5b84f040c3f684785d4
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 7168 - MAC Learning from ARP to be allowed on Ext-Interfaces 46/48346/5
Vivekanandan Narasimhan [Tue, 15 Nov 2016 03:56:16 +0000 (09:26 +0530)]
Bug 7168 - MAC Learning from ARP to be allowed on Ext-Interfaces

An earlier fix to make sure that Neutron configured IPs are not
learned here https://git.opendaylight.org/gerrit/#/c/48054/, has
broken the ability to learn MAC Addresses on external network
via external interfaces.

With this fix, we open the gate to allow MAC learning on all
packets coming from external interface.  This is not the best
possible fix for the problem, but this tentatively allows
the openstack use-case of external network access to continue to
be functional.

Closes-Bug: 7168
Change-Id: Ief6f8bfe26111e07e280a9245a44032a8f32f09d
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agoUpdate specs-template 97/48197/4
Vishal Thapar [Thu, 10 Nov 2016 08:47:13 +0000 (14:17 +0530)]
Update specs-template

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

Change-Id: I7e61492be2e06a43ce4930f68a2cacce4465ab01
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
7 years agoSwitch the NeutronFloatingIP listener to DTCL 11/40111/8
Stephen Kitt [Thu, 9 Jun 2016 14:16:19 +0000 (16:16 +0200)]
Switch the NeutronFloatingIP listener to DTCL

This patch also adds a unit test to verify that the listener
registration works, and migrates to the standard Blueprint pattern of
two-phase listener creation and registration.

Change-Id: I57928b4258f5ef783dde93879136dbd9e148e820
Signed-off-by: Stephen Kitt <skitt@redhat.com>
7 years agoCheckstyle for dhcpservice-api 43/48343/2
Sam Hague [Mon, 14 Nov 2016 22:19:32 +0000 (17:19 -0500)]
Checkstyle for dhcpservice-api

Change-Id: I250b7c5c890e83cb1dfe392097e35b2b8d80dfec
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoFix version warning 40/48340/2
Sam Hague [Mon, 14 Nov 2016 20:28:55 +0000 (15:28 -0500)]
Fix version warning

Change-Id: I278cdb6dd6d0fb50db54e368f1c80aa2e7fc2b42
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 6089:Add support for All ICMP code and type in SG using learn 36/48336/2
hari.pr [Wed, 2 Nov 2016 15:29:38 +0000 (20:59 +0530)]
Bug 6089:Add support for All ICMP code and type in SG using learn

Change-Id: Iba3bab5d04976dfbf22ef5221a33d6d0cd4602cb
Signed-off-by: hari.pr <hari.pr@hcl.com>
7 years agoAdd aggregator pom for commons 38/48338/2
Sam Hague [Mon, 14 Nov 2016 19:19:46 +0000 (14:19 -0500)]
Add aggregator pom for commons

Change-Id: Ib999b7034a95be8a89d72d94dbf2fcd8e2df3404
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoImplement InterVpnLink update operation 20/48220/8
Miguel Perez [Thu, 10 Nov 2016 16:07:06 +0000 (17:07 +0100)]
Implement InterVpnLink update operation

 + An update consists in removing the InterVpnLink and create it
   again with the new data.

 + Its important to ensure that there is no trace of the old
   InterVpnLink before persisting the new one

Change-Id: I025d454e76ba8063e3bf2e98e8eb8e1c8ccb662a
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
Signed-off-by: Marcos López Samaniego <marcos.lopez.samaniego@ericsson.com>
7 years agoMake aggregator poms consistent 25/48325/2
Sam Hague [Mon, 14 Nov 2016 15:38:00 +0000 (10:38 -0500)]
Make aggregator poms consistent

Change-Id: I24616e5c23b4d7e99697787dd2b07e6540feab6f
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoIT for provider network 58/47758/7
Josh [Sun, 30 Oct 2016 15:10:06 +0000 (17:10 +0200)]
IT for provider network

Ping between ports on different nodes
Uses a docker image that:
a) expects two networks, one for mgmt traffic and one for the provider
network
b) binds ovsdb-server to the mgmt nic only
c) sets the provider nic in provider_mappings

Details about the image can be found here:
https://github.com/jhershberg/docker-centos-ovs/tree/two-nics

This commit depends on:
https://git.opendaylight.org/gerrit/#/c/47757/

Change-Id: Ia912dd12ed44769df3c94708712ddeda3f59d669
Signed-off-by: Josh <jhershbe@redhat.com>
7 years agoBug 7162 - legacy netvirt: null pointer exception 97/48297/2
Isaku Yamahata [Sun, 13 Nov 2016 07:30:04 +0000 (23:30 -0800)]
Bug 7162 - legacy netvirt: null pointer exception

provider network type is optional so that it can be null. which causes
null pointer exception.
By default, legacy netvirt interprets network type as flat type.

> java.lang.NullPointerException
>         at org.opendaylight.netvirt.openstack.netvirt.SouthboundHandler.handleInterfaceDelete(SouthboundHandler.java:126)[337:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.SouthboundHandler.processPortDelete(SouthboundHandler.java:190)[337:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.SouthboundHandler.processPortEvent(SouthboundHandler.java:332)[337:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.SouthboundHandler.processEvent(SouthboundHandler.java:274)[337:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.impl.EventDispatcherImpl.dispatchEvent(EventDispatcherImpl.java:96)[337:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.impl.EventDispatcherImpl.lambda$start$0(EventDispatcherImpl.java:58)[337:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_111]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_111]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_111]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_111]
>         at java.lang.Thread.run(Thread.java:745)[:1.8.0_111]

Change-Id: I9c70552ba9faa7db86ceae31996db0ff287e8c78
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
7 years agoBug 7105: Fix learned matches for all TCP/UDP SG 35/48135/10
Alon Kochba [Tue, 8 Nov 2016 18:02:26 +0000 (20:02 +0200)]
Bug 7105: Fix learned matches for all TCP/UDP SG

Fixes learned matches for security rules allowing all
TCP/UDP to properly match the connection.
Refactor common learn implementation logic into common functions.

Change-Id: Ib94cb56cf8c026b85059f336ae042d0f1593e484
Signed-off-by: Alon Kochba <alonko@hpe.com>
7 years agoBug 7075: AlivenessMonitor skip non-neutron ports 32/48132/8
Alon Kochba [Mon, 7 Nov 2016 18:27:45 +0000 (20:27 +0200)]
Bug 7075: AlivenessMonitor skip non-neutron ports

Remove interface utilities from ElanUtils and use Genius.
Skip processing of non-neutron ports in aliveness monitor,
current code just assumes these are neutron ports and hits
an exception.

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

Change-Id: I1515b40876ad1859f7b9ae4eac384efe169a3eab
Signed-off-by: Alon Kochba <alonko@hpe.com>
7 years agoBug 7084: Fix for IP is not assigned in single OpenStack node while creating more... 16/48016/2
bharathi.m [Thu, 3 Nov 2016 19:35:28 +0000 (15:35 -0400)]
Bug 7084: Fix for IP is  not assigned in single OpenStack node while creating more than one VM at a time.

Change-Id: I848a6a864a9898f5fdb98404970e026f90ffda36
Signed-off-by: bharathi.m <bharathi.m@hcl.com>
7 years agoBUG-7093 00/48300/1
Bertrand [Sat, 5 Nov 2016 01:15:25 +0000 (18:15 -0700)]
BUG-7093

Do not add hw_addr configuration for integration
bridge creation when the bridge already exists on
the OVS node as this will cause the dpid on the OVS
node to change.

Change-Id: I11273e0e262c1135a351ea33e3e030116fb71cb5
Signed-off-by: Bertrand <bertrand.low@hcl.com>
7 years agoSupport for IPv6 East-West Routing 20/47520/11
Sridhar Gaddam [Tue, 25 Oct 2016 13:21:49 +0000 (18:51 +0530)]
Support for IPv6 East-West Routing

This patch supports IPv6 east-west communication using OpenFlow rules.

Use-cases verified:
-------------------
1. IPv6 East-West Routing (for dual-stack and IPv6 only network)
   on an all-in-one setup as-well-as multi-node setup.
2. Above use-case in transparent mode and Stateful SG mode.

Sample setup:
-------------
1. Create a Neutron router with two networks (say network1 and network2).
2. Create an IPv6 subnet (or dual-stack) in each network.
3. Associate all the subnets to the router.
4. Spawn VMs on network1 and network2.
5. Verify that ping6 from VM1 (on network1) to VM2 (on network2) is
   successful.
6. ODL virtual router should be able to support routing between the two
   networks using OpenFlow rules.

Change-Id: I7dff4dcccf9e746656ca04cb09f99b31f585fcd8
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 7127 - legacy netvirt: null pointer exception SecurityServicesImpl 46/48146/3
Isaku Yamahata [Wed, 9 Nov 2016 04:21:11 +0000 (20:21 -0800)]
Bug 7127 - legacy netvirt: null pointer exception SecurityServicesImpl

With openstack CI, the following null pointer exception occurs
getDhcpServerPort() can return null.

> 2016-11-08 09:19:17,013 | ERROR | ntDispatcherImpl | EventDispatcher | 336 - org.opendaylight.netvirt.openstack.net-virt - 1.4.0.SNAPSHOT | Exception in dispatching event NorthboundEvent [handler=NEUTRON_PORT, action=UPDATE, port=NeutronPort [portUUID=7b5ef356-7384-466b-9fd0-36366bdfd9eb, networkUUID=f1c4b809-62e3-45bc-8eec-df5ef15cb017, name=, adminStateUp=true, status=null, macAddress=fa:16:3e:be:eb:b4, fixedIPs=[Neutron_IPs{ipAddress='10.1.0.21', subnetUUID='e4b5081c-b081-47c4-af47-f5b6bb28a2de'}], deviceID=613810e5-cb2b-4c19-b7e1-f8ead6cd303b, deviceOwner=compute:None, tenantID=7cdf7d5664f143eab4ea7f3a127ff704, securityGroups=[], bindinghostID=ubuntu-xenial-osic-cloud1-s3500-5245939, bindingvnicType=normal, bindingvnicType=normal, portSecurityEnabled=false], subnet=null, router=null, routerInterface=null, floatingIP=null, network=null, loadBalancer=null, loadBalancerPool=null, loadBalancerPoolMember=null, neutronsecurityRule=null]
> java.lang.NullPointerException
>         at org.opendaylight.netvirt.openstack.netvirt.impl.SecurityServicesImpl.syncFixedSecurityGroup(SecurityServicesImpl.java:462)[336:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.impl.NeutronL3Adapter.processPortSecurityEnableUpdated(NeutronL3Adapter.java:936)[336:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.impl.NeutronL3Adapter.handleNeutronPortEvent(NeutronL3Adapter.java:440)[336:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.PortHandler.doNeutronPortUpdated(PortHandler.java:126)[336:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.PortHandler.processEvent(PortHandler.java:208)[336:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.impl.EventDispatcherImpl.dispatchEvent(EventDispatcherImpl.java:96)[336:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.impl.EventDispatcherImpl.lambda$start$0(EventDispatcherImpl.java:58)[336:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_91]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_91]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_91]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_91]
>         at java.lang.Thread.run(Thread.java:745)[:1.8.0_91]

Change-Id: I22a50533f4e7270badefb3614147a5656e93b352
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
7 years agoBug 7126 - legacy netvirt: null pointer exception NeutronSubnetInterface.fromMd 45/48145/3
Isaku Yamahata [Wed, 9 Nov 2016 03:55:32 +0000 (19:55 -0800)]
Bug 7126 - legacy netvirt: null pointer exception NeutronSubnetInterface.fromMd

With openstack CI, legacy netvirt spits the following null pointer
exception.

> 2016-11-08 09:15:31,792 | ERROR | ntDispatcherImpl | TenantNetworkManagerImpl         | 336 - org.opendaylight.netvirt.openstack.net-virt - 1.4.0.SNAPSHOT | getDHCPServerPort:getDHCPServerPort failed due to
> java.lang.NullPointerException
>         at org.opendaylight.netvirt.openstack.netvirt.translator.crud.impl.NeutronSubnetInterface.fromMd(NeutronSubnetInterface.java:178)
>         at org.opendaylight.netvirt.openstack.netvirt.translator.crud.impl.NeutronSubnetInterface.getSubnet(NeutronSubnetInterface.java:84)
>         at org.opendaylight.netvirt.openstack.netvirt.impl.SecurityServicesImpl.getDhcpServerPort(SecurityServicesImpl.java:164)
>         at org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.OF13Provider.programLocalSecurityGroupRules(OF13Provider.java:1056)
>         at org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.OF13Provider.programLocalRules(OF13Provider.java:814)
>         at org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.OF13Provider.handleInterfaceUpdate(OF13Provider.java:1194)
>         at org.opendaylight.netvirt.openstack.netvirt.SouthboundHandler.handleInterfaceUpdate(SouthboundHandler.java:101)[336:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.SouthboundHandler.processPortUpdate(SouthboundHandler.java:343)[336:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.SouthboundHandler.processPortEvent(SouthboundHandler.java:329)[336:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.SouthboundHandler.processEvent(SouthboundHandler.java:274)[336:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.impl.EventDispatcherImpl.dispatchEvent(EventDispatcherImpl.java:96)[336:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.impl.EventDispatcherImpl.lambda$start$0(EventDispatcherImpl.java:58)[336:org.opendaylight.netvirt.openstack.net-virt:1.4.0.SNAPSHOT]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_91]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_91]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_91]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_91]
>         at java.lang.Thread.run(Thread.java:745)[:1.8.0_91]

Change-Id: Id02d8e4f76c2394b6e765e7dfb92e66693051769
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
7 years agoBUG-7016 flows fix the bug that flows is not corrrect after the 87/48187/2
wangqianyu [Thu, 10 Nov 2016 00:41:26 +0000 (08:41 +0800)]
BUG-7016 flows fix the bug that flows is not corrrect after the
reconnection of ovs

Fixes bug 7016
    1. do the all neutron port add when reconnect to ovs
    2. when dpip changed, change the action to add

Change-Id: I8a16c40078019096ef25b62253c47fc5bc562482
Signed-off-by: wangqianyu <wang.qianyu@zte.com.cn>
7 years agoBug 7157: Modify inter-VPN link model to enable route leaking 16/48116/4
Marcos López Samaniego [Tue, 8 Nov 2016 11:44:41 +0000 (12:44 +0100)]
Bug 7157: Modify inter-VPN link model to enable route leaking

Change-Id: I82ee50acb9c1d9b6b6a8a548d2b484d32fe9d787
Signed-off-by: Marcos López Samaniego <marcos.lopez.samaniego@ericsson.com>
7 years agoBug 7125 - legacy: ConcurrentModificationException 44/48144/3
Isaku Yamahata [Tue, 8 Nov 2016 03:48:34 +0000 (19:48 -0800)]
Bug 7125 - legacy: ConcurrentModificationException

With openstack devstack, ConcurrentModificationException occurs as
follows
> java.util.ConcurrentModificationException
>         at java.util.HashMap$HashIterator.nextNode(HashMap.java:1437)[:1.8.0_111]
>         at java.util.HashMap$KeyIterator.next(HashMap.java:1461)[:1.8.0_111]
>         at org.opendaylight.netvirt.openstack.netvirt.impl.NeutronL3Adapter.updateNetworkInCleanupCache(NeutronL3Adapter.java:1625)[289:org.opendaylight.netvirt.openstack.net-vir
> t:1.3.1.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.impl.NeutronL3Adapter.handleNeutronNetworkEvent(NeutronL3Adapter.java:786)[289:org.opendaylight.netvirt.openstack.net-virt:1
> .3.1.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.NetworkHandler.doNeutronNetworkUpdated(NetworkHandler.java:100)[289:org.opendaylight.netvirt.openstack.net-virt:1.3.1.SNAPSH
> OT]
>         at org.opendaylight.netvirt.openstack.netvirt.NetworkHandler.processEvent(NetworkHandler.java:175)[289:org.opendaylight.netvirt.openstack.net-virt:1.3.1.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.impl.EventDispatcherImpl.dispatchEvent(EventDispatcherImpl.java:96)[289:org.opendaylight.netvirt.openstack.net-virt:1.3.1.SN
> APSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.impl.EventDispatcherImpl.lambda$start$0(EventDispatcherImpl.java:58)[289:org.opendaylight.netvirt.openstack.net-virt:1.3.1.S
> NAPSHOT]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_111]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_111]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_111]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_111]
>         at java.lang.Thread.run(Thread.java:745)[:1.8.0_111]

Change-Id: Icdeb4f578ef18fa34663640d78f8d0585805ae70
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
7 years agoAdd link to specs 71/48271/2
Sam Hague [Fri, 11 Nov 2016 17:09:57 +0000 (12:09 -0500)]
Add link to specs

Change-Id: Idb31c16111eb6ce00554234bab7e104a5a996f5a
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 7147: VpnInterfaces not removed when InterVpnLink is removed 25/48225/3
Miguel Perez [Thu, 10 Nov 2016 16:22:45 +0000 (17:22 +0100)]
Bug 7147: VpnInterfaces not removed when InterVpnLink is removed

 + Current code is trying to remove them from CONFIGURATION, but it
   should be OPERATIONAL

Change-Id: Icaa91b5060340c4816358314b469b4a4789a5edd
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoBug 7124 - legacy netvirt: null pointer exception in SouthboundHandler 43/48143/2
Isaku Yamahata [Tue, 8 Nov 2016 00:35:40 +0000 (16:35 -0800)]
Bug 7124 - legacy netvirt: null pointer exception in SouthboundHandler

This patch avoids null pointer exception as follows.
With openstack tempest CI, the following exception occurs.

> java.lang.NullPointerException
>         at org.opendaylight.netvirt.openstack.netvirt.SouthboundHandlercd.processPortDelete(SouthboundHandler.java:184)[289:org.opendaylight.netvirt.openstack.net-virt:1.3.1.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.SouthboundHandler.processPortEvent(SouthboundHandler.java:332)[289:org.opendaylight.netvirt.openstack.net-virt:1.3.1.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.SouthboundHandler.processEvent(SouthboundHandler.java:274)[289:org.opendaylight.netvirt.openstack.net-virt:1.3.1.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.impl.EventDispatcherImpl.dispatchEvent(EventDispatcherImpl.java:96)[289:org.opendaylight.netvirt.openstack.net-virt:1.3.1.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.impl.EventDispatcherImpl.lambda$start$0(EventDispatcherImpl.java:58)[289:org.opendaylight.netvirt.openstack.net-virt:1.3.1.SNAPSHOT]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_111]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_111]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_111]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_111]
>         at java.lang.Thread.run(Thread.java:745)[:1.8.0_111]

Change-Id: I8549fb799ac0ae797f4b84dc8d910ef02b65a0ad
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
7 years agoAdded default Security Group to test modes other than transparent. 58/47058/4
Aswin Suryanarayanan [Tue, 18 Oct 2016 09:18:46 +0000 (14:48 +0530)]
Added default Security Group to test modes other than transparent.

The default SG enables communication between the VM spawned in default
SG, but does not allow external traffic.

Change-Id: I8c7735e8ddeeb1df65dabffa56382825abd4f697
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
7 years agoBug 6786: L3VPN is not honoring VTEP add or delete in operational cloud 52/47452/10
HANAMANTAGOUD V Kandagal [Mon, 24 Oct 2016 14:34:19 +0000 (20:04 +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 first
set of change where VpnInterface can be configured and VRF entry created
even if VTEP IP on a DPN is not available.

Change-Id: If07f297be3894fe1cd5de5b614565055fa16f09e
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
Signed-off-by: ehvkand <hanamantagoud.v.kandagal@ericsson.com>
7 years agoBug 6822: IVpnLink Static routes not removed on cascade 72/47672/9
Marcos López Samaniego [Fri, 28 Oct 2016 07:17:15 +0000 (09:17 +0200)]
Bug 6822: IVpnLink Static routes not removed on cascade

When an inter-VPN link is removed, we must ensure that there is no
NeutronRouter with an static route pointing to one of the
inter-VPN link's endpoints.

Change-Id: Ib061599fd8e1fd0a56a128d1ae1863d7c47d9170
Signed-off-by: Marcos López Samaniego <marcos.lopez.samaniego@ericsson.com>
7 years agoBug 6853 : Directly removing floatingip doesn't rmv mac entries from T19 53/46653/14
Abhinav Gupta [Fri, 7 Oct 2016 08:27:06 +0000 (13:57 +0530)]
Bug 6853 : Directly removing floatingip doesn't rmv mac entries from T19

NAT model change to accomodate and pass the mac address, uuid and subnet
id of the floating ip port for creating table 19 entries, obtained via
the created neutron port upon a floating ip create.

Subnet ID is also passed along to be used by onAddFloatingIP, thus
eliminating a neutron port lookup for the same.

These changes take care of the population, depopulation of newly added /
tweaked models and consumption of the same in NATService.
Also includes some refactoring and cleaning up.

Change-Id: I0bd8fd3937c91e885e77aeaafe4522ce4751b0fa
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
7 years agoBug 6777 - FIB entries for RNH routed to VxLAN tunnel for flat/VLAN provider networks 81/46881/10
Tali [Thu, 13 Oct 2016 11:13:57 +0000 (13:13 +0200)]
Bug 6777 - FIB entries for RNH routed to VxLAN tunnel for flat/VLAN provider networks

Change-Id: Id0265159d3e4a9e92fc2e42f6129d7c1ff819369
Signed-off-by: Tali <tali.ben-meir@hpe.com>
7 years agoBUG 7116: Change in TunnelInterfaceStateListener.java 77/46877/9
Suraj Ranjan [Thu, 13 Oct 2016 10:37:05 +0000 (16:07 +0530)]
BUG 7116: Change in TunnelInterfaceStateListener.java

Review [1] introduced some yang changes in genius. This review includes
relevent changes in netvirt.

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

Change-Id: Ide1f633bb8852562d297bf92f73b93b1faadb664
Signed-off-by: Suraj Ranjan <suraj.ranjan@ericsson.com>
7 years agoBug 6934: VpnPseudoPort flows not moved to a new DPN (II) 71/47871/3
Miguel Perez [Thu, 3 Nov 2016 09:26:53 +0000 (10:26 +0100)]
Bug 6934: VpnPseudoPort flows not moved to a new DPN (II)

 + This change completes change [1]

 + When karaf is started, Cache wasn't being fed with existing data
   in MD-SAL

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

Change-Id: I93d03094181093bcaa1608b3c95d6dbcfca55741
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoBug 6904 : ELANInstance read causing NPE on cluster reboot while sending 23/46823/8
Abhinav Gupta [Fri, 7 Oct 2016 12:58:29 +0000 (18:28 +0530)]
Bug 6904 : ELANInstance read causing NPE on cluster reboot while sending
notifs.

ELANInstance read was causing NPE on cluster reboot while sending notifs,
leading to breakage in subnetRoute feature.

This commit depends on [1] and addresses the following:

1. On Cluster Reboot, the DataStore events are getting triggered out of
order and hence some data are not available when processing subnet and
ports addition. This fix addresses fetching elanTag from elanDatastore.
If the elan datastore is not written with the elanTag, then the elanTag
is tried to be retrieved from the IdManager.

2. Added logs indicating creation/deletion of ELAN instance.

3. Improved try-catch error handling 4. Proceeding with DjC transaction
for other operations in case this fails.

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

Change-Id: Icb09f4a6081b18a01ed6dc4590e695cf04fb9eb5
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
7 years agoFixed UT failure in AclServiceTest 50/48250/1
Somashekar Byrappa [Fri, 11 Nov 2016 10:02:54 +0000 (15:32 +0530)]
Fixed UT failure in AclServiceTest

Change-Id: I9f4baba6218cdf9f49a791c20a51b49c904cfca3
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
7 years agoBug 7020: Deletion issue when VM has multiple SGs with same rules 19/47519/9
Somashekar Byrappa [Tue, 25 Oct 2016 13:08:37 +0000 (18:38 +0530)]
Bug 7020: Deletion issue when VM has multiple SGs with same rules

Issue: When VM has multiple SGs with same rules, single flow is created
on switch for the common rules. When one of the SG is dissociated from
the VM, that particular flow is deleted from the switch even though
there is another SG with same rules.

Fix:
- For all overlapping rules, individual flows are created on the switch
  with different priorities.
- Per SG, unique flow priority is created using IdManager. Pool range is
    1000-60000.
- Flow priorities are cached to avoid multiple lookups.
- Note, CT_STATE_NEW_PRIORITY_DROP is now set to value 50

Fix provided for stateful mode only.

Change-Id: I1d3c69883aeadb786536c3e7bf76534c1f137336
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoBug 7106: Handles static routes at InterVpnLink creation 91/47691/9
Miguel Perez [Thu, 27 Oct 2016 16:13:27 +0000 (18:13 +0200)]
Bug 7106: Handles static routes at InterVpnLink creation

 + When an InterVpnLink is created it is possible that there are
   some static routes pointing to any of the InterVpnLink endpoints.
   This could happen if, for example, an InterVpnLink is removed and
   created again after some time.

 + So, at InterVpnLink creation, it'll check all Neutron routers to see
   if any of them has an static route whose nexthop is one of the
   InterVpnLink endpoints. If so, the static route must be 'installed'
   in the DPN where the corresponding Endpoint has been instantiated.

 + There is a bit of refactoring. Code that was in VpnRpcServiceImpl has
   been extracted to InterVpnLinkUtils so that it can be reused.

 + InterVpnLinkCache is now created at InterVpnLinkListener creation

Change-Id: I6d53ca282f41d64c2eaa5fb1d96eec20c902ffb5
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 7086: ELAN broadcast group for VLAN network 10/48110/2
Olga Schukin [Tue, 8 Nov 2016 10:24:09 +0000 (12:24 +0200)]
Bug 7086: ELAN broadcast group for VLAN network

The remote BC group for ELAN of type flat/VLAN contains buckets to
access tunnel EP but not for the provider port

Change-Id: I2d6861e86a9362b0f9ebd82f886eb05db3738da3
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
7 years agoBug 7107: RouteOrigin updated to support Local routes 01/45801/26
Marcos López Samaniego [Tue, 13 Sep 2016 14:10:26 +0000 (16:10 +0200)]
Bug 7107: RouteOrigin updated to support Local routes

 + Usage:

    BGP  - Indicates Routes Imported via BGP into ODL

    CONNECTED – Every subnet (for example a VPN) has a route directly connected
            for that subnet. Same description than Cisco (all /24 for us)

    STATIC -  The static routes introduced by the OpenStack command “extra routes”

    SELFIMPORTED - Indicates this Route is replayed route on a new BGP VPN,
            which is importing RT from another BGPVPN which originally owns
            this route

    LOCAL - https://supportforums.cisco.com/document/63281/local-host-routes-routing-table
            (basically /32 host routes).

    INTERVPNLINK – Indicates Routes replayed by InterVPNLink due to
            Route Leaking. Inter-VPN link is configurable for leaking BGP,
            connected and/or static routes. LOCAL routes are not leaked,
            this is why this change is introduced.

 + RouteOrigin is intended to be in line with:

   http://study-ccna.com/connected-static-dynamic-routes/ and
   https://supportforums.cisco.com/document/63281/local-host-routes-routing-table

Change-Id: I7afdfd7d2db8d36c62ad8ee1279daa33d04f6932
Signed-off-by: Marcos López Samaniego <marcos.lopez.samaniego@ericsson.com>
7 years agoBug 7101: Restrict ARP to only learn non-neutron IPs 54/48054/6
Vivekanandan Narasimhan [Mon, 7 Nov 2016 13:23:49 +0000 (18:53 +0530)]
Bug 7101: Restrict ARP to only learn non-neutron IPs

Current ARP Handling code was trying to form
learned vpnportiptoport entries for configured
neutron ports incorrectly.  This is observed to
be happening primarily during the swap window from
internal to external VPN and vice-versa.

The fix attempts to make sure that the VPNInterface
we are servicing ARP for is indeed the same as configured by the
tenant.

Change-Id: I17bb53a2997e77a9ba7ce13284525ac403fd2bac
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agoBug 6589 adding support for hwvtep devices ha 03/46603/10
Akash [Thu, 6 Oct 2016 10:11:24 +0000 (15:41 +0530)]
Bug 6589 adding support for hwvtep devices ha

Added 4 merger classes to merge the data between ha child and parent node.
GlobalNodeMerger – takes care of merging the Node attributes
GlobalNodeAugmentationMerger – takes care of merging augmentation
attributes
PSNodeMerger – takes care of merging Physical Switch Node attributes.
PSAugmentationMerger – takes care of merging physical switch augmentation
attributes

NodeConnectedHandler takes care of merging the data when a node gets
connected.
When a ha child node gets connected , we perform the following.
Merge the ha parent config data to child node.
Merge the ha parent physical node config data to child physical node.
Merge the child operational data to parent operational data.
Merge the child physical switch node operational data to parent physical
switch operational node

Change-Id: I4defbe942b39bc05b3f5b9815a11e722ddc3991b
Signed-off-by: Akash <a.k.sahu@ericsson.com>
7 years agoBug 7120 : NAT Support For GRE TEP add/del is missing 21/47621/12
Satish Dutt [Wed, 26 Oct 2016 15:13:50 +0000 (20:43 +0530)]
Bug 7120 : NAT Support For GRE TEP add/del is missing

Support has been added in the NAT for the GRE TEP changes. Below are the
enhancements :

1) When GRE TEP is deleted :

a) SNAT : If the corresponding DPN was the NAPT switch, then a new NAPT
switch is
re-elected among the other DPNs and rest of the non-NAPT switches point to
the new NAPT switch. The routes to the External Fixed IPs (SNAT IPs) are
updated with the new NAPT switch address.

b) DNAT : If the corressponding DPN was hosting VMs with the Floating IPs,
then
the routes to those FIPs are withdrawn from the BGP and removed from the
controller FIB.

2) When the GRE TEP is added :

a) SNAT : The correponding DPN will be delegated as the non NAPT switch
and made to point to the exsiting NAPT switch. Routes are not altered.

b) DNAT : If the corresponding DPN was hosting VMs with the Floating IPs,
then routes to those FIPs are advertised to the BGP and installed in the
controller FIB.

Change-Id: I0cb968b7beb9ec294cc4bafb6539e2e6cdd1c541
Signed-off-by: Satish Dutt <satishd@altencalsoftlabs.com>
7 years agoFixes Bug 7076 SSH between vm in different network on same compute is 75/47875/2
Aswin Suryanarayanan [Thu, 3 Nov 2016 11:40:28 +0000 (17:10 +0530)]
Fixes Bug 7076 SSH between vm in different network on same compute is
blocked even with an allow rule.

the conntrack +trk rule is removed in egress pipeline. Now the packets
will be always send to netfilter  for checking the status of the
connection in a zone.

the ct_state check is removed from table 40 and 251, and packet will be
send to netfilter without checking the ct_state.

fixed the UT test cases, no new UT added as this fix is not for a
particular scenario and exsiting UT will cover the change.

Change the priority on +trk+inv as the invalid packet will be always
dropped, so it is not required to check all the +trk+new rules.

Change-Id: I61f347ef537cba4d144ca2e9f8677434ca200cbc
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
7 years agoFix one of the Netvirt IT test cases failure. 97/47797/5
vinoth [Fri, 21 Oct 2016 11:47:48 +0000 (17:17 +0530)]
Fix one of the Netvirt IT test cases failure.

   - Add logs to debug the rest of the test cases failures.

Change-Id: I0fca6790b70f921d6f9f552835d809d34f3f63b4
Signed-off-by: vinoth <m.vinoth@hcl.com>
7 years agoaclservice-impl infra sandbox package clean-up; rm things now in mdsal 73/47973/3
Michael Vorburger [Fri, 4 Nov 2016 09:07:18 +0000 (10:07 +0100)]
aclservice-impl infra sandbox package clean-up; rm things now in mdsal

Three test infra util classes which were originally incubated in the
aclservice.tests.infra package have meanwhile made it into mdsal, and
are thus removed here, with references adjusted accordingly.

Change-Id: Ibfc52b4cee4853e80b8f1c46bd5342796e7341d8
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoListens to Network-topology nodes instead of inventory ones 42/47542/4
Miguel Perez [Tue, 25 Oct 2016 15:40:52 +0000 (17:40 +0200)]
Listens to Network-topology nodes instead of inventory ones

 + Listening from opendaylight-inventory nodes changes fires too many
   updates that are not needed for the purpose of
   InterVpnLinkNodeListener.

 + So this listener will be now notified for changes in 'flow' nodes under
   network-topology.

Change-Id: I97e4e977678e9dd3bc7c86617a2838c2d4caa100
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoBug 7034 : Replace all write_actions by apply_actions. 80/47580/4
Slava Radune [Wed, 26 Oct 2016 07:41:31 +0000 (10:41 +0300)]
Bug 7034 : Replace all write_actions by apply_actions.

write_actions is used to aggregate action (in actions set) to be apllied once there is no more goto table instruction.
In our case there is no need of this, only complicates the debugability and causing bugs.

Related review:
https://git.opendaylight.org/gerrit/#/c/46538/

Change-Id: I3324e25ed30b876d2ee0fea30c2c53b24cedf528
Signed-off-by: Slava Radune <slava.radune@hpe.com>
7 years agosmall fixes related to Bug 7031 56/47756/3
Olga Schukin [Sun, 30 Oct 2016 12:22:59 +0000 (14:22 +0200)]
small fixes related to Bug 7031

- write an empty nexthop ip address
- check if the primary adjacency before its using
- increase the flow priority

Change-Id: Ifb6646553ef60a6de91346a021d8b2ec0e9d75b0
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
7 years agoBug 7091 : When Primary NAPT switch goes down, NAPT switch re-election is 98/47998/4
Satish Dutt [Fri, 4 Nov 2016 15:20:39 +0000 (20:50 +0530)]
Bug 7091 : When Primary NAPT switch goes down, NAPT switch re-election is
not happening.

The root cause of this issue was the change in the representation of the
ietf-interfaces:interfaces-state model.

Since NAT models depends upon the ietf-interfaces:interfaces-state model,
NAT HA functionality of re-electing the NAPT switch never got triggered
and the functionality got broken. As per the new representation of the
'ietf-interfaces:interfaces-state' model, 'oper-status' attribute value is
'unknown' if the corressponding DPN goes down.

update() of the NatInterfaceStateChangeListner is implemented to handle this change for
clearing or populating the 'dpn-vpninterfaces-list' in the NAT model
'odl-l3vpn:neutron-router-dpns' used by the NAT HA code.

Change-Id: I533c9c1c5d32ab5967cd21e7b0f203978b074703
Signed-off-by: Satish Dutt <satishd@altencalsoftlabs.com>
7 years agoAdd .tox to .gitignore 28/48128/1
Vishal Thapar [Tue, 8 Nov 2016 15:30:14 +0000 (21:00 +0530)]
Add .tox to .gitignore

Running tox in docs folder generates .tox as output directory.

Change-Id: Ic8f4ec72771bcc1211e360c791aeffbbb787168d
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
7 years agoAdd template for design spec documents 66/47966/4
Vishal Thapar [Fri, 4 Nov 2016 04:51:48 +0000 (10:21 +0530)]
Add template for design spec documents

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

Change-Id: I76e6d08d6424ffbfbb2ed9a3aeffed5809981bee
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
7 years agoBug 7074 98/47798/2
Ravit Peretz [Tue, 1 Nov 2016 15:07:15 +0000 (17:07 +0200)]
Bug 7074
Fix wrong validation check in dynamic tunnel creation logic

Change-Id: I176e489b1aa4b54a905c0c9d86f58d9029dc5168
Signed-off-by: Ravit Peretz <ravit.peretz@hpe.com>
7 years agoBug 7045: ACL: Default flows are not programmed in Cluster environment 73/47673/5
Shashidhar Raja [Thu, 27 Oct 2016 13:15:46 +0000 (18:45 +0530)]
Bug 7045: ACL: Default flows are not programmed in Cluster environment

AclNodeListener (which is a DataTreeListener) had ACL service entity owner
check. Because of this check, default flows were not pushed to the switch
in clustered environment. As a fix for the issue, this check has been
removed now

Change-Id: Ia33d22dbf65db28c4963a9375a341702af2c5503
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
7 years agoBug 7055: Interface removals donot keep Op DS and Cfg DS consistent. 15/47715/3
Vivekanandan Narasimhan [Fri, 28 Oct 2016 07:01:33 +0000 (12:31 +0530)]
Bug 7055: Interface removals donot keep Op DS and Cfg DS consistent.

Southbound driven interface removals (if northbound
port-delete gets delayed), fail to keep the
operational and config DS in sync.

This fix makes sure the missing operTxn submission
happens and it happens before the config DS submission.

Change-Id: I3a1e404c5eee12c0d69dea4eddd7d202efb72d69
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agoBUG 6940 - Avoid TZ subnet per neutron subnet 15/48015/2
Jaime Caamaño Ruiz [Fri, 14 Oct 2016 13:14:42 +0000 (15:14 +0200)]
BUG 6940 - Avoid TZ subnet per neutron subnet

Before this patch, each neutron subnet was being mapped to a transport
zone subnet. This is not correct, as the transport zone subnets relate
to the provider subnet each TEP belongs to and not to overlay subnets.
The observed problem is that the same TEP could be configured multiple
times on different transport zone subnets. This would result on ITM
getting confused and thinking that some TEPs are not longer needed and
removing them.

Since at this point there is not particular reason to group the TEPs by
subnets, this change proposes to configure the TEPs on the 0.0.0.0/0
subnet.

Change-Id: Id869fae5417aa9bff292b9bb1e738e05c7ea9bd1
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
(cherry picked from commit 8f0fabb08def29f6568ea74a6828491221be0e1c)

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

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

Change-Id: Id2433e24c28e8d66dcf2be9a00c98567d61499da
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
7 years agoclarify log message and reduce dbg level on rx of ARP requests 05/47805/7
Alon Kochba [Tue, 1 Nov 2016 19:18:37 +0000 (21:18 +0200)]
clarify log message and reduce dbg level on rx of ARP requests

Change-Id: Ib0d915010e2de93965c0c6dc62fd073f420bb8b1
Signed-off-by: Alon Kochba <alonko@hpe.com>
7 years agoBUG-6341: use common Coda Hale Metrics 37/43737/4
Stephen Kitt [Thu, 11 Aug 2016 15:13:13 +0000 (17:13 +0200)]
BUG-6341: use common Coda Hale Metrics

This depends on https://git.opendaylight.org/gerrit/43717

Change-Id: I5b9ae630df2b06567b382fb32939bb1b7a3930ab
Signed-off-by: Stephen Kitt <skitt@redhat.com>
7 years agoAdd Docs for netvirt 69/47969/2
Vishal Thapar [Fri, 4 Nov 2016 05:41:42 +0000 (11:11 +0530)]
Add Docs for netvirt

This patch just initializes sphinx for netvirt.

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

Change-Id: Idd3bd2c1a78e9e19d3a783758ab43d188d50f67f
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
7 years agoClean up to convert tabs to spaces in *.xtend 75/47975/1
Michael Vorburger [Fri, 4 Nov 2016 09:20:03 +0000 (10:20 +0100)]
Clean up to convert tabs to spaces in *.xtend

Checkstyle (in odlparent) is about to enforce space-instead-tab control
for *.xtend just like it does for *.java

Change-Id: I06e9519f073307af9379a33064137fb3ff4bab9f
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoBug 6992 - legacy: ignore IPv6 router interface 75/47175/5
Isaku Yamahata [Tue, 18 Oct 2016 19:18:02 +0000 (12:18 -0700)]
Bug 6992 - legacy: ignore IPv6 router interface

Since NeutronL3Adapter doesn't know ipv6, it should ignore
ipv6 router interface. Especially floating ip doesn't work
depending on the situation.

Neutron Router can be attached with both of IPv6 only port and IPv4 only
port. IPv6 only port should be ignored when programming for floatingip.
Otherwise networkIdToRouterMacCache can populated with mac address of
IPv6 only port, and programFlowsForNeutronRouterInterface() may program
flow with IPv4 address with mac address of IPv6 port. It should use
mac address of the IPv4 port. Otherwise floatingip is broken.

Change-Id: I87ec4e2537666f5db6826ca93be8be1793157ec7
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
7 years agoBump SFC dependency version 97/47897/1
Vratko Polak [Thu, 3 Nov 2016 14:33:33 +0000 (15:33 +0100)]
Bump SFC dependency version

SFC has bumped their versions in:
https://git.opendaylight.org/gerrit/47001

Change-Id: I6e1141467d8786209c8d74a136bb68379df7024f
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
7 years agoFix for Bug 7059 61/47761/1
gvrangan [Sat, 29 Oct 2016 01:06:33 +0000 (01:06 +0000)]
Fix for Bug 7059

Included Offset in the table numbers for resubmit and the learn rules

Change-Id: Ibaed3da431de62d1583d9463cd5cdbc06c9d0720
Signed-off-by: gvrangan <venkatrangang@hcl.com>
7 years agoFix for ACL UT failure 34/47734/1
Somashekar Byrappa [Fri, 28 Oct 2016 12:05:54 +0000 (17:35 +0530)]
Fix for ACL UT failure

+ In Genius, MetaDataUtil.METADATA_MASK_LPORT_TAG was updated recently.
Hence updated the same in ACL UT.

Change-Id: I059a9036481b5264e99bc00a8987e7f4cfea4e1f
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
7 years agoDisable SG IT test until learn test is included 40/47640/2
Sam Hague [Wed, 26 Oct 2016 20:50:04 +0000 (16:50 -0400)]
Disable SG IT test until learn test is included

Change-Id: I6a64dd4f02cfa65f2145d2c687189aa0dd34a1fe
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoIT - L3 tests 78/45578/13
Oded Shvartz [Wed, 7 Sep 2016 12:30:48 +0000 (15:30 +0300)]
IT - L3 tests

Added new tests to validate L3 connectivity:
- create 2 different networks with 2 ports.
- validate that ping between the ports is not working.
- create a router and connect the networks to it.
- validate that ping is working.

Change-Id: Ie9f5fa9b4cb10447fd15b313cfbee47ab29e718f
Signed-off-by: Oded Shvartz <oshvartz@redhat.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Author: Sam Hague <shague@redhat.com>

7 years agoDo not log frequest NeutronHostConfig updates 24/47524/2
Sam Hague [Tue, 25 Oct 2016 13:43:22 +0000 (09:43 -0400)]
Do not log frequest NeutronHostConfig updates

Change-Id: Ic56df1bee3d2cc2c2dbb175ff974a7f4c99a7846
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoDo not add br-int when manually deleted 23/47523/2
Sam Hague [Mon, 24 Oct 2016 16:09:48 +0000 (12:09 -0400)]
Do not add br-int when manually deleted

Change-Id: I87f9acad3c42d0fce81c411917b331052a99a913
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 7024: When router is associated to L3VPN , VRF entry creations takes 40/47540/3
HANAMANTAGOUD V Kandagal [Tue, 25 Oct 2016 15:36:52 +0000 (21:06 +0530)]
Bug 7024: When router is associated to L3VPN , VRF entry creations takes
long time

When router is associated to L3VPN and dis-associated it takes long time
for VRF entries to get created and also for table=21 entries to appear on
DPN.

When swap from internal-to-external VPN or vice-versa happens,
VpnInterfaceManager waits on notify task for 50sec eventhough FIB has
already cleaned up. This is due to notification not fired from VpnInterface
Oplistner.

Change-Id: Ic16febd1f322f5c79d17e428a8f95133e7fef227
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
7 years agoBug 6089: Fix the wrong implementation for ICMPV6 22/47422/2
hari.pr [Fri, 21 Oct 2016 23:22:10 +0000 (04:52 +0530)]
Bug 6089: Fix the wrong implementation for ICMPV6

  * As of now learn supports only ICMPV4 code(0) and types(8,13,15,17)
  * reverting the ICMPV6 changes

Change-Id: I621eccf7707b5a9cba835d35df3446568158efd5
Signed-off-by: hari.pr <hari.pr@hcl.com>
7 years agoBug 7031: Implement ping responder for router interfaces 34/45634/15
Olga [Sun, 4 Sep 2016 09:13:07 +0000 (12:13 +0300)]
Bug 7031: Implement ping responder for router interfaces

Trello task:
https://trello.com/c/z19VUYoU/151-ping-responder-for-router-interfaces-ipv4

Required for several tempest tests that ping the router interface.

This change depends on the following reviews:
[1] https://git.opendaylight.org/gerrit/45192
[2] https://git.opendaylight.org/gerrit/45632
[3] https://git.opendaylight.org/gerrit/46219

Change-Id: Iac9ad2d70fecba823630281142b632757c3a48c2
Signed-off-by: Olga <olga.schukin@hpe.com>
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
Author: Sam Hague <shague@redhat.com>
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 6476 : After configuring NAPT, table 26 and table 46 are not programmed 22/47222/3
Satish Dutt [Thu, 20 Oct 2016 20:15:58 +0000 (01:45 +0530)]
Bug 6476 : After configuring NAPT, table 26 and table 46 are not programmed

Issue was observed when interfaces were added to router, after the VM was
spawned, due to the timing between two threads. Addressed this issue

Change-Id: I5171bd98df28a4fe59daace7c1a2ad444e1bb1e0
Signed-off-by: Satish Dutt <satishd@altencalsoftlabs.com>
Author: Sam Hague <shague@redhat.com>
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoChanged the AsyncDataChangeListenerBase to 32/47132/9
Satish Dutt [Wed, 19 Oct 2016 14:56:51 +0000 (20:26 +0530)]
Changed the AsyncDataChangeListenerBase to
AsyncDataTreeChangeListenerBase in the NAT reated files

Addressed the review comments

Change-Id: I9fa06d9d230839ab8b812470469e14f247b7d8f5
Signed-off-by: Satish Dutt <satishd@altencalsoftlabs.com>
Author: Sam Hague <shague@redhat.com>
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 6778 - VPN interface for external port is deleted when clearing router gw interface 03/46003/21
Tali [Wed, 21 Sep 2016 18:19:24 +0000 (21:19 +0300)]
Bug 6778 - VPN interface for external port is deleted when clearing router gw interface

This patch fixes several external VPN interface issues
1) VPN interface will be created for each newly created external ELAN interface
and deleted on ELAN interface deletion
2) External VPN interfaces + VPN instance will be deleted only after ext-net was deleted

Change-Id: Ie358c214afcea1f894db6c46fe9827e637f52863
Signed-off-by: Tali <tali.ben-meir@hpe.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Author: Sam Hague <shague@redhat.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agoFix missing init for VpnPseudoPortListener 81/47381/2
Sam Hague [Sat, 22 Oct 2016 15:26:55 +0000 (11:26 -0400)]
Fix missing init for VpnPseudoPortListener

2016-10-21 17:21:27,920 | ERROR | rint Extender: 1 | BlueprintContainerImpl           | 15 - org.apache.aries.blueprint.core - 1.6.1 | Unable to start blueprint container for bundle org.opendaylight.netvirt.cloud-servicechain-impl/0.4.0.SNAPSHOT
org.osgi.service.blueprint.container.ComponentDefinitionException: Component 'vpnPseudoPortListener' does not have init-method: init
    at org.apache.aries.blueprint.container.BeanRecipe.getInitMethod(BeanRecipe.java:645)[15:org.apache.aries.blueprint.core:1.6.1]
        at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:833)[15:org.apache.aries.blueprint.core:1.6.1]
            at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)[15:org.apache.aries.blueprint.core:1.6.1]
                at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[15:org.apache.aries.blueprint.core:1.6.1]
                    at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_102]
                        at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[15:org.apache.aries.blueprint.core:1.6.1]
                            at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:255)[15:org.apache.aries.blueprint.core:1.6.1]
                                at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186)[15:org.apache.aries.blueprint.core:1.6.1]
                                    at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:724)[15:org.apache.aries.blueprint.core:1.6.1]
                                        at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:411)[15:org.apache.aries.blueprint.core:1.6.1]
                                            at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)[15:org.apache.aries.blueprint.core:1.6.1]
                                                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_102]
                                                    at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_102]
                                                        at org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106)[15:org.apache.aries.blueprint.core:1.6.1]
                                                            at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)[15:org.apache.aries.blueprint.core:1.6.1]
                                                                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_102]
                                                                    at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_102]
                                                                        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_102]
                                                                            at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_102]
                                                                                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_102]
                                                                                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_102]
                                                                                        at java.lang.Thread.run(Thread.java:745)[:1.8.0_102]

Change-Id: I94825cd3e8ec6a33cc17a4ac76e26663ba1afe22
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 6717 - Output to external network group entry is not installed on NAPT FIB table... 63/46163/19
Tali [Sun, 25 Sep 2016 09:02:14 +0000 (12:02 +0300)]
Bug 6717 - Output to external network group entry is not installed on NAPT FIB table for new DPN

Change-Id: Ic76eaba6b6840315513830cbf846ebc0cef42a7a
Signed-off-by: Tali <tali.ben-meir@hpe.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Author: Sam Hague <shague@redhat.com>

7 years agoBug 6831: support for l3 directly connected subnet 60/47060/9
Konsta Pozdeev [Tue, 18 Oct 2016 09:53:04 +0000 (11:53 +0200)]
Bug 6831: support for l3 directly connected subnet
After the fix only  unique mac values will be stored in the vpn interface adjacency.
This values will be used for the group programming.
No duplicate groups will be created.

Change-Id: I73c0e726c28e258eed3f3559e114003887a391a6
Signed-off-by: Konsta Pozdeev <konsta.pozdeev@hpe.com>
7 years agoBug-6395: Fixed the Problems in using ODL and neutron-l3-agent in Openstack 21/47221/3
vinoth [Fri, 21 Oct 2016 00:30:48 +0000 (06:00 +0530)]
Bug-6395: Fixed the Problems in using ODL and neutron-l3-agent in Openstack

  * Added following flow is missed out,
      cookie=0x0, duration=7451.336s, table=100, n_packets=147, n_bytes=6230, idle_age=6506,
      priority=4,in_port=5,dl_src=fa:16:3e:74:a9:2e actions=output:3

Change-Id: I240db06a703124320b5658685226d4d2c858061a
Signed-off-by: vinoth <m.vinoth@hcl.com>
7 years agoBug 6089:Fix for TCP/UDP and ICMP communication between VM's using learn Action accor... 33/47233/2
hari.pr [Mon, 17 Oct 2016 23:02:29 +0000 (04:32 +0530)]
Bug 6089:Fix for TCP/UDP and ICMP communication between VM's using learn Action according to SG

    *Introduced new tables(31,39) in the netvirt pipeline.
    *Table 30 default pipeline rule is modified to forward the packets to table 31.
    *Table 31 is used for double resubmit action [actions=resubmit(,39),resubmit(,40)].
    *Table 39 is used for learned flows.
    *Flows matching in Table 39 will load reg6=0x1.
    *table 40 and 90 will use reg6 value to forward the packets to next pipeline.
    *Learn rule will be created in table 40 and 90
    *once user apply ingress/egress on VM instance.

Change-Id: Idb71bbf9ae53d53db1197622eef02047f0e86e18
Signed-off-by: hari.pr <hari.pr@hcl.com>
7 years agoInterVpnLink cache 29/46229/12
Miguel Perez [Wed, 7 Sep 2016 17:15:01 +0000 (19:15 +0200)]
InterVpnLink cache

 + This is only a first step, there are many other MDSAL readings
   related to InterVpnLink that will be replaced later on

 + Since InterVpnLink is rarely modified (almost never) and
   very frequently queried, it is the perfect candidate for being
   cached.

 + This cache is placed in vpnmanager-api and accessed from
   vpnmanager, neutronvpn, fibmanager and bgpmanager. However
   it is only feeded from vpnmanager.

 + There are 2 new Clustered DCN listeners in charge of feeding
   the cache, one listener for InterVpnLink and another for
   InterVpnLinkState objects.

Change-Id: I2582784650bd8fafbd311c103669928e5bd2fb97
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoBug 6934: VpnPseudoPort flows not moved to a new DPN 79/46779/4
Miguel Perez [Wed, 5 Oct 2016 10:44:36 +0000 (12:44 +0200)]
Bug 6934: VpnPseudoPort flows not moved to a new DPN

 + when a VM is moved to a new DPN, VpnPseudoPort flows that
   moves traffic from VPN to SCF (tables 20 and 17) were not being
   installed on the new DPN

Change-Id: I8fb6daee68ec6203397c4096259a531401b109df
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>