netvirt.git
7 years agoBug 7020: Deletion issue when VM has multiple SGs with same rules 19/47519/9
Somashekar Byrappa [Tue, 25 Oct 2016 13:08:37 +0000 (18:38 +0530)]
Bug 7020: Deletion issue when VM has multiple SGs with same rules

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

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

Fix provided for stateful mode only.

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

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

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

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

 + InterVpnLinkCache is now created at InterVpnLinkListener creation

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

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

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

 + Usage:

    BGP  - Indicates Routes Imported via BGP into ODL

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

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

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

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

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

 + RouteOrigin is intended to be in line with:

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

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

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

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

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

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

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

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

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

1) When GRE TEP is deleted :

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

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

2) When the GRE TEP is added :

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

This patch just initializes sphinx for netvirt.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Required for several tempest tests that ping the router interface.

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

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

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

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

Addressed the review comments

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Change-Id: I8fb6daee68ec6203397c4096259a531401b109df
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoBug 6863 - Router interfaces incorrectly include network interfaces 71/46571/2
Vivekanandan Narasimhan [Wed, 5 Oct 2016 17:53:08 +0000 (23:23 +0530)]
Bug 6863 - Router interfaces incorrectly include network interfaces

When a network is associated after a router is associated
to a given VPN, interfaces on that network gets queued
as though they are on the router.

This change fixes that problem by making sure that
NeutronRouterInterfacesMap is populated/deleted only
with the correct interfaces available on that router
alone regardless of other networks that may be present
on the same VPN as the router.

Change-Id: Ib436e608f7fee398f1cc51b5ae24ac4c7de3d87a
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agoAclServiceTest with http://immutables.org "depluralize" option 67/47167/2
Michael Vorburger [Wed, 19 Oct 2016 19:06:42 +0000 (21:06 +0200)]
AclServiceTest with immutables.org "depluralize" option

Change-Id: I3bde1f5d5373d4b9fc64f5b530f7820d5780acb8
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoCleanup: remove unnecessary boxing/unboxing 77/47077/3
Stephen Kitt [Tue, 18 Oct 2016 15:15:40 +0000 (17:15 +0200)]
Cleanup: remove unnecessary boxing/unboxing

Change-Id: I5b5cbb5879d12f3cc285624e489cc0544af8080c
Signed-off-by: Stephen Kitt <skitt@redhat.com>
7 years agoinfrautils.inject.guice.testutils should be <scope>test 30/47130/2
Michael Vorburger [Wed, 19 Oct 2016 14:07:00 +0000 (16:07 +0200)]
infrautils.inject.guice.testutils should be <scope>test

and mycila-guice-jsr250 is now transitive by
infrautils.inject.guice.testutils

Noticed this while writing some more documentation about all this stuff
on https://wiki.opendaylight.org/view/BestPractices/DI_Guidelines#Tests

Change-Id: I85c96205168dafb975652ee8876e52a291f510b4
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoCleanup: use Java 8 lambdas 76/47076/2
Stephen Kitt [Tue, 18 Oct 2016 15:05:10 +0000 (17:05 +0200)]
Cleanup: use Java 8 lambdas

Where appropriate, use Java 8 lambdas instead of old-style
predicates. Simplify surrounding code where relevant.

Change-Id: Id39da6bcdcae15ff2fed8cdd2327f6e25d79fcc3
Signed-off-by: Stephen Kitt <skitt@redhat.com>
7 years agoBug 6482: ERROR Log Observations - CSIT (Boron-Legacy) 63/47163/2
priya.ramasubbu [Fri, 14 Oct 2016 18:44:02 +0000 (00:14 +0530)]
Bug 6482: ERROR Log Observations - CSIT (Boron-Legacy)

   * This exception is from CSIT logs when external interface with matching Neutronport found.
   * While users verifying CSIT logs sometimes misunderstood of this error.
   * It's better we can change this error message to warn message.

Change-Id: Ia7fe5606cd18c17c4ee2dd8a4f4feb21c41a524a
Signed-off-by: priya.ramasubbu <priya.ramasubbu@hcl.com>
7 years agoFixes Bug 6909 02/46902/3
Aswin Suryanarayanan [Thu, 13 Oct 2016 14:58:04 +0000 (20:28 +0530)]
Fixes Bug 6909
ACLs TCP/UDP port ranges for the case of all ports 1-65535) should not
use port masking at all

