netvirt.git
7 years agoNetvirt: Qos Alert patch6 20/56120/10
Arun Sharma [Wed, 26 Apr 2017 19:09:07 +0000 (00:39 +0530)]
Netvirt: Qos Alert patch6

*** patch #6 - Added log4j configuraton support ***

1. Added a new log4j appender with default logging properties in qosalert.cfg
2. Added listener method update in QosAlertGenerator class to handle any chage in qosalert.cfg

Spec Review Link:
https://git.opendaylight.org/gerrit/50689

Change-Id: I2008a0a2dd22661e0f45251f0aac1088270d3d96
Signed-off-by: Arun Sharma <arun.e.sharma@ericsson.com>
7 years agoEVPN RT2 advertise and withdraw prefix changes 93/55893/10
Yugandhar Reddy Kaku [Mon, 24 Apr 2017 11:30:26 +0000 (17:00 +0530)]
EVPN RT2 advertise and withdraw prefix changes

1) Added elan external tep listener.
When elan external tep is added update the elan remote broadcast
group for all elan dpns.

2) when an elan interface is added , advertise its prefix
when elan interface is deleted, delete its prefix.

3) Advertise prefix when we receive packet in message from silent
host.

4) Withdraw prefix when the smac flow entry of silent host expires

Change-Id: I870174f9fa0741a6508f2edec20dae7489b67d26
Signed-off-by: Yugandhar Reddy Kaku <yugandhar.reddy.kaku@ericsson.com>
7 years agoSet feature capability for port status update 56/55856/5
Josh [Sun, 23 Apr 2017 08:37:09 +0000 (11:37 +0300)]
Set feature capability for port status update

See: https://bugs.opendaylight.org/show_bug.cgi?id=7718
DEPENDS ON: https://git.opendaylight.org/gerrit/#/c/55854/

Change-Id: Ia83d31c348176947e31e11d383f770ac97390145
Signed-off-by: Josh <jhershbe@redhat.com>
7 years agobgpmanager VPNv6 shell command update 93/54793/7
Philippe Guibert [Tue, 11 Apr 2017 16:10:50 +0000 (17:10 +0100)]
bgpmanager VPNv6 shell command update

bgp-network command is modified so as to support the ability to
configure prefixes with afi parameter, to be 1 ( IPv4) or 2 ( IPv6).

Change-Id: Ie0a5faf7160a049e930d2eb8f89af9d87693ddcd
Signed-off-by: Noel De Prandieres <prandieres@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Hari Krishna <hari.i.krishna@ericsson.com>
7 years agoBUG 8296 - Erroneous Egress Classifier flows 89/55989/4
Brady Johnson [Tue, 25 Apr 2017 12:47:06 +0000 (14:47 +0200)]
BUG 8296 - Erroneous Egress Classifier flows

- Egress classifier filter flow now just matches on NSH
  MD Type as set in the Ingress classifier ACL flow
- OpenflowRenderer.renderPath() is now passed the nodeIP
  instead of the destination SFF IP
- Patch Set 2 : fixed minor merge issue
- Patch Set 3 : fixes found by ClassifierEntryTest UT

Change-Id: Ide70b7222b08b2b363acc36126dc08e8a9add556
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
7 years agoFactor out executor from ClassifierService & UT 84/54784/17
Jaime Caamaño Ruiz [Tue, 11 Apr 2017 14:40:15 +0000 (16:40 +0200)]
Factor out executor from ClassifierService & UT

Depends on [1]

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

Change-Id: I4cf5bffcd33e2f4190a699a9982f75ca2d3ad8fd
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
7 years agoThrift interface changes to support BGP VPNv6 92/54792/17
Philippe Guibert [Tue, 11 Apr 2017 16:07:38 +0000 (17:07 +0100)]
Thrift interface changes to support BGP VPNv6

Thrift interface changes to include information on afi type.

Change-Id: Ie82e9a086621a551f19a0faaf9107d630277ae43
Signed-off-by: Noel De Prandieres <prandieres@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Hari Krishna <hari.i.krishna@ericsson.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agoThrift changes to support IPv6 calls over Quagga BGP stack 91/54791/7
Philippe Guibert [Tue, 11 Apr 2017 14:43:04 +0000 (15:43 +0100)]
Thrift changes to support IPv6 calls over Quagga BGP stack

Quagga BGP stack enhancement to support IPv6 leads to Thrift interface
modifications, which specifically include the following Type changes:
a) new AFI parameter - IPv6
b) pushRoute() includes new AFI parameter
c) withdrawRoute() includes new AFI parameter
d) getRoutes() includes new AFI parameter
e) onUpdatePushRoute() includes new AFI parameter
f) onUpdateWithdrawRoute() includes new AFI parameter

Change-Id: Ibd4842624d55fd07ae88b0d2ca8094a641f8749d
Signed-off-by: Noel De Prandieres <prandieres@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Hari Krishna <hari.i.krishna@ericsson.com>
7 years agoBug 7866 adding retries for remote dmac programming during tunnel up event 54/55954/2
Periyasamy Palanisamy [Tue, 25 Apr 2017 05:55:42 +0000 (11:25 +0530)]
Bug 7866 adding retries for remote dmac programming during tunnel up event

* currently there is no retries in case of OptimisticLockFailedException
while programming remote dmac during tunnel up event. This leads to remote
dmac is programmed with drop action which leads to packet drop. Now added
retries for jc job.
* Also adding retries in case remote BC group fails (during tunnel up event) due to datastore exceptions.

Change-Id: I2bc024fc7133170c321c4a5071d6b58e00a2666b
Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
7 years agoEVPN RT2 NeutonVpn changes 22/53422/37
Riyazahmed D Talikoti [Thu, 16 Mar 2017 18:43:35 +0000 (00:13 +0530)]
EVPN RT2 NeutonVpn changes

1. EVPN RT2 RPC for create, delete, and get EVPN
creation and deletion of EVPN via REST is handled by NeutronEvpnManager.
When create EVPN RPC is received, NeutronEvpnManager will check if
vpninstance already exist with same name if not then it will create
vpninstance of type L2 for EVPN. similarly vpninstance will be deleted for
delete event.

2. Changes for attach/detach network to EVPN
NeutronEvpnManager will add/remove/update evpn name in Elan augmentation so that
EvpnElanInstanceManager will advertised and withdraw routes accordingly.

3. Few previous comments mandatory false from yang removal fix

4. Added ElanHelper file to move commonly used utility methods to avoid
cyclic dependency

Change-Id: I259734fad1ca0e19f38093b4e22a326fb6969459
Signed-off-by: Riyazahmed D Talikoti <riyazahmed.d.talikoti@ericsson.com>
7 years agoBug 8244 In Conntrack SNAT implementation G/w is not reachable when no 95/55195/7
Aswin Suryanarayanan [Wed, 19 Apr 2017 08:58:09 +0000 (14:28 +0530)]
Bug 8244  In Conntrack SNAT implementation G/w is not reachable when no
port in the router subnet is present in the node

1)Added a the pseudo port to vpn-dpn list.
2)Moved the router cache util to a separate class.

Change-Id: I6f5834ab3af1c3478274191bd7eafebc162dc25e
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
7 years agostale entry in flow rules, after deleting port associated to qos policy with dscp 99/54599/9
Naveen Kumar Verma [Mon, 10 Apr 2017 13:30:22 +0000 (19:00 +0530)]
stale entry in flow rules, after deleting port associated to qos policy with dscp

