netvirt.git
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>
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>