Added check to handle all port case.

Patch 2 Added UT.

Change-Id: Ifb972c338c9cd27885a58bcff9d11969bb62cd2a
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
7 years agofix learn security groups 84/46884/5
Shlomi [Wed, 12 Oct 2016 08:54:18 +0000 (10:54 +0200)]
fix learn security groups

Change-Id: I9377e5cc4c2b7623baef922e3dc1bead1cf3d2f5
Signed-off-by: Shlomi <shlomi.alfasi@hpe.com>
7 years agoArp cache feature changes 10/45410/20
Gobinath [Thu, 8 Sep 2016 14:31:48 +0000 (20:01 +0530)]
Arp cache feature changes

Change the implementation of Arp Cache feature so that
the Arp entries learnt for the VMs are removed only when
those VMs are no longer accessible to the gateway.

1) Remove the old implementation where as soon as a VM's mac
is learnt, it is enqueued in a queue with a timer and this entry
is removed after the timer expires. After the removal from queue,
the mac and FIB entries of the VM were removed.

2) When a VM's arp is learnt, use the Aliveness Monitor module to
monitor the VM's by sending out ARP packets from gateway to the
VM periodically. The aliveness monitor module should listen to the
VpnPortIpData which would contain the ports present in the vpn.

3) Unless the monitor event "down" is received,ie,the VM is no
longer accessible from the gateway, the Mac entries for the VM are
to be retained.

4) When the monitor event "down" is received, the mac entries for
that VM and their FIB entries are to be removed.

Change-Id: I4c29e4390a1c5be0609e8ee1d682728ab0762588
Signed-off-by: Gobinath <gobinath@ericsson.com>
7 years agobug 6643 fixed broken l2gw functionality 63/47063/5
K.V Suneelu Verma [Tue, 18 Oct 2016 10:46:04 +0000 (16:16 +0530)]
bug 6643 fixed broken l2gw functionality

some parts of the code were commented during blueprint migration.
fixed the same.

Change-Id: I50601948a97dc66a60c87d943458a87dab12b43d
Signed-off-by: K.V Suneelu Verma <k.v.suneelu.verma@ericsson.com>
7 years agoBug 6816: NAT breakage fix for GRE provider type 81/46681/6
Yugandhar Sarraju [Fri, 7 Oct 2016 14:32:16 +0000 (20:02 +0530)]
Bug 6816: NAT breakage fix for GRE provider type

Recent changes in NAT to support transparent vpn caused issues
for existing NAT usecase which works on GRE provider type. Fix is
provided so that provider type is checked when external network is
created.

https://git.opendaylight.org/gerrit/#/c/45133/3
https://git.opendaylight.org/gerrit/#/c/43130/

Change-Id: I0be43018dd681572496ddf7c9fa29dbfc8da2dcf
Signed-off-by: Yugandhar Sarraju <yugandhar.s@altencalsoftlabs.com>
7 years agoBug 6831: Retain subnetroute with l3 directly-connected subnet 18/46618/4
Vivekanandan Narasimhan [Thu, 6 Oct 2016 13:12:39 +0000 (18:42 +0530)]
Bug 6831: Retain subnetroute with l3 directly-connected subnet

The following review :

https://git.opendaylight.org/gerrit/#/c/46292/

was reverted via:
https://git.opendaylight.org/gerrit/#/c/46575/

The revert was done in order to maintain sanity of the
subnetroute feature which enables auto-discovery of
Non-Neutron IP addresses on an enterprise network by using
the datacenter as the proxy.

The revert however resulted in use-case breakage where rewrite of
MACAddresses held behind a directly connected subnet ceased
to happen.

With this fix, we bring back the use-case of rewrite of mac-addresses
for hosts behind a directly connected l3 subnet.  In addition to that
we attempt to maintain a working subnetroute functionality.

Change-Id: I89a61396d62e38cf9756cbd0bdb2b845b5e8e44f
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agoBug 6843 : NPE in router-add leading to failure of router related cases 38/46338/5
Abhinav Gupta [Mon, 3 Oct 2016 07:27:03 +0000 (12:57 +0530)]
Bug 6843 :  NPE in router-add leading to failure of router related cases