When we are delete the VM which has an associated qos policy with it,
the stale entry of DSCP marking use to persist for the table number 90.

The reason for this was that when QosNeutronPortChangeListner is called
rpc called to fetch DPN id use to fail. By moving the code to
QosInterfaceStateChangeLister we can use Interface to find out DPN id.

Change-Id: I485d84806eae2bcc8341518f8186973efb171658
Signed-off-by: Naveen Kumar Verma <naveen.kumar.verma@ericsson.com>
7 years agoBug 8310 - SNAT flows not added when the first subnet is added to the 52/56052/3
Aswin Suryanarayanan [Wed, 26 Apr 2017 10:11:22 +0000 (15:41 +0530)]
Bug 8310 - SNAT flows not added when the first subnet is added to the
external n/w after router g/w set

1)Check for the presence of external IP during add.
2)Update now considers whether a subnet is added after router g/w set.

Change-Id: Ibb6f2a5cf031db18a624e68391415e6574242434
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
7 years agoClassifierUpdate unit tests 28/55228/7
Jaime Caamaño Ruiz [Wed, 19 Apr 2017 13:55:02 +0000 (15:55 +0200)]
ClassifierUpdate unit tests

Change-Id: I4baa75c75c590e35a44da8b61e86eb27e625f79c
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
7 years agoFix remote acl bugs 99/54399/9
Slava Radune [Thu, 20 Apr 2017 10:48:32 +0000 (13:48 +0300)]
Fix remote acl bugs

1. Merging metadatas of lPort and aclId.
2. Handling reg6Match for ingress
3. Fixing dupplicate AclInterfaces in AclDataUtil
4. Adding all ips to remote acl filter table, not only those with remote acl rules
5. Fixing the flows instalation logic for the case of port in more than one SG.
6. Fixing handling of SG that uses itself as remote SG.

Change-Id: I64b0e294317e0ac1a3444192a92f8058f2604f1d
Signed-off-by: Slava Radune <slava.radune@hpe.com>
7 years agoNetvirt: Qos Alert patch5 66/54566/15
Arun Sharma [Sun, 9 Apr 2017 14:28:05 +0000 (19:58 +0530)]
Netvirt: Qos Alert patch5

*** patch #5 - Port direct statistics polling  ***

Added support of  retrieval of port statistics data using OpenflowPlugin
direct-statistics RPC and log the alert message if packet drop ratio is
greater than the configured threshold value.

Spec Review Link:
https://git.opendaylight.org/gerrit/50689

Change-Id: I0a708ccd7eeb10c3d71fd8c08d5a2efeacdd3e25
Signed-off-by: Arun Sharma <arun.e.sharma@ericsson.com>
7 years agoBUG 8284 - Unmatched packets get dropped by Classifier 97/55897/2
Brady Johnson [Mon, 24 Apr 2017 11:58:22 +0000 (13:58 +0200)]
BUG 8284 - Unmatched packets get dropped by Classifier

- Packets that enter the Netvirt classifier that dont get
  matched are dropped.
- These packets should instead be resubmit back to the
  Ingress Dispatcher table.
- The solution is to add a lower priority MatchAny flow
  to the INGRESS_SFC_CLASSIFIER_ACL_TABLE table that
  resubmits back to the Ingress Dispatcher.
- Adding UT for the newly created flow.

Change-Id: I2d8b598a1146aa72a2c64c9b12835a7612e16c11
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
7 years agoFix the error in the egress classifier spec 79/56179/3
Manuel Buil [Thu, 27 Apr 2017 15:28:25 +0000 (17:28 +0200)]
Fix the error in the egress classifier spec

The table numbers were wrong and could confuse newcomers

Change-Id: Idd57ab06f4c17801fc40dc90b00a410f5f4cfb74
Signed-off-by: Manuel Buil <mbuil@suse.com>
7 years ago@Immutable FlowEntity with FlowEntityBuilder 90/54390/8
Michael Vorburger [Wed, 5 Apr 2017 21:36:27 +0000 (23:36 +0200)]
@Immutable FlowEntity with FlowEntityBuilder

This is dependent on the genius change
https://git.opendaylight.org/gerrit/#/c/53763/, which must be merged
simultaneously.

The change in the Xtend re. flowId is because the FlowEntityBuilder does
not have a getFlowId() like FlowEntity, only a setter; see
https://github.com/immutables/immutables/issues/432

Change-Id: Iecbe1ccd2c1c6cb9c914b70c6e44590d748ad739
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 7758: Use Trunk instead of Transparent port for Flat networks 88/53688/9
Alon Kochba [Wed, 22 Mar 2017 15:23:53 +0000 (17:23 +0200)]
Bug 7758: Use Trunk instead of Transparent port for Flat networks

Netvirt should have used Trunk ports for Flat networks, instead of
Transparent ports - otherwise there are issues of mixing Trunk and
Transparent ports together, since Trunks are automatically created
once there are Trunk Members (VLAN networks) on the same port.

Change-Id: If666b672b1158919623db11b5324321f2f7b15b0
Signed-off-by: Alon Kochba <alonko@hpe.com>
7 years agoNetvirt: Qos Alert patch4 35/54535/17
Arun Sharma [Fri, 7 Apr 2017 05:54:42 +0000 (11:24 +0530)]
Netvirt: Qos Alert patch4

*** patch #4 - Building Qos Alert port cache ***

This patch builds a cache of port stats data having QoS rate-limit rule applied.

A neutron port is added into the cache if -

1. Port QoS policy has bandwidth rate limit rule.
2. If port does not have QoS policy applied, then if network QoS policy
   has bandwidth rate limit rule.

Spec Review Link:
https://git.opendaylight.org/gerrit/50689

Change-Id: Iafb22bd98009b891a2ef4911ef0edf9f2ab9c767
Signed-off-by: Arun Sharma <arun.e.sharma@ericsson.com>
7 years agoBug 8244 - In Conntrack SNAT implementation G/w is not reachable 96/55196/5
Aswin Suryanarayanan [Wed, 19 Apr 2017 09:03:33 +0000 (14:33 +0530)]
Bug 8244 - In Conntrack SNAT implementation G/w is not reachable
when no
port in the router subnet is present in the node

Creates an elan interface when a router port is created amd is deleted
on port delete.

Change-Id: I18fa39310f22c7ad633037c7bda54f51d193374b
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
7 years agoClassifierEntry unit tests + javadoc 05/54605/8
Jaime Caamaño Ruiz [Mon, 10 Apr 2017 14:30:34 +0000 (16:30 +0200)]
ClassifierEntry unit tests + javadoc

Change-Id: I1317a8e7cc0bc08bd027e8a91bf29111572feab8
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
7 years agoEVPN RT2 elan changes to adv/withdraw RT2 routes.. 87/53887/35
Riyazahmed D Talikoti [Mon, 27 Mar 2017 09:23:51 +0000 (14:53 +0530)]
EVPN RT2 elan changes to adv/withdraw RT2 routes..

1. Elan instance changes when network is attached and detached to EVPN
Neutronvpnmanager will add/delete/update evpn augmentaion in elan instance
EvpnElanInstanceManager is listening to the augmentation and based on type
of event EvpnElanInstanceManager will advertise or withdraw RT2 routes.

2. EvpnElanInstanceManager uses vpninstance to get rd to advertise or
withdraw routes.

