netvirt.git
6 years agoLower log level for non errors 81/63581/2
Sam Hague [Tue, 26 Sep 2017 21:51:28 +0000 (17:51 -0400)]
Lower log level for non errors

Change-Id: I7108bb53268bf5d2513b44117d9755cf62c5aaac
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoRemove explicit default super-constructor calls 00/63600/2
David Suarez [Wed, 27 Sep 2017 08:31:23 +0000 (10:31 +0200)]
Remove explicit default super-constructor calls

The default constructor is called by default (hence its name), no need
to call it explicitly. Based on this commit [1].

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

Change-Id: Ia7a4ccf88c328aab9feade1252a06e2c94b660ac
Signed-off-by: David Suarez <david.suarez.fuentes@gmail.com>
6 years agoBug9091 : Removing uncessary MD-SAL Read Operation in NAT 93/62693/9
cgowdru [Tue, 5 Sep 2017 11:24:40 +0000 (16:54 +0530)]
Bug9091 : Removing uncessary MD-SAL Read Operation in NAT

Description : It's been obseved many unnecessary MD-SAL read operations
where done in NAT module. Changes done to pass them as parameters to
calling methods instead reading the same data again which is already
retrieved earlier in it caller methods.

Change-Id: If5efc57a0342caa6acf73b3f17dba033cab77e7c
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
6 years agoBug 8953 - IllegalArgumentException: vrfEntry is missing mandatory 82/63482/4
eupakir [Mon, 25 Sep 2017 10:02:06 +0000 (15:32 +0530)]
Bug 8953 - IllegalArgumentException: vrfEntry is missing mandatory
descendant origin

Change-Id: I0978d55f09d0e9b31aa2b74e5cfac68a757c29da
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
6 years agolower log levels for non-errors 11/63511/3
Sam Hague [Mon, 25 Sep 2017 22:06:18 +0000 (18:06 -0400)]
lower log levels for non-errors

Change-Id: I417085e3a9547b03ffe2c74285bf8af2746d461e
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoClearBgpCli reads from socket to send/receive from bgpd 03/63503/1
Siva Kumar Perumalla [Mon, 25 Sep 2017 23:41:32 +0000 (05:11 +0530)]
ClearBgpCli reads from socket to send/receive from bgpd
(some previous commit modifed to read from session parameters)

Change-Id: Id0f4e8294e239fee70d6b09d891d50c5c6a9237a
Signed-off-by: Siva Kumar Perumalla <sivakumar.perumalla@ericsson.com>
6 years agobgpmanager: change API of bgpmanager to add VRF IPv4 or IPv6 78/57978/119
Philippe Guibert [Mon, 29 May 2017 09:45:00 +0000 (10:45 +0100)]
bgpmanager: change API of bgpmanager to add VRF IPv4 or IPv6

This change adds a change in IBgpManager API, since it adds afi and safi
parameters to VRF creation and deletion. This information is propagated
to BGP so as to create and delete VPN context tables in function of the
AFI and SAFI settings.
Instead of passing a layerType value, an AddressFamily type is used.
AddressFamily is mapped to internal afi/safi values.
The values are appended or removed to the VRF objects of BGP Manager.
The VRF object is then written to the config DS.
Subsequently, the Quagga will be called upon the various changes in the VRF object.
If the object is added or updated, the Quagga will be called with the appropriate
afi/safi values. If the object is removed, all the afi/safi values are removed from
the Quagga. If the object is added, the afi/safi values are added to the quagga.

Change-Id: Ife754ce561f69dbb67fcdf74308b5153cbde53e6
Signed-off-by: Valentina Krasnobaeva <valentina.krasnobaeva@6wind.com>
Signed-off-by: Noel de Prandieres <prandieres@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
6 years agoneutronvpn: create ipv4 or ipv6 context 77/57977/115
Philippe Guibert [Wed, 20 Sep 2017 10:03:50 +0000 (11:03 +0100)]
neutronvpn: create ipv4 or ipv6 context

Add ipv4Family and ipv6Family attributes to VPN instance. Add
IpVersionChoice class, which allows to set values for these attributes
in dependency of Ethertype of added/removed to VPN subnet.

Change-Id: If5ea1a0a29d31388d7898b9e6e53bdc4aecb1cbe
Signed-off-by: Valentina Krasnobaeva <valentina.krasnobaeva@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Noel de Prandieres <prandieres@6wind.com>
6 years agobgpmanager thrift upgrade to 0.9.3 18/63218/2
Siva Kumar Perumalla [Mon, 18 Sep 2017 12:34:32 +0000 (18:04 +0530)]
bgpmanager thrift upgrade to 0.9.3

Change-Id: I5154fc5b3522313b30d647b68ed37dfd9e02f9ca
Signed-off-by: Siva Kumar Perumalla <sivakumar.perumalla@ericsson.com>
6 years agoBug 8963 - Option to configure EVPN address family 89/62689/3
Yugandhar Reddy Kaku [Tue, 5 Sep 2017 12:27:04 +0000 (17:57 +0530)]
Bug 8963 - Option to configure EVPN address family

evpn can  be configured as neighbor from karaf CLI with command bgp-nbr
In the bgp-nbr command, for supported address families, vpnv4 is added as
it was missing.

Change-Id: I9d8854c9a7a05f1a48836f0ae88c7934b31a14be
Signed-off-by: Yugandhar Reddy Kaku <yugandhar.reddy.kaku@ericsson.com>
6 years agoBug 9196 - Maxpath value should be between 1 to 64 in BGP multipath 00/63400/2
Gowri R [Thu, 21 Sep 2017 11:50:39 +0000 (17:20 +0530)]
Bug 9196 - Maxpath value should be between 1 to 64 in BGP multipath

Adding a check to ensure maxpath value for BGP multipath is in the range 1
to 64

Change-Id: I03786726053672d04b8ef552cb16cc45a9c4a840
Signed-off-by: Gowri R <gowri.r@ericsson.com>
6 years agoBUG 8930 - delete Op VPN interface when deleting external network 92/63392/3
Vinh Nguyen [Thu, 10 Aug 2017 19:26:24 +0000 (12:26 -0700)]
BUG 8930 - delete Op VPN interface when deleting external network

Op VPNInterafce is removed in VrfEntryListener when the last
adjacency for the VPNInterface is removed.
The problem is VPN interface for external network doesn't
have any adjacency nor VrfEntry.
As a result, when the external Vpn interface is removed
the Op VpnInstance is not removed as it should.

Fix: Delete the Op VPN interface in VpnInterfaceManager
if the VPN interface to be deleted doesn't have any adjacency

Change-Id: Ice4b9fcb0103c6aff25053cc5b3db3b01311be06
Signed-off-by: Vinh Nguyen <vinh.nguyen@hcl.com>
6 years agoLower log levels for non error's 73/63373/5
Sam Hague [Wed, 20 Sep 2017 21:44:04 +0000 (17:44 -0400)]
Lower log levels for non error's

Change-Id: Ia60e0b8bc87182cc2e4ac6611b77b0f421947da9
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoelanmanager: clean up Futures collections 83/62983/5
Stephen Kitt [Mon, 11 Sep 2017 16:29:58 +0000 (18:29 +0200)]
elanmanager: clean up Futures collections