The commit https://git.opendaylight.org/gerrit/#/c/45511/1 introduced an
NPE due to parameter original being null

Have added required additional null checks.

Also, tweaked the snatSettingChanged() and externalFixedIpsChanged() to
truly indicate a change and not only upon a router update when external
network is present as was the earlier behaviour.

Change-Id: Ibfd25bc0e2106d450b9045c92e887464447e2d91
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
7 years agoBug 6779 -After a Cluster Reboot, 10 VPNintfs seen 98/45998/11
Vivekanandan Narasimhan [Wed, 21 Sep 2016 17:01:58 +0000 (22:31 +0530)]
Bug 6779 -After a Cluster Reboot, 10 VPNintfs seen

After a Cluster Reboot, only 10 VPN Interfaces are configured
out of 1500 VPN Interfaces.

Upon cluster reboot , VpnInterface add may fail due to
vpnInstance unavailability. VpnInstance creation might lag
VpnInterface add event.

So we have introduced a synchronization mechanism for
VpnInterfaceManager to synchronize with VPNInstance
creation driven by VpnManager.  The same concept applies
to the VpnSubnetRouteHandler engine.

With this fix VpnInterfaceManager/VpnSubnetRouteHandler
will wait for 90 seconds for VpnManager to provide complete
VpnInstance information before proceeding to plumb the
VpnInterfaces/SubnetRoutes that are part of that VPNInstance.

These waits will be removed in Carbon as we refactor and will
build a parent first processing logic around the
VpnInstanceListener.

Change-Id: I912fda5aef4b4c50d897cd293dee6f49c429eea6
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
7 years agoBug 6824 - floating IP rules deleted upon unrelated neutron port delete 39/46939/5
Abhinav Gupta [Fri, 14 Oct 2016 09:29:38 +0000 (14:59 +0530)]
Bug 6824 - floating IP rules deleted upon unrelated neutron port delete

Change-Id: Id3f9c3df057efaddb34628c3df389485a5d99584
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
7 years agoIncrease AclServiceTest coverage significantly (from 66% to 84%) 06/46206/19
Michael Vorburger [Tue, 27 Sep 2016 05:51:27 +0000 (00:51 -0500)]
Increase AclServiceTest coverage significantly (from 66% to 84%)

Incl. new DataBroker Tx infra utils (to be moved elsewhere later)

Incl. (first use of) http://immutables.github.io - very cool.

Change-Id: Iaf649800d3da5aa2081e129bb03ecdf604e06075
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoBug 6921 - SFC-Translation-Layer : Skip acl classifier 09/46809/2
Anil Vishnoi [Tue, 11 Oct 2016 16:56:27 +0000 (09:56 -0700)]
Bug 6921 - SFC-Translation-Layer : Skip acl classifier
write before chain creation

Currently SFC translation layer, converts the networking-sfc
flow classifier to acl classifier and write it to data store.
The way current net-virt works, it should be written once the
chain is created. In the current translation layer implementation,
 it writes both the time and second write become no-op and
netvirt don't install the flow classifier rules.

Change-Id: I92e5065492e4c269c0b0d5f9f23afde2de516335
Signed-off-by: Anil Vishnoi <vishnoianil@gmail.com>
7 years agoBug 6922 - sfc-translation-layer : Do not explictly set RSP name 94/46794/2
Anil Vishnoi [Tue, 11 Oct 2016 17:16:40 +0000 (10:16 -0700)]
Bug 6922 - sfc-translation-layer : Do not explictly set RSP name

SFC translation layer currently set the RSP name to SFP name
and that results in flow installation with two different nsp
flows. Given that RSP RPC returns the RSP name, translation
layer should use that name.

Change-Id: I23a88866c1348575b9a40911dbb573e6ef0f5344
Signed-off-by: Anil Vishnoi <vishnoianil@gmail.com>
7 years agoBug 6923 - sfc-translation-layer : OVS data path 95/46795/2
Anil Vishnoi [Tue, 11 Oct 2016 17:07:51 +0000 (10:07 -0700)]
Bug 6923 - sfc-translation-layer : OVS data path
locator options (nsp,nsi,nshc*) are not required.