Change-Id: I147da46e5d869cde560f25452e9e7511206a61dd
Signed-off-by: Riyazahmed D Talikoti <riyazahmed.d.talikoti@ericsson.com>
7 years agoBug-7718 Operational neutron port status 54/51554/6
Josh [Wed, 8 Feb 2017 11:27:26 +0000 (13:27 +0200)]
Bug-7718 Operational neutron port status

networking-odl requires feedback as to when a neutron
port can be marked as "ACTIVE". This commit places an
estimation of that information in the operational data
store. For ports that connect to OVS we wait for them
to connect and for basic L2 flows to be configured.
Note that we do not validate the flows in operational
nor do we check all flows. Ports that are implemented
purely as flows are marked ACTIVE immediately. The plan
is for networking-odl to receive notifications of these
status changes via a websocket.

It was decided at the time being
to keep the port status out of the ODL neutron project
since (a) functionally, this issue is mainly an issue for
netvirt and (b) to do it right in netvirt would require
some re-architecting.

Change-Id: Id719e904b277fe4dbb9c3d118d24c3bedf110a33
Signed-off-by: Josh <jhershbe@redhat.com>
7 years agoError messages are displayed when the port updated with qos policy stating 50/55150/5
A Vamsikrishna [Tue, 18 Apr 2017 11:18:17 +0000 (16:48 +0530)]
Error messages are displayed when the port updated with qos policy stating
that binding are not allowed to the port

Following Error message was seen  when the same port updated with second
qos policy:

2017-04-05 14:42:54,116 | ERROR | pool-39-thread-7 |
FlowBasedServicesConfigListener  | 338 -
org.opendaylight.genius.interfacemanager-impl - 0.1.4.SNAPSHOT | Service
Binding entry update not allowed for:
b193e270-8053-4650-8059-a8ec57713069, Data:
BoundServices{getServiceName=qos.b193e270-8053-4650-8059-a8ec57713069,
getServicePriority=3, getServiceType=class
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceTypeFlowBased,
augmentations={interface
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.StypeOpenflow=StypeOpenflow{getFlowCookie=67108865,
getFlowPriority=10,
getInstruction=[Instruction{getInstruction=GoToTableCase{getGoToTable=GoToTable{getTableId=90,
augmentations={}}, augmentations={}}, getOrder=1, augmentations={}}]}}}

Use case:

- create a port, say port1
- create qos policy q1 with dscp and bandwidth
- Associate qos policy to the port
- observe the policy applied properly
- update the port again with qos policy q2
- Though the 2nd qos policy (here q2) seen applied properly , below error
  message was seen in ODL side:

  "Service Binding entry update not allowed"

  RCA:

  Qos service binding is happening even during the 2nd qos policy updation
  on the same port on which a 1st qos policy already associated.

Change-Id: Ia3754833d716f1e387bd7bdce00f82ed51a394ce
Signed-off-by: A Vamsikrishna <a.vamsikrishna@ericsson.com>
7 years agoBug 8189 - Policy flows are not updated after ovsdb other-config changes 63/54563/12
Tali [Sun, 9 Apr 2017 09:21:32 +0000 (12:21 +0300)]
Bug 8189 - Policy flows are not updated after ovsdb other-config changes

Change-Id: Ic27b87922dd42aac020fa6f7e65bbab53e8c4489
Signed-off-by: Tali <tali.ben-meir@hpe.com>
7 years agoBug 8255 - VPN creation with multiple RD via Rest 18/55718/5
eswanit [Thu, 20 Apr 2017 10:38:15 +0000 (16:08 +0530)]
Bug 8255 - VPN creation with multiple RD via Rest
is not working

fixed this by removing throwing of an error when
multiple RDs are passed to create VPN.

Change-Id: I28e546ca781d87566a2eb8b70148d980fa7dad3b
Signed-off-by: eswanit <swati.udhavrao.niture@ericsson.com>
7 years agoBug 8200:NAPT_PFIB_TABLE(47) with Internet VPN is not programmed for EVPN 64/54764/12
karthikeyan [Tue, 11 Apr 2017 11:35:56 +0000 (17:05 +0530)]
Bug 8200:NAPT_PFIB_TABLE(47) with Internet VPN is not programmed for EVPN

This code review will address the following problem for EVPN NAT UCs.

1) NAPT_PFIB_TABLE (47) resubmit to L3_FIB_TABLE (21) {47->21} with
external (internet) VPN Id as match flow is not programmed for if external
network with Provider type VXLAN is configured.

2) When the external router is deleted some of the EVPN stale entry flows are
presented.

3) If more than one floatingIp is available in vpn-to-dpn-list for given
dpn id, do not call for installing INTERNAL_TUNNEL_TABLE (table=36) -> PDNAT_TABLE (table=25)
flow entry with same tunnel_id again and again.

Change-Id: I5a54764da323ed1ac20f91dd40fc36c06ed59ecb
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBUG 8240 - Fix odl-netvirt-sfc dependent features 05/55705/2
Brady Johnson [Thu, 20 Apr 2017 08:28:48 +0000 (10:28 +0200)]
BUG 8240 - Fix odl-netvirt-sfc dependent features

- Adding the odl-sfc-genius feature.

Change-Id: Iee6f0a3df0e4dd9b3ae5f57035d0c4a1584dd163
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
7 years agoFix equals() bug in FederatedNetworkPair found by Checkstyle 43/55743/2
Michael Vorburger [Thu, 20 Apr 2017 16:05:31 +0000 (18:05 +0200)]
Fix equals() bug in FederatedNetworkPair found by Checkstyle

This shows up as red in Eclipse, but the CLI mvn build missed this.

required for overall move to new Checkstyle version, see
https://git.opendaylight.org/gerrit/#/q/topic:bumpCheckstyle

Change-Id: I7a46ac4c96e541d9fec17f3e6add9bcf65999a48
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoBug 8235 - Bug in group programming for directly connected subnet routes 57/54757/14
gobinath [Wed, 19 Apr 2017 18:49:12 +0000 (00:19 +0530)]
Bug 8235 - Bug in group programming for directly connected subnet routes

Issue:

1. The ECMP feature enables the loadbalancing of traffic to the the extra
routes only but the discovered routes are also getting loadbalanced similar
to the extra routes.

2. This also leads to the issue in case of the discovered routes
containing macaddress(directly connected subnet route), the
loadbalancing groupId overrides the local nexthop group Id
as the parameters used for computing the groupId turns out to be same.

Analysis:

1. Since the discovered routes are also present in the vpntoextraroute
container, the discovered routes are also being currently loadbalanced by
ECMP feature.

2. Also, the loadbalancing groupId is computed from the prefix or the nexthop Ip
depending on whether the macadress is present or not(if mac is present,
the nexthopIp is used and prefix for otherwise). In case of the directly
connected subnet route, the macaddress is present and so the nexthopIp
is used for computing the loadbalancing groupId. This overlaps with
local next hop group programmed for that nexthop.

Fix:

Since the discovered routes have only 1 next hop, this
condition is now used to distinguish between discovered routes and the
extra routes. Only the extra routes are loadbalanced now and the
discovered routes are handled as before(creating a new local nexthop
group).

Change-Id: I6b0c5506f438ec1f816dfa0fdb045a8494950f48
Signed-off-by: gobinath <gobinath@ericsson.com>
7 years agoFIB: VNI support in datapath for VxLAN networks 21/54521/20
Abhinav Gupta [Wed, 19 Apr 2017 18:52:28 +0000 (00:22 +0530)]
FIB: VNI support in datapath for VxLAN networks