This patch replaces lists of Futures with singleton lists where
possible. It also removes instances of passing such lists around,
using return values instead.

This patch also cleans up the job classes generally: instance fields
are final where possible, unused fields and parameters are removed.

Change-Id: I8db42f96867b61e46eaf229f95d06c7f6b6249f0
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoBug 9193 - In conntrack SNAT , flows are programmed twice on a router 61/63361/3
Aswin Suryanarayanan [Wed, 20 Sep 2017 18:00:32 +0000 (23:30 +0530)]
Bug 9193 - In conntrack SNAT , flows are programmed twice on a router
g/w set.

Check is added in RouterDpnChangeListener to check if the port added is
th pseudo router interface and prevent the notification.

Fixed an exception caused by not creating VNI pool.

Change-Id: I6f5fd8f6bd35c37346a2d7780eaf0d49b2fe92cb
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
6 years agoIfMgr clean-up 77/63177/3
Stephen Kitt [Fri, 15 Sep 2017 15:29:05 +0000 (17:29 +0200)]
IfMgr clean-up

* Avoid calling overridable methods in the constructor.
* Initialise fields in the declaration.
* Remove unused parameters.
* Remove null checks after new, new never returns null.
* Remove unnecessary return statements.
* Remove end-of-method null assignments for local variables.
* Use Map methods to simplify processing.
* Fix a couple of invalid null-handling constructs.

Change-Id: I144268785df2b648daa487c1eb8c63877dd13325
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoRestrict NeutronvpnUtils.read 11/62711/7
Stephen Kitt [Tue, 5 Sep 2017 14:56:22 +0000 (16:56 +0200)]
Restrict NeutronvpnUtils.read

As a first step towards removing NeutronvpuUtils.read, replace all
external uses with SingleTransactionDataBroker.syncReadOptional and
adjust the exception handling accordingly (which also allows us to
clean up a number of disabled Checkstyle warnings).

Change-Id: Ibad4aa194657cdb8c56ccd993c9182dbf4225f02
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agobug-9190: NullPointerException at getIsExternal 42/63342/2
Sam Hague [Wed, 20 Sep 2017 15:29:16 +0000 (11:29 -0400)]
bug-9190: NullPointerException at getIsExternal

Change-Id: If79a282989206bafe8d6c90e1bc089d820d6f0d2
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoBUG 8969 - Fix Exeption when clearing external router GW 91/63391/1
Vinh Nguyen [Mon, 14 Aug 2017 22:19:11 +0000 (15:19 -0700)]
BUG 8969 - Fix Exeption when clearing external router GW

When clearing the router GW, the flow entry for router GW
on the NAPT primary switch is also removed.
Exception occurs when we try to delete the router GW
but there is no NAPT primary switch.

Fix: check for existence of NAPT primary switch
before deleting the router GW flow on the switch.
Also downgrade ERROR to DEBUG log level when primary
NAPT switch can not be found since this could
happen when no internal network attaches to the router yet.

Change-Id: I7ebc0d60183954044aeb8a4e8f062b4d227f6c76
Signed-off-by: Vinh Nguyen <vinh.nguyen@hcl.com>
6 years agoBug 9105: close removeElanInterface transaction 23/63023/3
Stephen Kitt [Tue, 12 Sep 2017 08:54:22 +0000 (10:54 +0200)]
Bug 9105: close removeElanInterface transaction

Cancel the interface transaction if we return early from
removeElanInterface. Initialise the flow transaction after the early
return so we don’t need to handle it specially.

Change-Id: I317925cef806c792038299b74d73f18861e40bd8
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoElanUtils clean-up: ElanL2GatewayUtils 17/60817/8
Stephen Kitt [Thu, 27 Jul 2017 15:07:26 +0000 (17:07 +0200)]
ElanUtils clean-up: ElanL2GatewayUtils

This patch initialises ElanL2GatewayUtils using BluePrint. This
involves adding static variants to a small number of methods in order
to break the dependency cycle involving ElanInstanceManager,
ElanInterfaceManager, ElanUtils and ElanL2GatewayUtils.

Change-Id: Icf17e0fb7683b871b8246b148d905e51bad4e598
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoElanUtils clean-up: L2GatewayConnectionUtils 13/60813/8
Stephen Kitt [Thu, 27 Jul 2017 13:48:02 +0000 (15:48 +0200)]
ElanUtils clean-up: L2GatewayConnectionUtils

This turns L2GatewayConnectionUtils into a self-carrying bean, instead
of relying on ElanUtils to initialise it.

Change-Id: I2c5c8330e57a46048651a1f6b656fb34b099afe3
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoElanUtils clean-up: remove unnecessary references 05/60805/9
Stephen Kitt [Thu, 27 Jul 2017 08:29:38 +0000 (10:29 +0200)]
ElanUtils clean-up: remove unnecessary references

A number of classes reference ElanUtils instances even though they no
longer need them, or they call static methods via an instance. This
patch cleans them up.

Change-Id: I29bf1454e7a56ac474ef9198a48114b0b0447aea
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoElanUtils clean-up: ElanL2Gateway{Multicast,}Utils 33/60733/10
Stephen Kitt [Tue, 25 Jul 2017 08:09:47 +0000 (10:09 +0200)]
ElanUtils clean-up: ElanL2Gateway{Multicast,}Utils

Extract various utility methods to ElanDmacUtils, ElanEtreeUtils and
ElanItmUtils, so that ElanL2GatewayMulticastUtils’ dependency on
ElanL2GatewayUtils (which needs to be post-filled after
initialisation) can be removed.

Change-Id: Iec71e32ea61ff1789537bcb1e7e35fa3253f8363
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoElanUtils clean-up: more ElanL2GatewayMulticastUtils 90/60690/9
Stephen Kitt [Mon, 24 Jul 2017 13:05:53 +0000 (15:05 +0200)]
ElanUtils clean-up: more ElanL2GatewayMulticastUtils

Moving installDpnMacsInL2gwDevice from ElanL2GatewayUtils to
ElanInterfaceManager allows ElanL2GatewayUtils’ dependency on
ElanL2GatewayMulticastUtils to be removed.

Change-Id: I1af5c31f516f4dfe7121c16e797339b60a1d03ca
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoElanUtils clean-up: ElanL2GatewayMulticastUtils 89/60689/9
Stephen Kitt [Mon, 24 Jul 2017 12:40:56 +0000 (14:40 +0200)]
ElanUtils clean-up: ElanL2GatewayMulticastUtils

elanUtils.getInvolvedDpnsInElan is a very simple wrapper around
elanInstanceManager.getElanDPNByName, which isn’t even needed any more
since the latter never returns null. Using the latter directly in
ElanL2GatewayMulticastUtils means we no longer need ElanUtils there,
which simplifies initialisation (although not perfectly yet because of
the loop between ElanL2GatewayMulticastUtils and ElanL2GatewayUtils).

Change-Id: Ie4ef925d5e0c02e5476141430f844dc2b0a0647e
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoElanUtils clean-up: make read() static 88/60688/8
Stephen Kitt [Mon, 24 Jul 2017 11:36:16 +0000 (13:36 +0200)]
ElanUtils clean-up: make read() static

It turns out no callers use the variant of read() which relies on
ElanUtils’ own broker, so we can drop that and make read() static,
which reduces the requirement for ElanUtils instances.