Apart form the netvirt expect data path locator name
to be vxgpe. This hardcoded dependency needs to be removed.
Following bug tracks the issue
https://bugs.opendaylight.org/show_bug.cgi?id=6924

Change-Id: Ic08cd65a547a93d1e878fcf8bce7d5f66a894b9b
Signed-off-by: Anil Vishnoi <vishnoianil@gmail.com>
7 years agoBug-6395: Fixed the Problems in using ODL and neutron-l3-agent in Openstack 71/45771/17
vinoth [Sun, 18 Sep 2016 10:32:27 +0000 (16:02 +0530)]
Bug-6395: Fixed the Problems in using ODL and neutron-l3-agent in Openstack

  * Now we can use ODL for L2 and neutron-l3-agent for all L3. This can help covering more use cases with ODL integration.
  * invoke patch port creation during set-manager if ovsdb.l3.multiple.network.enabled flag enabled.
  * Create patch-ports in br-int and br-ex
  * create flow entries in br-int(table 100) to handle packets coming through patch port via external bridge.
  * create flows in external bridge to push vlan based on vlan provider network segmentation_id

Change-Id: I0edf0751a72df97f77576b757b2c2145a5406543
Signed-off-by: vinoth <m.vinoth@hcl.com>
7 years agoRely on odlparent for Blueprint DI 90/45090/6
Stephen Kitt [Fri, 2 Sep 2016 16:07:06 +0000 (18:07 +0200)]
Rely on odlparent for Blueprint DI

This requires https://git.opendaylight.org/gerrit/44502

Change-Id: I44a6d95d22ca10df78d75d05de08cc5587cde763
Signed-off-by: Stephen Kitt <skitt@redhat.com>
7 years agoUse new AbstractGuiceJsr250Module, which simplifies AclServiceModule 23/46723/2
Michael Vorburger [Mon, 10 Oct 2016 11:41:49 +0000 (13:41 +0200)]
Use new AbstractGuiceJsr250Module, which simplifies AclServiceModule

Change-Id: Id9fc5fccbb12e721ad8197afeacfe05dc6d9eed3
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoBug 6920 : Fix for ACL portSecurityUpdate to work with DjC + listed fixes 81/46781/2
Abhinav Gupta [Tue, 11 Oct 2016 16:48:12 +0000 (22:18 +0530)]
Bug 6920 : Fix for ACL portSecurityUpdate to work with DjC + listed fixes

1. Fixes conflicting modification exceptions at interfaces/interface level
due to portVifType update and securityGroupUpdate writing at same time.

2. Includes fix for Lock API for sync in NeutronVpnUtils causing
concurrent modf exception : Bug 6902 :
https://git.opendaylight.org/gerrit/#/c/46663/

3. Synchronize on writes to router-interfaces map, not using DjC

Change-Id: I74bf6dd7bd80539e483bdf233a6d91ea39031190
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
7 years agoDe-static-ify aclservice utility classes methods and fields 40/46640/2
Michael Vorburger [Thu, 6 Oct 2016 21:00:47 +0000 (23:00 +0200)]
De-static-ify aclservice utility classes methods and fields

Don't ever use static methods and fields, but instead just use
@Singleton and proper dependency injection (DI).  Ask me if you are
unclear how to do this right.

This change isn't just for fun, but will avoid an ugly work-around we
needed to do in the new component tests, to reset a cache hidden in a
static via a (temporary, hack, yes) AclDataUtil.clearCaches(); in
AclServiceTest in https://git.opendaylight.org/gerrit/#/c/46206/

Change-Id: I1d1ba36739784a08001d66faa6f9641551a9036e
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoRemove unneeded alivenessmonitor-xml css dependency 82/46782/2
Sam Hague [Tue, 11 Oct 2016 16:53:48 +0000 (12:53 -0400)]
Remove unneeded alivenessmonitor-xml css dependency

Change-Id: I325139a6d9075ab63439b65d18f54b8b876e32f7
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBug-6474 : Fixed the issue when using ODL with VXLAN Gateway 85/46785/1
Hideyuki Tai [Fri, 16 Sep 2016 10:08:04 +0000 (03:08 -0700)]
Bug-6474 : Fixed the issue when using ODL with VXLAN Gateway

    Problem: The ARP request from a VLAN host can reach the VM
    but ARP reply is dropped because it is an unknown unicast.

    Solution: Add metaflow in OVS that creates learned flow
    for convert the source MAC to Dest MAC and send the packet
    back to the tunnel where the packet was received.

    To enable this feature, please add the following line
    into the file "etc/custom.properties".

        ovsdb.remotemac.learn.enabled=yes