This commit adds support for VNI based L3 forwarding for VxLAN based
provider networks.
Spec: https://git.opendaylight.org/gerrit/#/c/48640/

Following changes are done:

1.
  i)   FIB_TABLE will set the destination network VNI in the tun_id
       field instead of the MPLS label.

  ii)  On egress OVS, match will happen on this VNI in table 36,
       and packet will be taken to ELAN pipeline in order to reach the
       destination VM.

  iii) Table 36 will no longer be programmed by FIB to match on MPLS
       label for internal router-based VPNs whose subnets are part
       of a VxLAN network

2. Some changes are done to program VNI in tun_id for ECMP LB NH
   groups.

3. The commit also incorporates the enforce-openstack-semantics
   flag to enable easy turning on/off of the feature.

4. Some refactoring and cleanup has also been done, majorly to
   remove the local utils/references for MDSAL sync
   write/delete/update APIs.

Change-Id:Id3244bd9f72028381e1790e96428a8f541f0e6b2
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
7 years agoELAN: VNI support in datapath for VxLAN networks 07/50807/31
Abhinav Gupta [Thu, 12 Jan 2017 11:11:49 +0000 (16:41 +0530)]
ELAN: VNI support in datapath for VxLAN networks

This commit adds support for VNI based datapath forwarding for VxLAN
based provider networks.
Spec: https://git.opendaylight.org/gerrit/#/c/48640/

a. Unicast
  1. Table 51 now sets VNI in tun_id field for packets egressing on
     tunnel ports
  2. On egress, table 36 now matches on VNI in tun_id field, sets the
     ELAN tag in metadata, and forwards the traffic to table 51

b. Broadcast
  1. Remote broadcast group now sets VNI in tun_id field for packets
     egressing on tunnel ports
  2. On egress, table 36 now matches on VNI in tun_id field, sets the
     ELAN tag in metadata, and forwards the traffic to table 51

Also, integrates the openstack-vni-semantics-enforced flag to enable
easier turning on/off of the feature

Change-Id: I7a6b14897344a8d00cb19291602d92cf586f15f7
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
7 years agoBug 8201 - ECMP not working with router based VPN 45/54745/18
gobinath [Tue, 11 Apr 2017 06:31:16 +0000 (12:01 +0530)]
Bug 8201 - ECMP not working with router based VPN

Issue:

In case of router based VPNs, the loadbalancing groups created for extra
routes are not updated with correct buckets when the extra route is
present behind different DPNs.

Analysis:

The issue is caused as the current design requires list of rds to
differentiate the extraroute present behind different DPNs.

Fix:

In case of the router based VPNs, the DpnIds are used as rds so the
vpntoextraroute is now populated correctly.

Change-Id: I18f6d39c67047a31817d442ba79aee6244bf3712
Signed-off-by: gobinath <gobinath@ericsson.com>
7 years agoBug 8221 - Remove Wait Time To Install L3VPN Groups on OVS 51/54951/9
eupakir [Thu, 13 Apr 2017 09:51:35 +0000 (15:21 +0530)]
Bug 8221 - Remove Wait Time To Install L3VPN Groups on OVS

Currently we have a wait of 1.5s to ensure L3VPN groups are programmed
correctly in OVS, before we start programming the L3VPN Flows. This needs
to be optimized further.
This patch makes use of the OpenFlowPlugin addGroup() RPC call to directly
install the group in the OVS. This will ensure that the subsequent installation
of flows will always find the required groups in the OVS.
Group installation via the FRM is still retained to ensure consistency in the
datastore.

Change-Id: Ie4c2cf2a6199bad2a27d067d444a42ae04d3f191
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
7 years agoRemove unused setFibManager 79/55679/2
Sam Hague [Wed, 19 Apr 2017 22:38:38 +0000 (18:38 -0400)]
Remove unused setFibManager

Change-Id: I627678151987577273bca88f5506a9faaedcd0c1
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agocleanup ovsdb-ui bundle 88/55688/2
Sam Hague [Thu, 20 Apr 2017 01:53:34 +0000 (21:53 -0400)]
cleanup ovsdb-ui bundle

Change-Id: I60da5608800bb36353e166334262e6f3bf33ac46
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoAdd ovsdb-ui bundle 83/55683/2
Sam Hague [Thu, 20 Apr 2017 00:28:11 +0000 (20:28 -0400)]
Add ovsdb-ui bundle

Change-Id: If6b04d9ba61bcc32eac5603c13304b933318d184
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 8142 : DHCP timeout issue. 78/54578/7
Vyshakh Krishnan CH [Thu, 13 Apr 2017 08:43:46 +0000 (14:13 +0530)]
Bug 8142 : DHCP timeout issue.

Issue:
stable/boron not usable - DHCP timeout

Analysis:
more than 5 thread were waiting on BGPConfigurationManager when BGP was
trying to send thrift messages to QBGP and QBGP is not up. BGP was
retrying it again and again. Meanwhile, services which call addPrefix is
getting blocked due to synchronized behavior of addPrefix.

Fix:
APIs exposed by BGP to other services - addPrefix, delPrefix, addvrf and
delVrf is made unsynchronized.

Change-Id: I6010b1eeef680b1f8d8908c2b9faf283b3827cfc
Signed-off-by: Vyshakh Krishnan CH <vyshakh.krishnan.c.h@ericsson.com>
7 years agoDeprecate legacy features 65/55065/3
Sam Hague [Fri, 14 Apr 2017 19:15:57 +0000 (15:15 -0400)]
Deprecate legacy features

Depends-on: https://git.opendaylight.org/gerrit/55083

Change-Id: Ia0ac9c5d427bd616eaa651df2e85297225afdfe3
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoadd odl-sfc-genius to odl-netvirt-sfc 66/55266/1
Sam Hague [Wed, 19 Apr 2017 18:26:47 +0000 (14:26 -0400)]
add odl-sfc-genius to odl-netvirt-sfc

Change-Id: I2512b14e15210bda5e5b8339621ea8a7b2b02f13
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBUG 8240 - Fix odl-netvirt-sfc dependent features 56/55156/2
Brady Johnson [Tue, 18 Apr 2017 13:50:13 +0000 (15:50 +0200)]
BUG 8240 - Fix odl-netvirt-sfc dependent features

- Needed to install odl-sfc-openflow-renderer instead of
  odl-sfc-provider in order to bring in all the needed
  SFC features.

Change-Id: Id83d65c5b67214a826ff903cf48efeeca61aa99a
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
7 years agoBug 8188: L3VNI without configured UC handled for EVPN 60/54560/12
karthikeyan [Sat, 8 Apr 2017 17:21:57 +0000 (22:51 +0530)]
Bug 8188: L3VNI without configured UC handled for EVPN

Problem Description:
==================
L3VNI without configured in Internet VPN needs to be handled for EVPN in
NAT feature.
Currently Internet(External) VPN with L3VNI use case only handled for
external VXLAN network (EVPN) in NAT feature.

Internet(External) VPN without L3VNI use case also needs to be handled for
external VXLAN in NAT feature. Since Openstack Operator may configure L3VNI or
may not configure L3VNI.

Solution:
=========
Unconfigured of L3VNI value in Internet(External) VPN, will carve-out
the L3VNI value from OpenDaylight VXLAN VNI Pool to use SNAT and DNAT
flows.
The following UCs are handled based on the L3VNI configured/unconfigured
for GRE and VXLAN provider type.