Change-Id: I75841497b4247abb9f10c216956ba534bc5068ce
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoaclservice: clean up Futures collections 71/62971/2
Stephen Kitt [Mon, 11 Sep 2017 13:28:30 +0000 (15:28 +0200)]
aclservice: clean up Futures collections

This patch replaces lists of Futures with singleton lists where
possible.

Change-Id: I5d3445c488599f28b920a2296e0d2ab439761a43
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agodhcpservice: clean up Futures collections 74/62974/2
Stephen Kitt [Mon, 11 Sep 2017 14:06:46 +0000 (16:06 +0200)]
dhcpservice: clean up Futures collections

This patch replaces lists of Futures with singleton lists where
possible. It also removes instances of passing such lists around,
using return values instead.

This patch also cleans up the job classes generally: instance fields
are final where possible, unused fields and parameters are removed.

Change-Id: Idd1add34a0ac75aaf7ae0afc137904cebfb7e741
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agocoe: clean up Futures collections 72/62972/2
Stephen Kitt [Mon, 11 Sep 2017 13:31:51 +0000 (15:31 +0200)]
coe: clean up Futures collections

This patch replaces lists of Futures with singleton lists where
possible.

Change-Id: I7ab2b93f0e4d96c5192c0cc594ef0dcbb14a4407
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoRemove un-used SynchronousEachOperationNewWriteTransaction 49/63349/2
Michael Vorburger [Wed, 20 Sep 2017 16:16:00 +0000 (18:16 +0200)]
Remove un-used SynchronousEachOperationNewWriteTransaction

replaced by SingleTransactionDataBroker which is now widely adopted

Change-Id: I09c4f64941bdd4398cbda28d339449b43ba8e10a
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agocleanup sync 16/63316/1
Sam Hague [Tue, 19 Sep 2017 23:25:04 +0000 (19:25 -0400)]
cleanup sync

Change-Id: I7d84b026a297cc6f595c224ae3d9e7072607811b
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoBug 8953: Fix exceptions raised due to PNF confused with FIP 38/63238/6
Vivekanandan Narasimhan [Mon, 18 Sep 2017 17:08:38 +0000 (22:38 +0530)]
Bug 8953: Fix exceptions raised due to PNF confused with FIP

Both FIP and discovered PNF IP VrfEntries
use an RD value of external-subnet-id and
thereby the below review resulted in FloatingIP (FIP)
processing being done for PNF incorrectly.
This situation happened vide review:
https://git.opendaylight.org/gerrit/#/c/62957/

In here we fix that confusion, by pushing a new
enumeration to clearly distinguish various type
of prefixes within the prefix-to-interface and use
the same in FibManager (VrfEntryListener) to unambiguously
handle processing for such prefixes (or VrfEntries).

Change-Id: I5143c603d96657e7db0db38a955a4a14f0413e0c
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
6 years agoBug 9026: ACL issue in handling port-create 52/62152/10
Somashekar Byrappa [Tue, 22 Aug 2017 08:10:27 +0000 (13:40 +0530)]
Bug 9026: ACL issue in handling port-create

Problem:
When a VM is booted by creating a port with commands [1] & [2], ACL
service is bound to the interface which shouldn't have happened as [2]
explicitly sets --port-security-enabled False.

+ During [1], ACL bind service is performed as flag
port-security-enabled=True by default.
+ During [2], ACL unbind service should be performed as flag
port-security-enabled=False is set explicitly. This was not happening.

Solution:
During port-update, ACL unbind service was called only during interface
up. Now this is changed to unbind ACL service irrespective of interface
state (up/down).

Also, handled cache update correctly during port-update.

Commands:
[1] neutron port-create net10 --no-security-groups
[2] neutron port-update <port id> --port-security-enabled False

Change-Id: I73d299fc61e02bee8aafe0370cdf0a4874533ee9
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoBug 7380: service-binding exceptions from ACL 58/62458/20
Vivekanandan Narasimhan [Wed, 30 Aug 2017 16:56:32 +0000 (22:26 +0530)]
Bug 7380:  service-binding exceptions from ACL

Exceptions are thrown when ACL tries to bind/unbind
ports that it's not supposed to handle.

The fix ensures that AclInterfaceStateListener
does not create ACLInterfaces for interfaces
that donot have port-security-enabled.

This also addresses issue observed with a scenario where a neutron port
is created with SG
disabled and was later enabled.

Change-Id: I2b7d6468b36fdc43d4ac1a91c16563d8d675ca3f
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
6 years agoRemove learn mode from aclserivce. 19/63219/2
Aswin Suryanarayanan [Mon, 18 Sep 2017 10:03:16 +0000 (15:33 +0530)]
Remove learn mode from aclserivce.

Change-Id: Ia85ed76bc753dd67d1ecc5efb9b9aa3a6690151c
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
6 years agoRemove aggregator from artifactId 25/63225/2
Sam Hague [Mon, 18 Sep 2017 11:16:34 +0000 (07:16 -0400)]
Remove aggregator from artifactId

Change-Id: Iad35ffa4987ac0ef8d0bb1b5feedb75a3a70fdc3
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoBug 8953 - IllegalArgumentException: vrfEntry is missing mandatory 57/62957/8
eupakir [Mon, 11 Sep 2017 10:08:12 +0000 (15:38 +0530)]
Bug 8953 - IllegalArgumentException: vrfEntry is missing mandatory
descendant origin.

Change-Id: I8ac129ae16fdb259fc2c54f3230b67038b9a2530
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
6 years agoDualstack support for L3VPN - single router Dual stack 46/60246/75
Philippe Guibert [Tue, 11 Jul 2017 12:40:15 +0000 (13:40 +0100)]
Dualstack support for L3VPN - single router Dual stack

According to dualstack specification [0], this commit introduces changes
related to "one router solution" case.

* NeutronPortChangeListener: Create only one VPN interface instance
  for one neutron port. This instance can include a list of IPv4 and/or
  IPv6 subnetMaps, where addresses where allocated for spawned port.

* NeutronvpnManager: in createVpnInterface we no longer use routerId as
  argument, instead we will iterate over all port IP addresses to create
  according adjacencies objects and than, we pass composed adjacencies
  list to writeVpnInterfaceToDs method.

Change-Id: I5f527be0ebea8f1a74e9a790aa9c3fec6291bda7
Signed-off-by: Valentina Krasnobaeva <valentina.krasnobaeva@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Noel de Prandieres <prandieres@6wind.com>
6 years agoBug 8860 : Populate elantag at time of elanInstance creation 29/63129/6
Abhinav Gupta [Thu, 14 Sep 2017 09:51:42 +0000 (15:21 +0530)]
Bug 8860 : Populate elantag at time of elanInstance creation

This patch eliminates the delay in elantag being available for use by
SubnetRoute Engine.

Change-Id: I0c3e28758c49d5a600f1213b94172fb532c7a77c
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
6 years agoRemove transparent mode from aclservice. 16/61316/5
Aswin Suryanarayanan [Tue, 8 Aug 2017 07:44:16 +0000 (13:14 +0530)]
Remove transparent mode from aclservice.

Depends on https://git.opendaylight.org/gerrit/#/c/60737/ , which adds
port_security disable tests.