Change-Id: I05b3a0fa63d71ea733ad0de53fc1ad37ed20f785
Signed-off-by: Hideyuki Tai <Hideyuki.Tai@necam.com>
7 years agoAdd clear ping status 90/46690/3
Sam Hague [Fri, 7 Oct 2016 21:05:00 +0000 (17:05 -0400)]
Add clear ping status

Change-Id: Id51ebc3d033389ff229a4ec864ac12bef7b5faa1
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoAclServiceTest with JUnit @Rule GuiceRule 77/46677/2
Michael Vorburger [Fri, 7 Oct 2016 13:52:36 +0000 (15:52 +0200)]
AclServiceTest with JUnit @Rule GuiceRule

see https://git.opendaylight.org/gerrit/#/c/46041/

Change-Id: I7e8165d44c2c1b748485f471bb0a3244d05bbf2d
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoDrop Maven prerequisite 97/46597/3
Stephen Kitt [Thu, 6 Oct 2016 07:53:29 +0000 (09:53 +0200)]
Drop Maven prerequisite

The Maven versions are enforced by odlparent, projects no longer need
to care about them (unless a particular project-specific plugin
requirement crops up).

Change-Id: Iffc2f96e29ce0b5e5a1b5f91ff7280895f15eb16
Signed-off-by: Stephen Kitt <skitt@redhat.com>
7 years agoipv6: Use versions from odlparent 35/46635/2
Sam Hague [Thu, 6 Oct 2016 18:55:51 +0000 (14:55 -0400)]
ipv6: Use versions from odlparent

Change-Id: If055af1a68e53edabf9a90c04aac9df90a4325ba
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoFixes logging exceptions, plus few formatting changes 20/46620/6
Miguel Perez [Thu, 6 Oct 2016 13:43:52 +0000 (15:43 +0200)]
Fixes logging exceptions, plus few formatting changes

 + Logging exceptions now comply with [1]

 + Adds some 'final' qualifiers

 + Also adds some missing braces for 'if' blocks

 + Removes some unused imports

 [1] https://wiki.opendaylight.org/view/BestPractices/Logging_Best_Practices

Change-Id: Idf860e0e8b87dfa740e5d0f3d6e1dfe14cce564d
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoRevert "Bug 6831: support for l3 directly connected subnet" 75/46575/2
Sam Hague [Wed, 5 Oct 2016 19:19:19 +0000 (15:19 -0400)]
Revert "Bug 6831: support for l3 directly connected subnet"

This reverts commit 53edd46eb630dcc069c8378e2800b326f04c4239.

Change-Id: I9ad7cac6311ee2515528edf34f112588c19b8d65
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoRemove duplicate lockmanager bean 83/46583/2
Sam Hague [Wed, 5 Oct 2016 22:02:02 +0000 (18:02 -0400)]
Remove duplicate lockmanager bean

Change-Id: Ib31218a64410d3180b1e4d01912410c6ea738b5c
Signed-off-by: Sam Hague <shague@redhat.com>
7 years agoBUG 6840: New karaf CLI commands 71/46271/4
Suraj Ranjan [Thu, 29 Sep 2016 04:42:44 +0000 (10:12 +0530)]
BUG 6840: New karaf CLI commands

This review creates 4 new CLI command:
1> vpn-show
2> subnet-show
3> neutronvpn-ports-show
4> vpninstance-op-show

Change-Id: I18405b8888d0e46c378d17b557b9e1eb328e0648
Signed-off-by: Suraj Ranjan <suraj.ranjan@ericsson.com>
7 years agoModification cloud-servicechain-state.yang key 20/46020/8
Julian Reyes Romero [Wed, 13 Jul 2016 14:57:39 +0000 (16:57 +0200)]
Modification cloud-servicechain-state.yang key

Due to elan-service-chain-state is an augmentation of
elan-instance, elan-instance-name can be removed from
elan-to-pseudo-port-data list key. The new key will be
composed with elanLportTag and scfTag.