Ext-Net-Type || Internet-VPN-L3VNI || External and Internal VXLAN uses
===============================================================================
GRE           Configured          Ignore L3VNI, allocate VNI from pool and
                                  use it for Intra-DC only
--------------------------------------------------------------------------------
GRE           Not Configured      A VNI taken from ODL Pool and used for
                                  Intra-DC communication
---------------------------------------------------------------------------------
VXLAN         Configured          Internet-VPN-L3VNI used for both
                                  Intra-Inter-DC communication
---------------------------------------------------------------------------------
VXLAN         Not Configured      A VNI taken from ODL Pool and used for both intra-
                                  inter-DC communication
---------------------------------------------------------------------------------

Note: If VNI value is unable to get from ODL VNI Pool, router-id will be
used as tunnel-id for external network provider type as VXLAN

Change-Id: I3c3f21e026303edf7eb2ad88bfd33622523085f0
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
7 years agoBug 8241: Fix openstack-sfc ACLs IllegalArgumentException 69/55169/1
Alon Kochba [Tue, 18 Apr 2017 17:07:17 +0000 (20:07 +0300)]
Bug 8241: Fix openstack-sfc ACLs IllegalArgumentException

Fix ace port range to be set only if mandatory lower port
is specified, otherwise we hit an exception.

Change-Id: Ic6206394e4255653a837c2b57cefc538555eefa4
Signed-off-by: Alon Kochba <alonko@hpe.com>
7 years agoADDED INFO logs for tempest issue DEBUG 93/54593/4
cgowdru [Mon, 10 Apr 2017 11:46:26 +0000 (17:16 +0530)]
ADDED INFO logs for tempest issue DEBUG

Change-Id: I25cb78056fbc6b7cbd372ac7565c21472e2c3060
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
7 years agoBug 8170 - Loadbalancing nexthop group not updated after VM deletion 71/54571/7
gobinath [Mon, 10 Apr 2017 03:26:59 +0000 (08:56 +0530)]
Bug 8170 - Loadbalancing nexthop group not updated after VM deletion

Issue:

When the last nexthop present in a DPN is deleted, the loadbalancing next
hop group is not updated. The group still contains the bucket pointing to
the deleted nexthop.

Fix:

There was an error while retrieving the endpointIpaddress for the DPN in
method getEndpointIpAddressForDPN. There was an error in converting the
IpAddress object to string. Appropriate conversion is used now.

Change-Id: I86cc77bd69446881d2ab669471f3142845e4d549
Signed-off-by: gobinath <gobinath@ericsson.com>
7 years agoSet copyright for sfc translator back to Brocade 74/55074/1
Sam Hague [Sat, 15 Apr 2017 01:13:54 +0000 (21:13 -0400)]
Set copyright for sfc translator back to Brocade

Change-Id: I576ff1dfe9c97cde540c1a56f77a857fb32e43eb
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoRemove .0 from model.bgp.version 52/55052/2
Sam Hague [Fri, 14 Apr 2017 12:05:20 +0000 (08:05 -0400)]
Remove .0 from model.bgp.version

The version bump script ancorrectly added a .0 to the version.
This was a problem as during this same time the vpnservice-features
was using the value without the .0 from a different patch, so they
were not consistent.

Change-Id: I38c47898bdf706ccb0f89ce76209cbbbbb8540d8
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 8166: Acl interfaces are not set and cached correctly 09/54409/6
Yakir Dorani [Thu, 6 Apr 2017 08:52:51 +0000 (11:52 +0300)]
Bug 8166: Acl interfaces are not set and cached correctly

The acl interface can exist in the cache before an interface
was assigned one. This can happen via the AclInterfaceStateListener.
Also, an interface ID should be set when a new entry is created.

Change-Id: I3e882582731eb273da533ac15dd2c8cc7f27ffe2
Signed-off-by: Yakir Dorani <yakir.dorani@hpe.com>
7 years agoUse ArpConstants from arputil 91/54891/4
Sam Hague [Wed, 12 Apr 2017 18:45:04 +0000 (14:45 -0400)]
Use ArpConstants from arputil

Depend-on: https://git.opendaylight.org/gerrit/54890

This avoids duplicating constants and also helps to
break cyclics.

Change-Id: I76689a97d1131d13cffa382bbf4d07d7a3d19044
Signed-off-by: Sam Hague <shague@redhat.com>
(cherry picked from commit 40f3c94a3068d45b5fda6b38500dbce07aadca44)

7 years agoName all blueprint.xml file consistently 77/54977/3
Sam Hague [Thu, 13 Apr 2017 13:17:36 +0000 (09:17 -0400)]
Name all blueprint.xml file consistently

Change-Id: I7497339a96ff0f76f11e3f3c9937f57b6993169c
Signed-off-by: Sam Hague <shague@redhat.com>
(cherry picked from commit c553537cee52a74b78e2ca68c568ae548a941ebb)

7 years agoFix model-bgp version 52/54952/2
Vratko Polak [Thu, 13 Apr 2017 10:04:51 +0000 (12:04 +0200)]
Fix model-bgp version

Change-Id: I419cbebf5df5d38501cf3793aba5ecd806c7f25c
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
7 years agoBug 8162 - NPE at org.opendaylight.netvirt.vpnmanager.VpnSubnetRouteHandler.onSubnetA... 67/54367/5
Janki [Wed, 5 Apr 2017 15:16:33 +0000 (20:46 +0530)]
Bug 8162 - NPE at org.opendaylight.netvirt.vpnmanager.VpnSubnetRouteHandler.onSubnetAddedToVpn

Change-Id: I2936a473841b995a496c76064249a2bb9bd96354
Signed-off-by: Janki <jchhatba@redhat.com>
7 years agoCleanup unused dependencies 02/54902/5
Sam Hague [Wed, 12 Apr 2017 21:02:09 +0000 (17:02 -0400)]
Cleanup unused dependencies

Change-Id: I98eb44130f247108589db3aedf4e015b76ce03c1
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoadd interface for VpnFootprintService 96/54896/3
Sam Hague [Wed, 12 Apr 2017 19:26:25 +0000 (15:26 -0400)]
add interface for VpnFootprintService

This is another attempt to reduce cyclics.

Change-Id: I29acdc7fa4c681c24b0cafc8430716f189bd7be1
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoRemove legacy utils from new netvirt 09/54909/3
Sam Hague [Wed, 12 Apr 2017 23:28:29 +0000 (19:28 -0400)]
Remove legacy utils from new netvirt

Change-Id: I43a183b689846924ac8344117bfa59cae0457a4a
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 8014 - L2Gw connectivity not working 58/54858/2
Akash Kumar Sahu [Wed, 12 Apr 2017 10:47:22 +0000 (16:17 +0530)]
Bug 8014 - L2Gw connectivity not working

Tunnel creation issue as cache were not populated properly
Fixed .

Change-Id: I7613afe762f0a865275c3fc492045ef4d035ba84
Signed-off-by: Akash Kumar Sahu <a.k.sahu@ericsson.com>
7 years agoRemove utils.config 05/54905/2
Sam Hague [Wed, 12 Apr 2017 22:07:13 +0000 (18:07 -0400)]
Remove utils.config

Change-Id: Iaf232a25f055b26e392d337e85a2b15409b9c03d
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBUG 8193 - Fix Netvirt classifier egress service port binding 82/54582/8
Brady Johnson [Mon, 10 Apr 2017 09:27:10 +0000 (11:27 +0200)]
BUG 8193 - Fix Netvirt classifier egress service port binding