Change-Id: Icf83af877cdf9965b24db38573453a6433d7eca6
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
6 years agoBUG-8893 patch port mysteriously deleted 47/62347/15
Josh [Sun, 27 Aug 2017 10:55:09 +0000 (13:55 +0300)]
BUG-8893 patch port mysteriously deleted

This happens sporadically when br-int exists prior to ODL
managing the OVS node. If the event notifying ElanOvsdbNodeListener
of the existence of the br-int bridge happens BEFORE the event
notifying about the OVS node the following occurs:

1. Netvirt gets event for br-int
2. Writes patch ports
3. Netvirt gets event for the ovs node
4. Creates br-int...which already exists and this over-writes the
   patch ports

Fix:
a) clean up code so that br-int is configured with a controller
   and patch ports only once we receive the notification for br-int
   in operational.
b) when receiving a notification for the OVSDB node in operational,
   check if br-int is in operational. If it is not, create it in
   config.
c) when receiving a notification for br-int in operational, check if it
   is also in config. If it is not, copy br-int fields from operational
   to config. The proceed to step (a).

Change-Id: I11739ccc847e65c4179ff1f73493159bd4effcd2
Signed-off-by: Josh <jhershbe@redhat.com>
6 years agoSpec for Acl change reflection on existing communication 34/63134/2
vinothb [Thu, 20 Jul 2017 18:06:08 +0000 (14:06 -0400)]
Spec for Acl change reflection on existing communication

Change-Id: Id8b2e3c9bf321248a6e55f6830078b4fd6acde14
Signed-off-by: vinothb <vinothb@hcl.com>
6 years agoBug 8964 - Neutron test 99/62899/6
Aswin Suryanarayanan [Fri, 8 Sep 2017 11:52:00 +0000 (17:22 +0530)]
Bug 8964 - Neutron test
neutron.tests.tempest.scenario.test_floatingip.FloatingIpSameNetwork.test_east_west
fails

1)Added FIB(Table21) flow  in NON-NAPT switch to send the traffic  to
the SNAT IP to the NAPT switch over the tunnel.
2)Added Tunnel table(Table 36) in NAPT switch to send the to SNAT IP to
the Inbound SNAT(Table 44) table.

table=21, n_packets=49, n_bytes=4802,
priority=42,ip,metadata=0x30d42/0xfffffe,nw_dst=192.168.56.31
actions=set_field:0x186a1->tun_id,group:225001

table=36, n_packets=22, n_bytes=2156, priority=42,ip,tun_id=0x186a1
actions=load:0x30d42->OXM_OF_METADATA[0..23],resubmit(,44)

Change-Id: I829400a1479752dd9963ac8931ca662f4f51bed2
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
6 years agoFix exception handling in neutronvpn shell 13/63113/3
Michael Vorburger [Wed, 13 Sep 2017 17:56:57 +0000 (19:56 +0200)]
Fix exception handling in neutronvpn shell

see
https://wiki.opendaylight.org/view/BestPractices/Coding_Guidelines#IllegalCatch

motivated by/while reviewing
https://git.opendaylight.org/gerrit/#/c/62711/3/vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnManager.java

Change-Id: I8ebc913e66d2fe33ffadf361214bb82263aec149
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agoBug7380:CSIT FIP ping is getting failed for Ext Flat/VLAN Network 92/62492/5
karthikeyan [Thu, 31 Aug 2017 12:50:21 +0000 (18:20 +0530)]
Bug7380:CSIT FIP ping is getting failed for Ext Flat/VLAN Network

Problem Description:
=======================
FIP Ping TC is getting failed for external FLAT/VLAN network on single
node setup.

For Single node setup VXLAN TEP is not at all required for external
network with provider type as FLAT/VLAN.
Current Implementation on FIP handling, it is
expected nextHop IP should not be null before programming FIP local flow
entry L3_FIB_TABLE (21) -> PDNAT_TABLE (25). This validation is not
required for external provider type as FLAT/VLAN networks.

Solution:
==========
NextHopIP validation is already existing in NatUtil.addPrefixToBGP()
method before FIP advertising to BGP. Hence removing unnecessary
validation from VpnFloatingIpHandler.
This will resolve FIP local flow entry L3_FIB_TABLE (21) -> PDNAT_TABLE
(25) installation on corresponding DPN for external FLAT/VLAN network on
Single Node setup (Without VXLAN TEP Configured)

Change-Id: I6653c78733e037310827ffbcd4498097b19a2abf
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
6 years agoFix cloud-servicechain YANG 97/63097/1
Stephen Kitt [Wed, 13 Sep 2017 12:28:55 +0000 (14:28 +0200)]
Fix cloud-servicechain YANG

This corrects the YANG revision, which becomes 160711.

Change-Id: I32b619cc29d89c0d3adb06fc264c3f26c04d50c0
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoFix elanservice tests after daexim change in genius idmanager 22/62922/5
Faseela K [Fri, 8 Sep 2017 17:59:36 +0000 (23:29 +0530)]
Fix elanservice tests after daexim change in genius idmanager

Change-Id: I97f97a7c926a34f9bb6764bf004e8854512f5788
Signed-off-by: Faseela K <faseela.k@ericsson.com>
6 years agoRemove unused references to DataChangeListener 34/62434/2
Tom Pantelis [Wed, 30 Aug 2017 01:40:15 +0000 (21:40 -0400)]
Remove unused references to DataChangeListener

Change-Id: I78e8c32bd76536fd420d31b6e7b0bd2b026d7a49
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoBug 9136 - Suspected ReadOnlyTransaction leak in QosNeutronUtils 47/62947/8
A Vamsikrishna [Mon, 11 Sep 2017 03:35:07 +0000 (09:05 +0530)]
Bug 9136 - Suspected ReadOnlyTransaction leak in QosNeutronUtils

Description:

Bug 9136 - Suspected ReadOnlyTransaction leak in QosNeutronUtils

Fix:

Fixed ReadOnlyTransaction leak by using try-with-resources statement for automatic resource management.

Change-Id: Ib4e03a425b840427d7133f40d5a72d4bf5f85605
Signed-off-by: A Vamsikrishna <a.vamsikrishna@ericsson.com>
6 years agoFix wrongly keyed network map in CoeUtils 31/63031/1
Faseela K [Tue, 12 Sep 2017 11:55:51 +0000 (17:25 +0530)]
Fix wrongly keyed network map in CoeUtils

Change-Id: I34c986d5b142c46b0da969e4bab36b401881a2cf
Signed-off-by: Faseela K <faseela.k@ericsson.com>
6 years agoRemove deprecated CheckedFuture 68/62868/3
David Suarez [Thu, 7 Sep 2017 19:40:03 +0000 (21:40 +0200)]
Remove deprecated CheckedFuture

Remove deprecated CheckedFuture.

Change-Id: I69b6378867f68e18d69a23c25e14780ad305370c
Signed-off-by: David Suarez <david.suarez.fuentes@gmail.com>
6 years agoBug 7380: service-binding exceptions from ACL 09/62909/2
Sam Hague [Fri, 8 Sep 2017 13:41:25 +0000 (09:41 -0400)]
Bug 7380: service-binding exceptions from ACL