ScfTag is now defined as an unsigned 32-bit number

Change-Id: I153910b5e8a105818fc3a2a3480399efd4b78086
Signed-off-by: Marcos López Samaniego <marcos.lopez.samaniego@ericsson.com>
7 years agoBug 6861 : Fix for proper tableId in punt action 38/46538/3
Kency Kurian [Wed, 5 Oct 2016 09:56:39 +0000 (15:26 +0530)]
Bug 6861 : Fix for proper tableId in punt action

- Changed the InstructionType from write_actions to apply_actions

Change-Id: I04f71945c71025c28815bfd057f3fb4bd72dae81
Signed-off-by: Kency Kurian <kency.kurian@ericsson.com>
7 years agoClean up logging tests 45/46545/2
Stephen Kitt [Wed, 5 Oct 2016 11:37:27 +0000 (13:37 +0200)]
Clean up logging tests

In most cases, checking whether a logger is enabled before logging
isn't necessary: the first thing the logger does is to check whether
it's enabled, before processing SLF4J tokens. It's only useful if the
construction of the logged information requires expensive operations
(joining list items, formatting ARP messages...).

This patch includes some minor drive-by clean-up.

Change-Id: I413b080e583ff677ca0c79c7f6549ea81a5c3769
Signed-off-by: Stephen Kitt <skitt@redhat.com>
7 years agoFixes bgpmanager-api folder structure 46/46346/5
Miguel Perez [Mon, 3 Oct 2016 09:29:04 +0000 (11:29 +0200)]
Fixes bgpmanager-api folder structure

 + My eclipse didn't like it. Me neither

Change-Id: I86bd0464a9c87d69c475122938e7a67407967fb8
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
7 years agoBUG 6841: Few Remote flows not deleted on DPNs 60/46160/6
Suraj Ranjan [Sat, 24 Sep 2016 09:12:19 +0000 (14:42 +0530)]
BUG 6841: Few Remote flows not deleted on DPNs

Few Remote flows not deleted on DPNs after migration from
internal to external VPN.
For a vpn associate/dissociate, the vpn interface update event wait was
getting accumulated for every interface across vpns. So, vpn manger was
getting removed before interfaces were cleaned.
A label of 0 was being used to create unique ids across vpn engine if
IdManager failed to return a valid label.
Java Synchronize has been replaced by LockManager to handle events
gracefully across PLs during simultaneous northbound and southbound
events for subnet routes.

Change-Id: I3cf1d1553bd6b6b025a9cedbc860b7af246f1afe
Signed-off-by: Suraj Ranjan <suraj.ranjan@ericsson.com>
7 years agoBug 6589 adding support for hwvtep devices ha 77/45577/5
Akash [Wed, 14 Sep 2016 11:23:10 +0000 (16:53 +0530)]
Bug 6589 adding support for hwvtep devices ha

Added template code to copy the data between ha and child nodes.
When a child node connects copy its operational data to its ha operational
node.
When operational update is received on child node , copy that operational
update to its ha operational node.
When some config update happens on ha node, copy that config update to
child node.

An add/delete Macs.PhysicalLocator,TerminationPoint,Switch update from
child is immediately pushed to parent ha node.
Duplicate updates from childs is properly filtered out while copying to
the parent ha node.

Depends-On: I7ad598fe9604aae9ad1df71270f1cba5b212a634
https://git.opendaylight.org/gerrit/#/c/44670/
Patch was reverted until netvirt catches up.

Change-Id: I091ab1f1fa8b82445918e1030f20136421286299
Signed-off-by: Akash <a.k.sahu@ericsson.com>
7 years agoBug 6842 : Incorrect error msg upon associating router to VPN with non-existing... 37/46337/2
Abhinav Gupta [Mon, 3 Oct 2016 07:13:55 +0000 (12:43 +0530)]
Bug 6842 :  Incorrect error msg upon associating router to VPN with non-existing VPN-ID

Corrected to indicate absence of VPN and/or router as per the input
supplied.

Change-Id: Ice0cb86e0fd13410a8049d7171137783cb721649
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
7 years agoBug 6823 : Performance improvement in DHCP 55/46255/3
Kency Kurian [Wed, 28 Sep 2016 12:41:23 +0000 (18:11 +0530)]
Bug 6823 : Performance improvement in DHCP