- The Netvirt classifier egress service should bind on egress
  ports, not ingress ports like it does now.
- Since its not possible to know all the possible egress ports
  to bind on before-hand, the egress classifier service will
  bind on all switch ports. It will only process NSH packets
  and return all others to the egress dispatcher.
- Also in this patch, when the SFF is on the same bridge as
  the classifier, the egress classifier will resubmit the
  packets directly to the SFF instead of going through the
  ingress dispatcher, since we dont know the correct ingress
  port to use for the SFF.
- Updated OpenFlow13ProviderTest to reflect the change to the
  egress classifier resubmit.
- Changes from code review comments
- Final changes to make sure the egress binding is working.
  Now using getDpnInterfaceList RPC to get the switch ports
  to bind to.

Change-Id: I97bc38722064738ee22b8ddbc7163bc5dc3dd276
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
7 years agoCleanup version properties 16/54616/6
Sam Hague [Mon, 10 Apr 2017 17:40:04 +0000 (13:40 -0400)]
Cleanup version properties

Change-Id: I15c3131032866d0094b7f34ac7e4c85cfe139665
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug 8105: IllegalArgumentException in getSrcIp fix 44/54844/2
ruby -v [Wed, 12 Apr 2017 09:29:19 +0000 (14:59 +0530)]
Bug 8105: IllegalArgumentException in getSrcIp fix

1. reading IP and ARP payload was wrong, which is fixed by getting payload from
deserialised ethernet data based on IPv4 or ARP, getPayload will return
the right payload as the offsets are maintained in Packet based on
type of payload.
2. IllegalArgumentException was for payload type IPv4 where
getSourceAddress method will return of type int, and
NWUtil.toStringIpAddress will accept input as byte.
The same was working fine with payload type ARP as
getSenderProtocolAddress return byte.
3. Tested these changes by creating 2 ports in neutron network, delete 1
port and send ping packets from deleted port to the other port.
First ARP packet hit and was able to retrieve IP address properly, and
then data traffic hit and was able to retrieve IP address.

Change-Id: I16af2e18e2c857a5529f4ffef1caf9da014d521f
Signed-off-by: Riyazahmed D Talikoti <riyazahmed.d.talikoti@ericsson.com>
7 years agoBump versions by x.(y+1).z for next dev cycle 09/54709/1
Anil Belur [Tue, 11 Apr 2017 01:45:45 +0000 (11:45 +1000)]
Bump versions by x.(y+1).z for next dev cycle

Change-Id: I9934b7eaaf36c6726e0f8e6700aca63421f03b5c
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
7 years agoBUG 8140 : Elect nodes for subnetroute on control path reboot 71/54271/21
eupakir [Mon, 3 Apr 2017 13:32:53 +0000 (19:02 +0530)]
BUG 8140 : Elect nodes for subnetroute on control path reboot

When a physical switch on the cloud management network in the cloud is
rebooted, it results in disconnection of datapath-nodes from the ODL
controller. Under such conditions, the subnetRoute is removed from all
the DPNs.
However, once the physical switch comes back up after reboot, the
datapath-nodes are all getting reconnected to the ODL controller.  During
this time in a scaled environment, the subnetRoute flow rules aren't
getting reapplied to the datapath-nodes.  This is because the election
process fails in figuring out a designated datapath-node for hosting
subnetroute, thereby the subnetRoute is not getting reconfigured on all
the datapath-nodes.

Co-Authored-By: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Change-Id: I4e2770a658e9d3b0c68fc52227845ed8546ecb97
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agocleanup checkstyle to pull from parent poms 10/54610/2
Sam Hague [Mon, 10 Apr 2017 16:09:40 +0000 (12:09 -0400)]
cleanup checkstyle to pull from parent poms

Change-Id: If1a78a39696a64a29ad57f56978450a1b06a947c
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug-8053 OVS Bridge other_config:hwaddr not preserved for nodes not in config DS 57/53857/7
Josh [Sun, 26 Mar 2017 09:15:08 +0000 (12:15 +0300)]
Bug-8053 OVS Bridge other_config:hwaddr not preserved for nodes not in config DS

1) Make sure to retain operational DS other_configs for existing bridges
2) Set other_config:datapath-id for all bridges already in operational. This
is important to guarantee dpid does not change even for bridges where the
other_config:hwaddr or other_config:datapath_id vals are not set.

DEPENDS ON: https://git.opendaylight.org/gerrit/53856

Change-Id: I5aa792262230655bf753045290666c73aaa4096b
Signed-off-by: Josh <jhershbe@redhat.com>
7 years agoUT for SfcProvider and NetvirtProvider 22/54522/5
Brady Johnson [Fri, 7 Apr 2017 07:30:03 +0000 (09:30 +0200)]
UT for SfcProvider and NetvirtProvider

- Added SfcProviderTest.java
- Added NetvirtProviderTest.java
- modified pom.xml to add ConstantSchemaAbstractDataBrokerTest

Change-Id: If8f9a7f3e87725d279566531df4b2b431abdb417
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
7 years agoMinor code cleanup in ELAN 70/54570/3
Faseela K [Sun, 9 Apr 2017 18:23:07 +0000 (23:53 +0530)]
Minor code cleanup in ELAN

Change-Id: I15e80fd1d38b6a4cb96d1c947bddbc1a68bf4180
Signed-off-by: Faseela K <faseela.k@ericsson.com>
7 years agoBug 8001: Data validation failed for path CSIT TCs 13/54513/6
karthikeyan [Fri, 7 Apr 2017 09:40:17 +0000 (15:10 +0530)]
Bug 8001: Data validation failed for path CSIT TCs

Problem Description:
====================
On external network update or internet VPN update NAT code will trigger
the ExternalRoutersListener.update() to handle the updated changes
in NAT feature. During this invocation, for getting NAPT switch-id is
retrieved from the "router-to-napt-switch" DS. After retrieved the NAPT
switch-id from the DS, it contains the value as "0". There is no check for
NAPT switch-id validation.

clrRtsFromBgpAndDelFibTs() method is invoked with passing NAPT switch-id
as "0" value is throwing the data validation exceptions.

Solution:
===========
As part of this issue fix, invoked NAPT Switch selection if dpnId value is
"null" or "0" from "router-to-napt-switch" DS then go for electing new
Napt switch for existing router. This will resolve the data validation
exception. Since clrRtsFromBgpAndDelFibTs() method is never invoked with
NAPT switch-id as "0".

Change-Id: I851c4049397369871616834f59aff1eb16ce4472
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
7 years agoBug 8165 - Learnt IP route does not reappear on DC-GW after OVSRestart 08/54408/10
eupakir [Thu, 6 Apr 2017 08:47:56 +0000 (14:17 +0530)]
Bug 8165 - Learnt IP route does not reappear on DC-GW after OVSRestart

On OVS Restart, a learnt IP will have to be deleted by Liveness
Monitor, and then re-learnt once the OVS comes up.
But this IP was not learned again.

Cyclic events were getting spawned while processing removal of
Learnt IPs.  This was causing deletion of re-learnt IPs.

Change-Id: I17b87fef05de8d3eb51f2a4720df98ff647e8937
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agoBug 8020 - Conflicting modification on VpnInterface creation for router-interface... 10/54410/5
Tali [Thu, 6 Apr 2017 08:56:25 +0000 (11:56 +0300)]
Bug 8020 - Conflicting modification on VpnInterface creation for router-interface in newton