Change-Id: Ifb4d096bb58bfa5e7670a5b0f2b8718067366c5c
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoIgnore elan tests due to daexim failure 26/62926/1
Sam Hague [Fri, 8 Sep 2017 19:35:44 +0000 (15:35 -0400)]
Ignore elan tests due to daexim failure

genius has a dependency on daexim introduced recently
so ignore the failing tests in netvirt until that is fixed.

09:49:48 1) No implementation for org.opendaylight.daexim.DataImportBootReady was bound.
09:49:48   while locating org.opendaylight.daexim.DataImportBootReady
09:49:48     for the 4th parameter of org.opendaylight.genius.idmanager.IdManager.<init>(IdManager.java:101)
09:49:48   at org.opendaylight.netvirt.elanmanager.tests.ElanServiceTestModule.configureBindings(ElanServiceTestModule.java:49)

Change-Id: I4f3718a27cb44caa19235c350bffdf64302c0ddd
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoMinor code cleanup in QoS 94/62794/3
Arun Sharma [Wed, 6 Sep 2017 17:28:52 +0000 (22:58 +0530)]
Minor code cleanup in QoS

- Corrected log messages
- Renamed QosAlertEosHandler to QosEosHandler because same eos handler
  is used by QoS service as well.

Change-Id: I160f500ba40ed5cfb471d4023adf04c35cbc7bf2
Signed-off-by: Arun Sharma <arun.e.sharma@ericsson.com>
6 years agoBug 9012 : BGP not connecting to config server 77/62477/4
Vyshakh Krishnan CH [Thu, 31 Aug 2017 05:54:17 +0000 (11:24 +0530)]
Bug 9012 : BGP not connecting to config server

Issue was there with previos commit where config_server_updated flag was
never set to false. Making it to false at correct place now

Change-Id: I5c49bf02dac8cb66033eb8a38d453ac0922cbca9
Signed-off-by: Vyshakh Krishnan CH <vyshakh.krishnan.c.h@ericsson.com>
6 years agoBug 9100 : tx leak in DhcpExternalTunnelManager 56/62856/2
Kency Kurian [Wed, 6 Sep 2017 11:43:17 +0000 (17:13 +0530)]
Bug 9100 : tx leak in DhcpExternalTunnelManager

Change-Id: I14a6ff3310214362fcd51cb36a0ceb509b386ee1
Signed-off-by: Kency Kurian <kency.kurian@ericsson.com>
6 years agoBUG9095 Capture SFC tunnel traffic for path egress 84/62784/2
Jaime Caamaño Ruiz [Fri, 1 Sep 2017 17:33:55 +0000 (19:33 +0200)]
BUG9095 Capture SFC tunnel traffic for path egress

On scenarios where origin and destination of traffic are on the same
node, but last SF is on a different node, SFc on last hop will not
de-encapsulate the traffic, instead it will the encpsulated traffic
to the node indicated via IP address on NSH C1 metadata.

There an egress classifier function will handle the traffic. In order
to do this, since port binding in tunnel ports is still not being used
and there is no dispatch service on tunnel ports, this egress
classification function needs to take SFC traffic (VNI=0) with priority
to handle the possible chain egress. If chain egress function is not
applied, it will resubmit this SFC traffic to the SFC pipeline.

The egress classifier function is aslo updated to match SFC traffic on
on the specific ending index of each possible path.

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

6 years agoBUG9094 Bind to last SF interface if origin node 82/62782/2
Jaime Caamaño Ruiz [Fri, 1 Sep 2017 15:11:48 +0000 (17:11 +0200)]
BUG9094 Bind to last SF interface if origin node

If the last SF is in one of the possible origin nodes for the
classified traffic, bind the classifier on it's port. This is to be
to handle the possible scenario where origin, last SF and destination
of traffic are on the same node. On this scenario, SFC on last hop will
not de-encapsulate the traffic, instead it will be handed off to the
dispatcher table for the egress classifier function to handle it. To be
able to do this, it needs to be bound to the last SF port.

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

6 years agoRemove stateless mode from AclService. 59/61259/6
Aswin Suryanarayanan [Mon, 7 Aug 2017 09:24:36 +0000 (14:54 +0530)]
Remove stateless mode from AclService.

Change-Id: I6307007ef23c4f58e8c543a22550109d8c778ce4
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
6 years agoAdd LogCaptureRule to AclServiceTestBase & ElanServiceTest 55/62655/5
Michael Vorburger [Mon, 4 Sep 2017 21:46:59 +0000 (23:46 +0200)]
Add LogCaptureRule to AclServiceTestBase & ElanServiceTest

which is useful as is already to see test failure causes more clearly,
but will provide even more useful full information together with
https://git.opendaylight.org/gerrit/#/c/62654/

Change-Id: I278f38a38389eccea4317d52e8035f6e464400e1
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
6 years agoBug9016:Using Single Transaction during NAPT SwitchOver 91/62391/4
karthikeyan [Tue, 29 Aug 2017 08:24:45 +0000 (13:54 +0530)]
Bug9016:Using Single Transaction during NAPT SwitchOver

Problem Description:
====================
When NAPT Switch over happens, multiple transactions were made to remove
SNAT related flows from Primary NAPT switch and reinstalling flow on new
NAPT elected switch.

Optimization needs to be done to make use of single transaction taking
care of removing all SNAT related flows from old NAPT and another single
transaction for installing SNAT flows on new NAPT switch.

Solution:
==========
Used one write transaction object for used to remove all NAPT related
flows from old NAPT switch during NAPT switch over happened. Used other
write transaction object for installing all NAPT related flows on newly
elected NAPT switch. This will reduce the number of transaction object
were used during NAPT switch over happens as well as installing SNAT
related flows during first time as well.

Note:
=====
Have removed ExternalNetworkListener.java class. Since this class was
taken care for installing NAT default flow L3_FIB_TABLE(21)
PSNAT_TABLE(26) on all NAT switches. This same logic was already
implemented in ExternalRoutersListener class. Just to avoid the conflict
modification error, removed ExternalNetworkListener.java class from NAT
Module.

Change-Id: Ic2b54e7acbb01805b9a25fea28017c7353ee59d2
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
6 years agoCluster support for netvirt QoS 92/62392/9
Arun Sharma [Tue, 29 Aug 2017 08:41:49 +0000 (14:11 +0530)]
Cluster support for netvirt QoS

-Changed QoS policy configuration change listeners from
 AsyncDataTreeChangeListenerBase to
 AsyncClusteredDataTreeChangeListenerBase so that all nodes receive
 QoS configuration change notifications.

-Rate limit and DSCP marking is done only by QoS entity owner. Other
 nodes just update the cache. This ensures that cache is always in
 sync between all the nodes.

Change-Id: Id2215e4b98cfcb238c437402a02ece640db11413
Signed-off-by: Arun Sharma <arun.e.sharma@ericsson.com>
6 years agoBug 9035: - NPE at org.opendaylight.netvirt.elan.arp.responder.ArpResponderUtil.getMa... 42/62742/1
vinothb [Thu, 31 Aug 2017 22:55:58 +0000 (18:55 -0400)]
Bug 9035: - NPE at org.opendaylight.netvirt.elan.arp.responder.ArpResponderUtil.getMatchCriteria

Problem Description:
=======================
The following exception was observed from ArpResponderUtil