- Making use of the API provided by interface manager to fetch the
  interface object from config Datastore. This will avoid unecessary reads
  on DS which is time consuming.
- Majority of the diff is in adding an if check before logging so that
  string formation can be avoided.

Change-Id: I9595732506ec3e143a1ff6ed84039279eda92b09
Depends-On: I03a5ed6af26a2f110b0712a6c1ced160a5cdebf0
Signed-off-by: Kency Kurian <kency.kurian@ericsson.com>
7 years agoBug 6770 - Fixes DjC for NPortCL + snmaps serialized + listed changes 69/45969/4
Abhinav Gupta [Wed, 21 Sep 2016 11:26:40 +0000 (16:56 +0530)]
Bug 6770 - Fixes DjC for NPortCL + snmaps serialized + listed changes

Dependent review on top of
https://git.opendaylight.org/gerrit/#/c/44708/2.

1. Fixes the following in the parent review:
a) reducing reads/writes
b) done away with djc for reads since if data is being upfront and
used/changed much later, it will fail concurrency as the data can be
changed in between.
c) used the correct keys
d) improved/corrected logging
e) djc on port, enabling parallelism

2. Concurrency changes for calls made via add/remove/update for
neutronportchangelistener, except router interface add/remove

3. Added support for neutron port update to have new fixedIP across a
subnet

4. Eliminated unnecessary snmaps update and sending out notif for port
update with no change in params

5. Localized addtoNeutronRouterInterfacesMap calls within create/delete
VPN interface, called from 1 place now instead of 4 each.

6. Synchronized subnetmaps reads/writes to attain serialization.

7. Fixes extra route functionality for internal vpn.
Earlier router id was read from vpnmaps and used to determine if extra
route is to be added or not, but vpnmaps updated routerid only upon
router assc to vpn, now instead snmaps which is populated upon router
interface add is used to figure out the same.

8. Added djc for create/delete vpninterface

9. Optimized createL3InternalVpn - eliminated routerinfmap population.

10. Fixed network and router cache population upon add/remove/update.

11. Removes lockmanager dependency from neutronvpn and function signature
for lock/unlock utility to not use lockmanagerservice.

Change-Id: Ib51782fa67776c45d527092262524f46eeaca98a
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
7 years agoBug 6825:- "BgpManager not started" error when trying to configure Bgp peer 78/46278/3
SivaKumar Perumalla [Thu, 29 Sep 2016 04:57:03 +0000 (04:57 +0000)]
Bug 6825:- "BgpManager not started" error when trying to configure Bgp peer
For commands class, bgpmanager not supplied as parameter

Change-Id: I385869448c86cb8927d9d4479bcb3620ce17e67f
Signed-off-by: SivaKumar Perumalla <sivakumar.perumalla@ericsson.com>
7 years agominor fixes related to BGP 76/46276/2
SivaKumar Perumalla [Mon, 26 Sep 2016 11:38:54 +0000 (11:38 +0000)]
minor fixes related to BGP
- command output: F-bit always set to true and fetch Stale-path time from config,
      show GR-stalepathTime as default in case not-configured.

Change-Id: Ibf7a535075c9b0b02a5868c50f05d669c51d499a
Signed-off-by: SivaKumar Perumalla <sivakumar.perumalla@ericsson.com>
7 years agoset FBIT for bgp to true (always), as we expect to keep the 75/46275/3
SivaKumar Perumalla [Mon, 26 Sep 2016 11:03:51 +0000 (11:03 +0000)]
set FBIT for bgp to true (always), as we expect to keep the
forwarding state (of CSS) eventhough the controller goes down.

Change-Id: I25d151a56c035aea1d70bf3edbc83488ccbed820
Signed-off-by: SivaKumar Perumalla <sivakumar.perumalla@ericsson.com>
7 years agomodified stale route cleanup timer to 600Sec, in case nothing configured. 77/46277/4
SivaKumar Perumalla [Thu, 29 Sep 2016 04:52:34 +0000 (04:52 +0000)]
modified stale route cleanup timer to 600Sec, in case nothing configured.
enabled route removal on stale-path timer expiry