Change-Id: I918174b829075c571414bf82c40936cc950af630
Signed-off-by: Tali <tali.ben-meir@hpe.com>
7 years agoFix erroneous space in DhcpAllocationPoolRemoveJob import statement 15/54415/2
Michael Vorburger [Thu, 6 Apr 2017 10:03:37 +0000 (12:03 +0200)]
Fix erroneous space in DhcpAllocationPoolRemoveJob import statement

This shows up as "red ink" (error) in Eclipse as a Checkstyle violation.
I'm not sure why the CLI mvn Checkstyle does not fail forr this - it may
be a subtle difference between the exact version of Checkstyle
internally used by the Eclipse plugin and the one used by the Maven
build.

Change-Id: I3dacb8d5c6f6eb689bfadf034c2e1db7f30ce76f
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoBug 8145 - DNAT to DNAT traffic is getting failed for 2nd FIP for EVPN/VNI 96/54296/12
karthikeyan [Tue, 4 Apr 2017 07:44:18 +0000 (13:14 +0530)]
Bug 8145 - DNAT to DNAT traffic is getting failed for 2nd FIP for EVPN/VNI

Problem Description:
====================
DNAT to DNAT traffic (Different Hypervisor) is getting failed for 2nd FIP
VM for VXLAN and GRE Networks.

Consider 2 FIP VMs are booted on single DPN.

When disassociation/remove of 1st FIP VM, 2nd FIP VM traffic for DNAT to
DNAT is getting failed.

When remove 1st FIP it will remove the flow 36->25 entry. Hence DNAT to
DNAT communication is not happening.

This issue is existing for VXLAN and GRE (L2_L3_VNI Based Forwarding)
external provider type networks only.

Solution:
===========
For EVPN_RT5 and L2-L3 VNI based forwarding, uses "l3vni" value as
tunnel_id in the INTERNAL_TUNNEL_TABLE (table=36). If mutiple FIPs are
existing in the single DPN, each remote tunnel_id will be setting with
same "l3vni" value. Hence removing one FIP is causing the problem
with other DNAT traffic. To avoid this problem added the fix for removing
the flow INTERNAL_TUNNEL_TABLE (table=36) -> PDNAT_TABLE (table=25) to
check if any FIP is existing on the given DPN. If not exist then only will
remove the flow table36->25.

Change-Id: I410035b4d160a22ac016a6de3fce219010e6c1f3
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
7 years agoTunnel Interface State Handling for extra routes 43/50343/17
eceghkl [Fri, 17 Mar 2017 06:06:43 +0000 (11:36 +0530)]
Tunnel Interface State Handling for extra routes

* Handle interface state changes for tunnel
* Handles add and delete event
* Add/remove nhList from vrfentrylistener based on event
Depends-On: I1b40ce3ea8b73707295e86ae9d4ddddf15716b2e
Change-Id: I3c091a538d201ff4f4accc04d5fb35bee482de4d
Signed-off-by: eceghkl <manu.b@ericsson.com>
7 years agoUT for Netvirt SFC classifier 76/54376/6
Brady Johnson [Wed, 5 Apr 2017 17:48:04 +0000 (19:48 +0200)]
UT for Netvirt SFC classifier

- Added AclMatchesTest.java
- Added OpenFlow13ProviderTest.java
- Changes to remove DataBroker from OpenFlow13ProviderTest as suggested by Michael Vorburger
- Minor changes were made to OpenFlow13Provider to expose constants used in creating
  flows so that OpenFlow13ProviderTest can verify they were set accordingly.
- Flushed out a bug in OpenFlow13Provider thanks to the UT: The flowId
  was not being set correctly in createEgressClassifierFilterVxgpeNshFlow
- Flushed out a bug in OpenFlow13Utils thanks to the UT: The inport
  NodeConnectorId was not being set correctly in addMatchInPort.

Change-Id: I950422eea7a8f0ee9aab9b14cd2ea877bceba8d8
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
7 years agoBug 7730: Traffic drop in ACL during port update for AAP 85/51385/14
Somashekar Byrappa [Fri, 3 Feb 2017 10:26:39 +0000 (15:56 +0530)]
Bug 7730:  Traffic drop in ACL during port update for AAP

Issue: ARP flows in ACL tables are missing if AAP with same MAC is updated

Fix:
+ For AAP case, changed the order of programming flows to delete and add
instead of add and delete flows.
+ For port update, programming ARP flows is handled separately.
  - For egress, deletion of ARP flow is skipped if AAP is updated for same
    MAC.
  - For ingress, no action required as ARP flow has match for lport
    tag only. MAC is not used here.

Change-Id: I6c814468d80a601e127c813ee1897f9ed18315bf
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
7 years agoAdded Nat Config in vpn-service feature pom. 45/54545/1
Aswin Suryanarayanan [Sat, 8 Apr 2017 08:45:33 +0000 (14:15 +0530)]
Added Nat Config in vpn-service feature pom.

Change-Id: Id09a72bd02bd4f82f9cdf4c28a291eb3bd52924a
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
7 years agoSet update-strategy to none. 43/54543/1
Aswin Suryanarayanan [Sat, 8 Apr 2017 07:36:14 +0000 (13:06 +0530)]
Set update-strategy to none.

Check [1] for more info.
https://git.opendaylight.org/gerrit/#/c/54103/

Change-Id: I773f11962bf9bf0240fb53391ea84341caf56b15
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
7 years agoFinal changes for netvirt sfc classifier 30/54130/22
Brady Johnson [Fri, 31 Mar 2017 00:53:26 +0000 (02:53 +0200)]
Final changes for netvirt sfc classifier

- correctly obtain egress port from genius
- minor changes from previous code review
- Bugs tracked to be fixed in subsequent versions:
    BUG 8127
    BUG 8128
    BUG 8129
- Rebased
- BUG 8128 turned out to be a configuration error of mine.
  IPv4 matching works just fine.
- BUG 8128 has been closed.
- Removed Legacy Netvirt flow utils usage.
- BUG 8129 is partially addressed. Removed legacy netvirt flow utils,
  but in order to remove FlowBuilder usage, several changes to Genius
  will be needed, and will be done in a separate patch.
- minor fix for flow deletion
- made the ACL flow key more unique
- Check for the Vxgpe option on tunnel ports

Change-Id: I9ba1853222ae72d7e70f4aa192284bb46f6c7d32
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
7 years agoAdded a new config parameter for selecting SNAT. 93/53993/26
Aswin Suryanarayanan [Tue, 28 Mar 2017 15:42:09 +0000 (21:12 +0530)]
Added a new config parameter for selecting SNAT.

The default is set to controller mode.

The controller mode is disabled wherever applicable when conntrack is
selected.

When conntrack is selected new HA framework is used by default. The
controller mode continue to use the existing HA.

Change-Id: I00bb3ccda43cf382d6f2047298c4b25c82c73194
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoUpdate neutronvpn to use Singleton 43/54443/4
Sam Hague [Thu, 6 Apr 2017 14:38:38 +0000 (10:38 -0400)]
Update neutronvpn to use Singleton

Change-Id: Iaf1b94c06bfb69e98f13a71d4a5782293f777692
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoUpdate natservice to use Singleton 95/54395/5
Sam Hague [Thu, 6 Apr 2017 03:45:50 +0000 (23:45 -0400)]
Update natservice to use Singleton