Error while installing ARP responder flow
java.lang.NullPointerException
at org.opendaylight.netvirt.elan.arp.responder.ArpResponderUtil.getMatchCriteria(ArpResponderUtil.java:178)[307:org.opendaylight.netvirt.natservice-impl:0.5.0.SNAPSHOT]

Solution:
=========
We need to enhance the pre-condition check in ArpResponderUtil before
installing the flow.

Change-Id: I9558080dc41df15164d2b189168c56c83b63c6ac
Signed-off-by: vinothb <vinothb@hcl.com>
(cherry picked from commit 683ceee8c33e8bc38f5abee75a966a139ab6aaba)

6 years agoBug:9013 ElanUtils: RPC Call to Get egress actions for interface, OptimisticLockFaile... 99/62399/8
epgoraj [Tue, 29 Aug 2017 10:51:17 +0000 (16:21 +0530)]
Bug:9013 ElanUtils: RPC Call to Get egress actions for interface, OptimisticLockFailedException

Change-Id: Ib9607a217ff51eeedd92ca9c9c7759d352916aa7
Signed-off-by: epgoraj <p.govinda.rajulu@ericsson.com>
6 years agoBug 9085 - CSIT Sporadic failures - 73/62673/1
Aswin Suryanarayanan [Tue, 5 Sep 2017 08:58:41 +0000 (14:28 +0530)]
Bug 9085 - CSIT Sporadic failures -
test_security_groups_basic_ops.TestSecurityGroupsBasicOps.test_cross_tenant_traffic

Fixing the cause for exception.

Change-Id: I54f9812226be346dee771a0722618edbb9558190
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
6 years agoReplace size()==0 by isEmpty() 31/61431/4
David Suarez [Wed, 9 Aug 2017 15:08:06 +0000 (17:08 +0200)]
Replace size()==0 by isEmpty()

Replace size()==0 by isEmpty(). It improves readability and avoid "=0".

Change-Id: I4bba45bea95a234734079376c7439395ae38e981
Signed-off-by: David Suarez <david.suarez.fuentes@gmail.com>
6 years agoReplace <? extends Object> by <?> 00/61900/5
David Suarez [Thu, 17 Aug 2017 07:50:18 +0000 (09:50 +0200)]
Replace <? extends Object> by <?>

Replace <? extends Object> by <?> since they are equivalent.

Change-Id: I548338da4bbc1da2c7b7401f456d08d74cec5111
Signed-off-by: David Suarez <david.suarez.fuentes@gmail.com>
6 years agoBug 6349: try connecting to qthrift only when configured. 16/62416/7
Siva Kumar Perumalla [Tue, 29 Aug 2017 21:22:55 +0000 (02:52 +0530)]
Bug 6349: try connecting to qthrift only when configured.
 - default values are set to invalid host/port.
 - verify whether port/host configured before connecting

Change-Id: I4cd19ad1e9844435f75f08f45962c67d555a7e39
Signed-off-by: Siva Kumar Perumalla <sivakumar.perumalla@ericsson.com>
6 years agoBug 8882 - With conntrack SNAT communication with PNF fails 97/62497/4
Aswin Suryanarayanan [Thu, 31 Aug 2017 14:25:22 +0000 (19:55 +0530)]
Bug 8882 - With conntrack SNAT communication with PNF fails

Traffic from Non NAPT to PNF was failing, Since from non NAPT switch the
packet came through a tunnel port to NAPT Switch. There it was failing
since the vpn interface does not exist for tunnel port. Hence it fails
to identify the router id.

Now for the tunnel port the external ip associated with router used to
identify the vpnid.

Change-Id: I60081c050ca117c99ba1809efde49d71d0909bdb
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
6 years agoBug 9102 Fix ReadOnlyTransaction leak in NeutronvpnUtils 46/62646/1
Michael Vorburger [Mon, 4 Sep 2017 17:25:48 +0000 (19:25 +0200)]
Bug 9102 Fix ReadOnlyTransaction leak in NeutronvpnUtils

by delegating to my SingleTransactionDataBroker, which correctly closed
the transaction.  Also, the exception handling here is really wrong, but
that's not really related to the bug being fixed here, so separately,
later, someone, sometime... ;)

Change-Id: Id3ef558623b69bf155796200db397a4da11c8500
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agoCleanup 90/62590/2
David Suarez [Sun, 3 Sep 2017 14:51:16 +0000 (16:51 +0200)]
Cleanup

- Remove dead code
- Final class & private constructor for utility classes
- Return variables directly
- Add method qualifiers
- Join some if statements

Change-Id: I2ca3cc08cbe10e4885510f9fc6bcb7f684e48922
Signed-off-by: David Suarez <david.suarez.fuentes@gmail.com>
6 years agoBug 8953 - IllegalArgumentException: vrfEntry is missing mandatory 32/62532/3
eupakir [Fri, 1 Sep 2017 08:44:21 +0000 (14:14 +0530)]
Bug 8953 - IllegalArgumentException: vrfEntry is missing mandatory
descendant origin

Change-Id: I74d6e503268414b0635a84007b36a1f9c0c0a8cc
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
6 years agoBug 9030 - port and port security groups cannot be null 52/62452/2
Aswin Suryanarayanan [Wed, 30 Aug 2017 14:30:47 +0000 (20:00 +0530)]
Bug 9030 - port and port security groups cannot be null

Fixing an issue caused due to the removal of null check bindAcl in [1].
Which could cause bind service being called for port which has SG
disabled.

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

Change-Id: Icd9e75f7b0bbfa448e49aa9109c8ea562a48be27
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
6 years agoBug 9060: Package mdsal trace utility in netvirt Karaf distribution 03/62403/3
Michael Vorburger [Tue, 29 Aug 2017 12:34:00 +0000 (14:34 +0200)]
Bug 9060: Package mdsal trace utility in netvirt Karaf distribution

This will make it easier to detect OOM issues such as Bug 9034 on scale
test environments, based on using the mdsal-trace DataBroker wrapper.

Change-Id: I3198bffac2a7fa434b0ab2a74d257ad42f064f51
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agoBug 8801 - EVPN remote routes are not pushed to ovs flow table 74/59974/5
eupakir [Wed, 5 Jul 2017 13:03:39 +0000 (18:33 +0530)]
Bug 8801 - EVPN remote routes are not pushed to ovs flow table

Change-Id: I332f9cde34e1f716b3cb9e02585101055be6624b
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
6 years agoBug 8953 - IllegalArgumentException: vrfEntry is missing mandatory 86/62186/5
eupakir [Wed, 23 Aug 2017 08:20:05 +0000 (13:50 +0530)]
Bug 8953 - IllegalArgumentException: vrfEntry is missing mandatory
descendant origin

The PNF deletion use cases were missing a few fixes in VPN and FIB
Engines.
1) Even though FIB was created using the external subnetId as the rd, the
external network id was being used to delete the FIB entries.
2) There was a fix in the PNF FIB add cycle to get vpn operational data
using the external network id instead of external subnet id. This was
missing in the deletion cycle.

Change-Id: Ida3125bf45beed1470ab699241988bd56a791a80
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
6 years agobgpmanager BgpUtil code clean-up: Make private what can, and rm unused 11/62211/3
Michael Vorburger [Wed, 23 Aug 2017 15:03:49 +0000 (17:03 +0200)]
bgpmanager BgpUtil code clean-up: Make private what can, and rm unused