Change-Id: I5f19a026c5ac76a215b8d0de73bd0386ef435b32
Signed-off-by: SivaKumar Perumalla <sivakumar.perumalla@ericsson.com>
7 years agoBGP networks update callback is triggered even if the content remain same 74/46274/3
SivaKumar Perumalla [Mon, 26 Sep 2016 07:40:45 +0000 (07:40 +0000)]
BGP networks update callback is triggered even if the content remain same
Fix: On Update callback, verify old and new values and act on it

Change-Id: I75918e2f25f56e78f70dc4f43254fe6f02380dd3
Signed-off-by: SivaKumar Perumalla <sivakumar.perumalla@ericsson.com>
7 years agoBUG 6839: Fixes for import/export RT and router dissociation in L3Vpn 53/46053/9
eupakir [Mon, 29 Aug 2016 06:04:49 +0000 (11:34 +0530)]
BUG 6839: Fixes for import/export RT and router dissociation in L3Vpn

A label of 0 was being used to create unique ids across vpn engine if
IdManager failed to return a valid label.
Java Synchronize has been replaced by LockManager to handle events
gracefully across PLs during simultaneous northbound and southbound
events for subnet routes.
To find out all the vpns who import routes of a particular vpn, we were
dependent on the configurational datastore of that Vpn Instance. On a vpn
instance deletion, this config data is lost. Hence, this data has to also
be stored in an operational datastore

Dependent on https://git.opendaylight.org/gerrit/#/c/45220/

Change-Id: I317a543bbc46c6b388962182075bbe112428b648
Signed-off-by: Suraj Ranjan <suraj.ranjan@ericsson.com>
7 years agoBug 6673: DCN to DTCN changes 05/45405/10
Vyshakh Krishnan CH [Wed, 21 Sep 2016 15:01:43 +0000 (20:31 +0530)]
Bug 6673: DCN to DTCN changes

DCN to DTCN changes for NeutronVPn, VPNmanager and FIBmanager

Change-Id: I4f78888148a228ed2938dc995b5b1ed1180d83eb
Signed-off-by: Vyshakh Krishnan CH <vyshakh.krishnan.c.h@ericsson.com>
7 years agoBGP-configuration read is failing as shard leader is not available 73/46273/2
SivaKumar Perumalla [Mon, 26 Sep 2016 06:47:58 +0000 (06:47 +0000)]
BGP-configuration read is failing as shard leader is not available
implemeted retry mechanism in bgp-get-config (100Seconds) for MDSAL read

Change-Id: Ieb2cfd3135e5fb3dc5d83b26fc50e750247205f8
Signed-off-by: SivaKumar Perumalla <sivakumar.perumalla@ericsson.com>
7 years agoBUG 6725: fix contains below issues 23/45623/12
epgoraj [Thu, 15 Sep 2016 11:47:47 +0000 (17:17 +0530)]
BUG 6725: fix contains below issues

        1) Broadcast group buckets are not properly programmed for l2gw
2) Delete dpn interface is not cleaning up other dpns bc groups.

Change-Id: I8cd4df83777bb8ca8113a7eb7b214333f14536e7
Signed-off-by: epgoraj <p.govinda.rajulu@ericsson.com>
7 years agoBug 6691: Fix exceptions in natservice for a dual-stack network 72/45472/6
Sridhar Gaddam [Mon, 12 Sep 2016 06:54:34 +0000 (12:24 +0530)]
Bug 6691: Fix exceptions in natservice for a dual-stack network

This patch also updates some debug messages.

Change-Id: I840b0782d3e6b5978df63d8885cdc7c3b6c8cc9e
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
7 years agoBug 6831: support for l3 directly connected subnet 92/46292/2
Konsta Pozdeev [Wed, 28 Sep 2016 13:08:11 +0000 (16:08 +0300)]
Bug 6831: support for l3 directly connected subnet

The directly connected subnet case has limitation of mandatory GW.
The ARP request is produced as well to each new target belongs to subnet.
The ARP reply should to add new route to existing VPN port.
It should use received new MAC in case of directly connected network.
Existing algorithm does it in wrong way by importing mac from old entries.

Change-Id: I3df5496d97cf5bb8c68ed6ce301fb95f2449f781
Signed-off-by: Konsta Pozdeev <konsta.pozdeev@hpe.com>