Change-Id: I547755f19f4ad76699988c4db417f749453d89ab
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoAdding a check for elan-Interface removal 03/54403/3
eswanit [Thu, 6 Apr 2017 08:04:02 +0000 (13:34 +0530)]
Adding a check for elan-Interface removal

Change-Id: I8e782a22525848b149d5094ffdd6b842ec966f69
Signed-off-by: eswanit <swati.udhavrao.niture@ericsson.com>
7 years agoBug 8108: Fix for NPE in Cloud-SC's VrfListener 12/54512/2
Miguel Perez [Fri, 7 Apr 2017 08:57:33 +0000 (10:57 +0200)]
Bug 8108: Fix for NPE in Cloud-SC's VrfListener

 + I think all stream()+map() should be reviewed to avoid these
   kind of Exceptions

Change-Id: I8f96483c20c14995f5fd9d0bf700a4c8e40b4735
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoUntangle bad class design: OpenFlow13Provider does not use DataBroker 47/54447/2
Michael Vorburger [Thu, 6 Apr 2017 16:00:51 +0000 (18:00 +0200)]
Untangle bad class design: OpenFlow13Provider does not use DataBroker

It's generally best practice to not "reach over" through other services
to obtain injected services, but just let each class have (final) fields
with all of its dependant services.

In this particular case, the OpenFlow13Provider does not need to have a
DataBroker, so it's best to keep this simpler.  This makes writing unit
tests for OpenFlow13Provider more clear; for example, in
https://git.opendaylight.org/gerrit/#/c/54376/.

Change-Id: I3924275c246ffca2da259a2f696a51282eab486a
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoUpdating the display-bgp-config command 97/54397/4
Gowri R [Thu, 6 Apr 2017 06:33:34 +0000 (12:03 +0530)]
Updating the display-bgp-config command

To display the newly added options for BGP Multipath feature

Change-Id: I758a5e3700730355ef2efa9f5cb7bf8724f8c69c
Signed-off-by: Gowri R <gowri.r@ericsson.com>
7 years agoBug 7633: add K4 features to artifacts 46/54446/2
Stephen Kitt [Thu, 6 Apr 2017 13:04:34 +0000 (15:04 +0200)]
Bug 7633: add K4 features to artifacts

Change-Id: Id9b9191968430623632fdba6b9d359c2fc42493b
Signed-off-by: Stephen Kitt <skitt@redhat.com>
7 years agoupdate DHCP spec according to the desired feature capabilities 73/54373/2
Shai Haim [Wed, 5 Apr 2017 09:22:56 +0000 (12:22 +0300)]
update DHCP spec according to the desired feature capabilities

Change-Id: Icdfb529d15f40c688dada4695ea75abbb189037e
Signed-off-by: Shai Haim <shai.haim@hpe.com>
7 years agoUpdate fibManager to use Singleton 35/54435/3
Sam Hague [Thu, 6 Apr 2017 13:35:00 +0000 (09:35 -0400)]
Update fibManager to use Singleton

Change-Id: I08fbbcc7bd3a9c35063ce31c0ad22e85934c94c9
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoUpdate cloud-servicechain to use Singleton 40/54440/4
Sam Hague [Thu, 6 Apr 2017 14:10:41 +0000 (10:10 -0400)]
Update cloud-servicechain to use Singleton

Change-Id: I4f83907c7b19749816bfeb92f664650a5ea705e6
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoDisabling enforce-openstack-semantics flag 44/54444/2
Abhinav Gupta [Thu, 6 Apr 2017 15:04:32 +0000 (20:34 +0530)]
Disabling enforce-openstack-semantics flag

Change-Id: I39ef5563b9bc5ac9b04a7723253ab7b6bf468eee
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
7 years agoBug 8025: Correct non-NAPT to NAPT tunnel ID 38/54438/2
Alon Kochba [Thu, 6 Apr 2017 13:57:39 +0000 (16:57 +0300)]
Bug 8025: Correct non-NAPT to NAPT tunnel ID

As part of the vni-based-l2-l3-nat changes, the tunnel
used was changed but the packet out sent should use the
same tunnel ID for NAPT to work from a VM on a non-NAPT
switch.

Change-Id: I7ee2b526531beb84ececd78acf79a42d6177f7ab
Signed-off-by: Alon Kochba <alonko@hpe.com>
7 years agoFix natservice-impl for Karaf 4 36/54436/1
Stephen Kitt [Thu, 6 Apr 2017 13:51:22 +0000 (15:51 +0200)]
Fix natservice-impl for Karaf 4

Change-Id: I92ae9307e5001d8b5527d98b95b0c005b87c38da
Signed-off-by: Stephen Kitt <skitt@redhat.com>
7 years agoUpdate dhcpservice to use Singleton 94/54394/2
Sam Hague [Thu, 6 Apr 2017 00:38:54 +0000 (20:38 -0400)]
Update dhcpservice to use Singleton

Change-Id: I6c24c7fd1a354a8ca7e4e69c99ac529f851717fd
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoExternal networks subnetroute fix 66/54366/4
Tomer Pearl [Wed, 5 Apr 2017 14:36:43 +0000 (17:36 +0300)]
External networks subnetroute fix

Commit [1] changed the VpnSubnetRouteHandler APIs from using
yang based notifications to listening on subnetmap changes
from the datastore.

Subnetmap entities for subnets in Flat/VLAN external networks don't have a
vpn-name assigned to them, which caused a null pointer exception in
VpnSubnetRouteHandler after [1]

In this change, subnetmap is assinged a vpn-name, for subnets in
external Flat/VLAN networks, which is the subnet id itself.

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

Change-Id: Ic7593a5f59aa389f19729c5c5701fd9e1e02eea0
Signed-off-by: Tomer Pearl <tomer.pearl@hpe.com>
7 years agoRemove statemanager's ConfigStateManager 87/54387/2
Michael Vorburger [Wed, 5 Apr 2017 20:39:15 +0000 (22:39 +0200)]
Remove statemanager's ConfigStateManager

now that all of netvirt is using blueprint

This class (ConfigStateManager) does not seem to be used anywhere.

Change-Id: I9d861f04824bf1faf71a61000fed41e273dd7316
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoUpdate ipv6service to use Singleton 89/54389/2
Sam Hague [Wed, 5 Apr 2017 21:35:29 +0000 (17:35 -0400)]
Update ipv6service to use Singleton

Change-Id: I0dbedeadd30f44f2364bb7e3cd06291472415a12
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoupdate AclLiveStatistics to use Singleton 85/54385/2
Sam Hague [Wed, 5 Apr 2017 19:40:25 +0000 (15:40 -0400)]
update AclLiveStatistics to use Singleton

Change-Id: I80fb8821531ac1246265838017818fc8f8240048
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agostatemanager StateManager @Singleton with @Inject instead of <bean> XML 91/54391/3
Michael Vorburger [Wed, 5 Apr 2017 21:40:50 +0000 (23:40 +0200)]
statemanager StateManager @Singleton with @Inject instead of <bean> XML

https://wiki.opendaylight.org/view/BestPractices/DI_Guidelines

Change-Id: I9c5607b1eba5bcb9bf74b234a64c7583a272f09d
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoCommand line added to display the current NAPT switches configured. 45/54345/2
Aswin Suryanarayanan [Wed, 5 Apr 2017 09:33:35 +0000 (15:03 +0530)]
Command line added to display the current NAPT switches configured.

Change-Id: I45ab13e78f51dae1b6ca1ce1589a073a36239359
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>