Change-Id: I484c456e44d2414ef4f03f86b4b1e79d6fcd52bc
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agoRevert "Add git commit coala bear" 21/62421/2
Sam Hague [Tue, 29 Aug 2017 16:46:28 +0000 (16:46 +0000)]
Revert "Add git commit coala bear"

This reverts commit 12d10f57789a5a63cf1ae6133f64205f247ff0fd.

Change-Id: I23574392ac3e152585043839c38dd749aee7ed77
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoBug 9034: bgpmanager BgpUtil rm unused pendingWrTransaction 17/62217/3
Michael Vorburger [Wed, 23 Aug 2017 15:25:07 +0000 (17:25 +0200)]
Bug 9034: bgpmanager BgpUtil rm unused pendingWrTransaction

There's no set() for the pendingWrTransaction, so it's.. completely
pointless - and that retry loop in BgpConfigurationManager's
createStaleFibMap() could never have worked anyway, as
BgpUtil.getGetPendingWrTransaction() == 0, always.

Change-Id: I8644a3a9d63c5eff4106c58865cad9969d3990a2
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agoL2 Support for Pods 64/62364/2
Faseela K [Mon, 28 Aug 2017 13:46:18 +0000 (19:16 +0530)]
L2 Support for Pods

Whenever the first pod under a namespace is created, an elan-instance
is created. Also for each pod interface an l2vlan trunk interface as
well as an elan-interface is created.

Change-Id: Ib32b987c8c86467ead8e0b4e38d3586d4fb93f70
Signed-off-by: Faseela K <faseela.k@ericsson.com>
6 years agoBug 8860: NPE in getElanTag from SubnetmapChangeListener 69/62369/4
Vivekanandan Narasimhan [Mon, 28 Aug 2017 15:05:22 +0000 (20:35 +0530)]
Bug 8860: NPE in getElanTag from SubnetmapChangeListener

The exception is genuine, but in order to enable tightening
of exception throws in netvirt, we are logging this
exception gracefully via this fix.

The real reason why this exception occurs can be ascertained
only the context information available when this issue happens
again in any upstream job.

The bug itself does not have link to logs that have this
exception thrown, for any postmortem/analysis.

Change-Id: I1c29efad5de85bfd340ea54a3600db9997c12a4b
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
6 years agoAdd git commit coala bear 26/62326/8
Sam Hague [Fri, 25 Aug 2017 16:14:21 +0000 (12:14 -0400)]
Add git commit coala bear

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

Change-Id: I8523b865d60afa16c1ceac1261ee01ce6e70378c
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoBug 9030 - port and port security groups cannot be null 79/62179/6
Aswin Suryanarayanan [Wed, 23 Aug 2017 05:34:14 +0000 (11:04 +0530)]
Bug 9030  - port and port security groups cannot be null

The error logs are written when the port has no security groups. It is
perfectly fine for a port to not have security groups and hence lowering
the log level to info.

Removed the uneccsary null check of security groups while bind service
is called.

Change-Id: Ic386938e3ef14501798499abe5d82f3c63f329af
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
6 years agoBug 9051 - Failed to handle router GW flow in GW-MAC table. DPN id is missing for... 93/62293/2
Andre Fredette [Thu, 24 Aug 2017 20:05:46 +0000 (16:05 -0400)]
Bug 9051 - Failed to handle router GW flow in GW-MAC table. DPN id is missing for router-id

Change log level and message.

Change-Id: I94406443eb67c6fecfc8ecaaf349ed6cb2168b80
Signed-off-by: Andre Fredette <afredette@redhat.com>
6 years agoCoe renderer merge build failed due to groupId not present in aggregator 46/62246/4
Faseela K [Thu, 24 Aug 2017 06:06:11 +0000 (11:36 +0530)]
Coe renderer merge build failed due to groupId not present in aggregator
pom

Change-Id: Ia39b2d40efe6a1521631a8a6cd13cdc3a80ed78e
Signed-off-by: Faseela K <faseela.k@ericsson.com>
6 years agoBug 9034: bgpmanager BgpUtil rm unused BindingTransactionChain & Co. 15/62215/2
Michael Vorburger [Wed, 23 Aug 2017 15:07:30 +0000 (17:07 +0200)]
Bug 9034: bgpmanager BgpUtil rm unused BindingTransactionChain & Co.

Not sure if this fixed Bug 9034, but let us please remove this clearly
un-used Transcation Chain here - it's one less to worry about when
analyzing this OOM.

Change-Id: Ide872b7d439d5b25f6cd759c129cc29190b483cc
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agoBug 9039 - In Conntrack SNAT, when a router g/w is cleared traffic is 20/62220/2
Aswin Suryanarayanan [Wed, 23 Aug 2017 16:24:52 +0000 (21:54 +0530)]
Bug 9039 - In Conntrack SNAT, when a router g/w is cleared traffic is
dropped for other routers

Pfib flow is made per router for inbound and outbound traffic. The
metadata rewrite from internal to external for outbound traffic  happens
in the PFIB table.

Change-Id: I17bc024e66c424459d8fe8b1ddf02a1d7a96d2bb
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
6 years agoInitial Bundle setup for coe renderer 59/61559/11
Faseela K [Fri, 11 Aug 2017 20:46:58 +0000 (02:16 +0530)]
Initial Bundle setup for coe renderer

This patch adds the following :

1. coe-renderer-api and coe-renderer-impl bundles
2. Add them to respective features
3. COE Pod and Service Listener skeleton

Change-Id: Ibe692953d40c781a843cb8c4632a1aedd07ab087
Signed-off-by: Faseela K <faseela.k@ericsson.com>
6 years agoBug 9022: ACL: Broadcast traffic is dropped in ACL tables 51/62151/1
Shashidhar Raja [Mon, 21 Aug 2017 14:20:21 +0000 (19:50 +0530)]
Bug 9022: ACL: Broadcast traffic is dropped in ACL tables

This fix enables ACL to permit Broadcast Traffic (Both IP and Non IP).

Related to IP Broadcast, Subnet-Directed Broadcast and All-Subnet
Broadcast traffic on the same network is being allowed subject to one of
the conditions specified below is met:
  (a) The ports that want to communicate share the same
      remote-secuirty-group
  (b) The ports that want to communicate allow the other port's IP Address
      in remote-ip-prefix
  (c) The ports that want to communicate have securiyt0group with
      remote-ip-prefix of 0.0.0.0/0.

IP Broadcast flows configured in VM Ingress ACL table (table 241) is as
below:

all-subnet flow:
cookie=0x6900000, duration=1463.293s, table=241, n_packets=0, n_bytes=0,
       priority=61010,ip,dl_dst=ff:ff:ff:ff:ff:ff,nw_dst=255.255.255.255
       actions=goto_table:242

subnet-directed flow:
cookie=0x6900000, duration=975.798s, table=241, n_packets=0, n_bytes=0,
       priority=61010,ip,metadata=0x10000000000/0x1fffff0000000000,
       dl_dst=ff:ff:ff:ff:ff:ff,nw_dst=10.1.1.255 actions=goto_table:242

Non IP Broadcast flows (with lower priority than other flows - 61005)
configured in VM Egress(211) and Ingress(241) tables is as below:

cookie=0x6900000, duration=30.298s, table=211, n_packets=0, n_bytes=0,
       priority=61005,metadata=0x10000000000/0x1fffff0000000000,
       dl_src=fa:16:3e:a9:4d:81 actions=resubmit(,17)

cookie=0x6900000, duration=901.855s, table=241, n_packets=0, n_bytes=0,
       priority=61005,dl_dst=ff:ff:ff:ff:ff:ff actions=resubmit(,220)

Below are change details:
 - Updated to add a flow to allow broadcast traffic with destination
   adddress 255.255.255.255. Changes related to this are in
   AclNodeListener.java
 - Updated to add flows at port level for subnetwork's broadcast addresses
 - Updated to add flows in 211/241 for Non-IP broadcast traffic
 - Updated to add ARP/IP/IPv6 default drop flows with lower priority than
   respective flows and higher priority than non-ip broadcast flow
 - New yang definition introduced in ACL for higher modules (Neutron VPN
   in our case) to pass broadcast CIDRs when ACL Interface is created
 - NeutronVpn is updated to pass subnet CIDRs when ACL Interface is
   created

Change-Id: I71c5040454b3c00af43dcef4f47b5979cd7cf3a5
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
6 years agoBUG 9014 : Remove unnecessary log statements in VPN Engine 21/62121/2
eupakir [Tue, 22 Aug 2017 05:47:52 +0000 (11:17 +0530)]
BUG 9014 : Remove unnecessary log statements in VPN Engine

Change-Id: I501beac66cc8f9ffc44d5f12b22514d7d3b03d22
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
6 years agobug 9018 l2gw designated dhcp fix 78/62078/3
K.V Suneelu Verma [Mon, 21 Aug 2017 11:21:27 +0000 (16:51 +0530)]
bug 9018 l2gw designated dhcp fix

Instead of listening for logical switch creation, listen for
mcast mac creation and update the mcast mac to avoid race of updating the
mcast mac.
while updating mcast mac read the existing mac and add designated dhcp tep
ip to the existing locators.

Change-Id: Id4d99471ae0b3be306a5511ee7cea975606deaa3
Signed-off-by: K.V Suneelu Verma <k.v.suneelu.verma@ericsson.com>
6 years agolower BGPconnect logs to debug level 49/62149/1
Sam Hague [Tue, 22 Aug 2017 11:57:06 +0000 (07:57 -0400)]
lower BGPconnect logs to debug level

Change-Id: Ied9756d8ea082d52bc6719a0fe42a6dcf52c25ce
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoRemove unused NatNodeEventListener 17/62017/3
Faseela K [Sat, 19 Aug 2017 06:29:34 +0000 (11:59 +0530)]
Remove unused NatNodeEventListener

This listener does not have anything else other than debug statements.
This was seen while analyzing the delay in programming default flows
when switches are connected in scaled scenario. While trying to optimize
the number of listeners and heavy operations being done in listener
thread, this came to notice. There is no heavy operation here, but if
the listener is of no use, let us avoid one unnecessary registration.

Change-Id: I87f80b851472dba7364fe16c5d39d8ed775b2d67
Signed-off-by: Faseela K <faseela.k@ericsson.com>
6 years agoBug 9012 : BGP reconnect and retry logic to QBGP 74/61974/5
Vyshakh Krishnan CH [Fri, 18 Aug 2017 09:05:15 +0000 (14:35 +0530)]
Bug 9012 : BGP reconnect and retry logic to QBGP

During the internal testing we have observed that for many configs, thrift is not reliable enough and QBGP is not receiving the configs ODL is sending. So as a safer way, introducing retries while sending the configs to QBGP. Also reconnect mechanism in case of any thrift transport exception

Change-Id: I9862d3db093f85399e81207c787528da25445999
Signed-off-by: Vyshakh Krishnan CH <vyshakh.krishnan.c.h@ericsson.com>
6 years agoBug 9014 - ElanUtils: buildRemoteDmacFlowEntry 39/62039/4
Sam Hague [Sun, 20 Aug 2017 11:35:33 +0000 (07:35 -0400)]
Bug 9014 - ElanUtils: buildRemoteDmacFlowEntry

Bug 9014 - ElanUtils: buildRemoteDmacFlowEntry: Could not find interfaceName

These logs are not errors as the tests pass. The data eventually is available in the datastore.

Change-Id: Id09647a642dc6023b4d34f37fa12839d6a077407
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoBUG 9014: Remove unnecessary Log statements for evpn/subnetroute 56/62056/6
Vivekanandan Narasimhan [Mon, 21 Aug 2017 05:33:20 +0000 (11:03 +0530)]
BUG 9014: Remove unnecessary Log statements for evpn/subnetroute

1.Modified error logs to debug logs in necessary places
from evpn rt2 code, especially which hits for non-evpn scenarios.

2. This cannot find portOp Error was earlier relevant
where race conditions existed between interface-state
event southbound and subnet-port openstack configuraiton from
northbound.   Later we divided handling the subnetroute
creation into two batches to address the race condition
properly in [1].

As a result with [1] being merged, the error statement for
portOp is not required anymore and so this fix removes that
error statement.

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

Change-Id: Ic61f7ec5e3b9733f3e2f9a6bfc56af15c8af6d73
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
6 years agoBug 8960: port information for 1 dpn is missing in subnet-op-data and 23/61823/6
ehvkand [Wed, 16 Aug 2017 09:42:03 +0000 (15:12 +0530)]
Bug 8960: port information for 1 dpn is missing in subnet-op-data and
port-op-data

Upon PL reboot , if southbound event (PortUP) event is received first and
northbound event(OnSubnetAddedToVpn) is received later ,DPN will not be
updated in PortOpData.

Fix :
(1) When northbound event is received , SubnetOpDataEntry is created
first by using clustered wide lock based on subnetId. Then PortOpDataEntry
and subnetToDpn is created.

(2)Incase southbound event is received first,PortOpData entry may not be
available.In such case subnetId is retrieved from Neutron cache and
PortOpData entry will be created by the SubnetInterfaceStateChangeListener
thread.

Change-Id: I3a0d9c814909e6031bd1e25dd32564415fb912d8
Signed-off-by: ehvkand <hanamantagoud.v.kandagal@ericsson.com>
6 years agoBug 8981: ACL: ARP/DHCP anti-spoofing flows does not include VM/AAP ip/mac 69/61569/9
Shashidhar Raja [Sun, 13 Aug 2017 03:22:49 +0000 (08:52 +0530)]
Bug 8981: ACL: ARP/DHCP anti-spoofing flows does not include VM/AAP ip/mac
matches in VM egress direction

ACL updated to include IP+MAC matches for ARP and MAC only matches for DHCP
with anti-spoofing flows in VM egress direction

Change-Id: If3e3de5a4ea66dc23c6bec5ba66881abb6cdbc0a
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
6 years agocleanup for erros that should be info 55/62055/2
Sam Hague [Mon, 21 Aug 2017 00:49:56 +0000 (20:49 -0400)]
cleanup for erros that should be info

Change-Id: Ic81243d4fa03f173cfa6f140e7fc3c925e3533bf
Signed-off-by: Sam Hague <shague@redhat.com>