Stephen Kitt [Wed, 1 Feb 2017 16:19:16 +0000 (17:19 +0100)]
Checkstyle: fix dhcpservice-api and enforce
Change-Id: I4548b192a0d7876a6ed330a52be92af1b0a2c5fd
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Stephen Kitt [Wed, 1 Feb 2017 15:45:58 +0000 (16:45 +0100)]
Checkstyle: fix bgpmanager-api and enforce
Change-Id: I7e307fcf0ff508717103776cb32f84801930abb6
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Vijayalakshmi Chickkamenahalli Nagaraju [Wed, 25 Jan 2017 11:12:30 +0000 (16:42 +0530)]
Bug 7674 Update of DHCP flag support for subnet-update configuration
Change-Id: Ibe318e207dfeb4ea95ac99df733fd31c0f8d1dd6
Signed-off-by: Vijayalakshmi Chickkamenahalli Nagaraju <vijayalakshmi.c@altencalsoftlabs.com>
Stephen Kitt [Thu, 26 Jan 2017 19:33:15 +0000 (20:33 +0100)]
bgpmanager Checkstyle, enforcing
Passing the PrintStream to Commands is rather inelegant but it feels
like the most straightforward fix.
Change-Id: I079a35083a78b7d9c18a5981456b1a02212a8b82
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Somashekar Byrappa [Wed, 14 Dec 2016 13:01:46 +0000 (18:31 +0530)]
ACL: Support for statistical counters
This feature provides statistics related to drop packets due to ACL for
the specified ports.
+ Provided new RPC: acl-live-statistics:get-acl-port-statistics
+ Uses OFplugin's RPC (opendaylight-direct-statistics:get-flow-statistics)
to get flow statistics.
+ This is currently supported for ACL stateful mode only.
Spec reference:
https://git.opendaylight.org/gerrit/#/c/49086/
Change-Id: Id99e0b35878126ef2238d2b76203926943b6cd41
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
Stephen Kitt [Fri, 27 Jan 2017 13:07:09 +0000 (14:07 +0100)]
BgpCounters re-write
This reworks BgpCounters using slightly more idiomatic approaches
(without re-designing it though).
Change-Id: Iae154bfbfe2c8c93335084d08909b89b314d440e
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Michael Vorburger [Tue, 17 Jan 2017 12:17:31 +0000 (13:17 +0100)]
de-static-ify Timer field in ElanL2GatewayUtils
I don't see any reason why this needs to be static?
On the contrary, it will only lead to problems in tests.
Also introducing close() and Timer cancel() & purge(), just to be safe.
Change-Id: I83cf067957bafe5a6977e41d1c403c1c85634012
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Sridhar Gaddam [Thu, 19 Jan 2017 14:45:14 +0000 (20:15 +0530)]
Bug 7601: Cleanup Elan instances when a network is deleted
The following patch in Neutron[1] modifies the Network delete sequence.
Prior to a network delete event, we now see an update event that removes
the networkType. So, in delete event, when we try to check for the
networkType, it would be empty and there is an exception. Because of this,
elanInstances are not getting deleted. In this patch, we avoid the check
for networkType since the network itself would not be created in the first
place if its not a supported networkType.
[1] https://review.openstack.org/#/c/317358/
Change-Id: I349a51f4df666ef2c2912ee552f159b6af16de76
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
Vishal Thapar [Mon, 30 Jan 2017 07:08:12 +0000 (12:38 +0530)]
BUG 7488 Add option to disable auto bridge creation
This adds a new param to elan-config, auto-create-bridge that defaults to
true. When false, netvirt will neither try to create br-int if it doesn't
exist, nor add any configuration if it exists. This is to be used in
scenarios where br-int is already created and configured.
Change-Id: I39c2770a0c0351d9e1b1fecd2642f473650e6c52
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
karthikeyan [Wed, 25 Jan 2017 08:05:05 +0000 (13:35 +0530)]
Bug 7667: SNAT table 46&44 are not getting programmed when private BGPVPN
Problem Description:
=====================
SNAT: Table 46(OUTBOUND_NAPT) and table 44 (INBOUND_NAPT) are not getting
programmed (SNAT Forward Traffic and SNAT Reverse Traffic) with NAT
translation when router is
associated with Private/Internal BGP-VPN.Due to this issue, SNAT traffic
is getting failed when interval bgp-vpn is configured.
Root Cause of the Problem:
==========================
As part of bug (Bug 7478) fix SNAT traffic is used to send router-gw mac
address instead of VM mac. With this code changes router gw-mac was
getting from external-router Yang Model using router name as key.
When private/internal bgp-vpn is configured router-id (Internal Private
VPN ID) should be replaced with created private/internal bgp-vpn id. With
this approach when querying external-router Yang model for getting
router-gw mac address using new router-id (bgp-vpn id) will not match with
router-name.
Solution:
===========
When querying external-router yang model for getting router-gw mac address
it should use old router-id instead of bgp-vpn id. For doing this change
in NAPTEventHandler re-aligned the router-gw mac address code to
appropriate place to be working as expected.
Change-Id: Ieefd799d6b2349464bfb737e3fcc8101036c3619
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
Abhinav Gupta [Mon, 30 Jan 2017 07:51:10 +0000 (13:21 +0530)]
Bug 7700: create-l3vpn (REST/CLI) should not allow another VPN to use the same VPNID
Change-Id: I4481db51b17e92b2df7afab18b41bcb4e1a23df0
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
Suraj Ranjan [Fri, 18 Nov 2016 06:52:21 +0000 (12:22 +0530)]
System Configurable Parameters for EVPN
The following parameters have been initially made available as
configurable for EVPN.These configurations can be made via the
RESTful interface:
1> Multi-homing-mode
2> Irb-mode
Change-Id: I09b55b1e021741d46f2d9bb1d2a0877cbbc81572
Signed-off-by: Suraj Ranjan <suraj.ranjan@ericsson.com>
Stephen Kitt [Fri, 13 Jan 2017 14:23:22 +0000 (15:23 +0100)]
String handling cleanup
* Remove redundant toString() calls
* Remove explicit String constructor calls
* Use string concatenation where appropriate
Change-Id: Ic709268d658176a5b12d1870e265f1488238b10e
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Stephen Kitt [Fri, 13 Jan 2017 13:49:41 +0000 (14:49 +0100)]
Cleanup: replace Arrays.asList() where appropriate
... with Collections.singletonList (when a single argument is given).
Change-Id: Ic63d65a51f24c4e022cf540d225e31c11264771e
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Stephen Kitt [Fri, 13 Jan 2017 09:20:23 +0000 (10:20 +0100)]
Boxing cleanup
Change-Id: I669ea231b2cd2f23bd4a6b8ab3122b91172ca20f
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Stephen Kitt [Fri, 13 Jan 2017 09:09:25 +0000 (10:09 +0100)]
General clean-ups
Automated refactors:
* use List::sort instead of Collections::sort
* use foreach loops
* use switch statements instead of if/else if constructs
* use contains() instead of comparing indexOf()
* use Collection::removeIf instead of looping explicitly
* use Optional::ifPresent where possible
* use Map::computeIfAbsent instead of conditional puts
* use try with resources
Change-Id: I1f6c2986abb0f151bb4ff1bc262b1c1ae11c523f
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Stephen Kitt [Tue, 25 Oct 2016 14:50:50 +0000 (16:50 +0200)]
Clean up lambdas
Use lambdas instead of functional interfaces, and use method
references instead of lambdas where possible.
Change-Id: I34a30b81ec5ceae94cbe10524cf8b147475de28c
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Stephen Kitt [Tue, 25 Oct 2016 13:08:30 +0000 (15:08 +0200)]
Remove unnecessary generic types
Change-Id: I9e5f1a66fed243035ca5088df2331980182707b2
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Stephen Kitt [Mon, 24 Oct 2016 10:21:17 +0000 (12:21 +0200)]
Use Java declarations instead of Google Collections
Where appropriate, replace:
* Maps.newHashMap() with new HashMap<>()
* Lists.newArrayList() with new ArrayList<>() or
Collections.singletonList()
* Sets.newHashSet() with new HashSet<>()
* Sets.difference() with explicit .removeAll() constructs (usually
avoiding some collection instantiation too)
* Lists.newLinkedList() with new LinkedList<>()
* Maps.newConcurrentMap() with new ConcurrentHashMap<>()
Also
* replace some Guava filters/transforms with Java 8 streams
* replace some Guava predicates with Java 8 predicates
* remove unnecessary generic type qualifiers in affected classes
* clean up some Optional uses (.orNull(), direct Optional returns where
appropriate)
* remove some String() constructors
Change-Id: Ie9a9ba5127120f8f72f60e662cc1b75c11a406a0
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Alon Kochba [Mon, 30 Jan 2017 15:27:27 +0000 (17:27 +0200)]
Add missing UDP matches for SNAT
Fix regression introduced by MatchInfo refactoring,
part of https://git.opendaylight.org/gerrit/#/c/50518
Related fix for null MatchInfo here:
https://git.opendaylight.org/gerrit/#/c/51182/
Change-Id: I26aaf01648cbb27b703eb51b569be957803dc9df
Signed-off-by: Alon Kochba <alonko@hpe.com>
Stephen Kitt [Fri, 27 Jan 2017 23:59:27 +0000 (00:59 +0100)]
Fix and re-enable aclservice tests
This requires https://git.opendaylight.org/gerrit/51156 in Genius.
Change-Id: I4dfa128f1fe3d1d3268b2e71aa3fb323a61b5d04
Signed-off-by: Stephen Kitt <skitt@redhat.com>
David Goldberg [Thu, 19 Jan 2017 16:12:38 +0000 (18:12 +0200)]
BUG7308: fix leaf to leaf traffic
Change-Id: Iabae4f9fb7a2665f41f705ad0a6516a2d96ec77b
Signed-off-by: David Goldberg <gdavid@hpe.com>
Bertrand [Thu, 26 Jan 2017 03:19:00 +0000 (19:19 -0800)]
BUG-7461
Align Legacy Netvirt with New Netvirt's design of not
removing integration bridge from the config DS.
Change-Id: I9f5da8344747f854828cddedd8c91f633b7b666f
Signed-off-by: Bertrand <bertrand.low@hcl.com>
Vishal Thapar [Thu, 19 Jan 2017 13:21:11 +0000 (18:51 +0530)]
BUG 7591: Allow configuration of inactivity_probe and max_backoff for OVS
Depends-On: https://git.opendaylight.org/gerrit/50643
Change-Id: I7881934df38c32cd40e156944c3ee46804d5a4e4
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
Eric Multanen [Sat, 3 Dec 2016 09:27:16 +0000 (01:27 -0800)]
Spec for NetVirt QoS
This spec file describes the changes to be made
in the Carbon release to complete the implementation
of Neutron QoS API support for NetVirt.
QoS Policies with Bandwdith Limiting Rule support was
added in Boron. Carbon will add support for the DSCP
marking rule and for reporting supported QoS rules
back to Neutron.
Change-Id: I7e10b702fbbe9eb214336f500c00a579cb441e37
Signed-off-by: Eric Multanen <eric.w.multanen@intel.com>
Vishal Thapar [Sun, 22 Jan 2017 09:30:08 +0000 (15:00 +0530)]
BUG 7489: Add startup config file for elanmanager-config
This implements issue 2 mentioned in BUG 7489 by adding a new
configuration file in which user can specify default values for
elan-config at startup.
Note: Update-Strategy is set to None which means any runtime changes to
config will not be reflect till next restart
Path: etc/opendaylight/datastore/initial/config/
Config file name: netvirt-elanmanager-config.xml
Change-Id: I7e3c34166ffd3d8c72f860e1ea34a2c3cc79c309
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
Alon Kochba [Wed, 25 Jan 2017 16:47:22 +0000 (18:47 +0200)]
Lower debug level when truncating provider port name
This print shows up a lot in the log, as it is
called on multiple events, whenever the configured
provider port name is longer than 15 chars.
Lowering debug level as it is mostly an internal
translation.
Change-Id: Ic317c96c66cd876e2fd3628b4985ea0abb6d5152
Signed-off-by: Alon Kochba <alonko@hpe.com>
Yakir Dorani [Sun, 22 Jan 2017 17:15:09 +0000 (19:15 +0200)]
Fix ElanStatusMonitorJMX failing upon bundle reinitialization.
Change-Id: I9e04e3ee1b9edc6000439e18b35c729f9ec0f92b
Signed-off-by: Yakir Dorani <yakir.dorani@hpe.com>
Sam Hague [Fri, 27 Jan 2017 19:12:46 +0000 (14:12 -0500)]
Enable checkstyle for fibmanager
Change-Id: I28b903c0d0121af5127baacc8e825e3ee57e9afd
Signed-off-by: Sam Hague <shague@redhat.com>
Sam Hague [Fri, 27 Jan 2017 17:40:33 +0000 (12:40 -0500)]
Enable checkstyle for natservice
Change-Id: Ica28849eba2b1bfe546861015372c051d50f3b6c
Signed-off-by: Sam Hague <shague@redhat.com>
Sam Hague [Fri, 27 Jan 2017 17:44:30 +0000 (12:44 -0500)]
Enable checkstyle for neutronvpn api and shell
Change-Id: Ieda73d1d922d4941d8e7a60579da5dfa2ff5957e
Signed-off-by: Sam Hague <shague@redhat.com>
Sam Hague [Fri, 27 Jan 2017 19:37:23 +0000 (14:37 -0500)]
Disable aclservice tests until fix provided for matchinfo
Change-Id: Icb58828fdc54f640ca5f796d6251fe748881f46c
Signed-off-by: Sam Hague <shague@redhat.com>
Sam Hague [Thu, 26 Jan 2017 22:22:42 +0000 (17:22 -0500)]
Enable checkstyle for neutronvpn
Change-Id: I51d61224c1f718310798a412b041261c979ac854
Signed-off-by: Sam Hague <shague@redhat.com>
Stephen Kitt [Thu, 26 Jan 2017 20:50:44 +0000 (21:50 +0100)]
Handle the Genius InstructionInfo clean-up
I'd missed a couple of changes... One of the tests is disabled for
now, I'll fix it later.
Change-Id: Ifb313d7e89a24df6a52fff3830ee34a560e50237
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Olga Schukin [Thu, 26 Jan 2017 06:45:16 +0000 (08:45 +0200)]
SNAT tests failures
The rule with empty action list was installed to T47
Change-Id: I8fb81cafb2a7bfd392ce24b73dedf14ab29608bb
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
Stephen Kitt [Fri, 2 Dec 2016 16:33:30 +0000 (17:33 +0100)]
Fix vpnmanager-impl Checkstyle issues and enforce
This switches Checkstyle to enforcing mode on vpnmanager-impl, and
fixes all the issues apart from exception handling (which I left alone
since it would change the code paths). This includes:
* ordering imports
* removing unused imports
* formatting code (whitespace, line lengths...)
I fixed up some SLF4J uses when it helped with the line wrapping. I've
also fixed up some exceptions and migrated some MD-SAL code to
SingleTransactionDataBroker.
There's also some cleanup in IBgpManager to allow simpler exception
handling in vpnmanager-impl.
Change-Id: I9542a2307c0ab5dd7782e6a4b324d7604452dcab
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Stephen Kitt [Thu, 5 Jan 2017 10:54:41 +0000 (11:54 +0100)]
MatchInfo redesign
This uses the new MatchInfo subclasses and drops all references to
MatchFieldType.
Change-Id: I4e17f86b20d2b3f605f728c36871341b177b244b
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Stephen Kitt [Mon, 2 Jan 2017 14:48:13 +0000 (15:48 +0100)]
InstructionInfo redesign
This removes all uses of InstructionType in favour of the new
InstructionInfo subclasses.
Change-Id: I4c193c834af165415a8520f800a35fc94aea1134
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Olga Schukin [Mon, 23 Jan 2017 14:52:06 +0000 (16:52 +0200)]
Bug 7660 Infinite loop while vpn instance removal
Sometimes VpnInstanceListener gets into endless loop because not all vpn
interfaces removed successfully.
Analysis:
The current interface counter value inside the function waitForOpRemoval()
can be less that original counter, but still not zero, then we are back to
beginning of the cycle without any action and sleep again.
The infinite loop doesn't allow to DataStoreJobCoordinator to run any
other job within same key.
Change-Id: I31ce3d38fa49212b7736888664a2d597d09f9666
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
Abhinav Gupta [Wed, 25 Jan 2017 18:49:30 +0000 (00:19 +0530)]
Bug 7384: CSIT Exception: NPE in deleteVpnInterface
getNeutronPort is returning null, causing port.getUUid() to result
in an NPE.
Further analysis necessary as to how it happened in the first place
since port delete event for the port in concern hasn't come.
The introduced check should ensure avoiding this NPE for now.
Change-Id: Ia4298d3b9f2b57b1a94805bca3ae34dffa2df4fe
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
Olga Schukin [Thu, 19 Jan 2017 11:12:40 +0000 (13:12 +0200)]
Bug 7532 - arp responder rule sometimes missing after vm reboot
VRF entry is not removed during the port down because of wrong value (null string) in the next hop address list.
Change-Id: Ib0a0a84358cce116bdb9c4768ff9d9608f5c638b
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
Maxime Millette-Coulombe [Thu, 19 Jan 2017 21:01:41 +0000 (16:01 -0500)]
[BUG 7543] Replace the request function used by restangular
Restangular as two methods to fetch data: get and getList.
Those two methods was doing the same things, but it seems
that getList now expect a List of JSON and not an object
who caused the application to crash.
Change-Id: I4aa51860cd03f3f6a04d2322518c7c9c7a1b3092
Signed-off-by: Maxime Millette-Coulombe <mmcoulombe@inocybe.com>
Tomer [Sun, 25 Dec 2016 12:31:02 +0000 (14:31 +0200)]
Bug 7436: Handle VpnInterfaces of VpnInstance
The problem:
VpnOpDataSyncer.waitForVpnDataReady is using java wait method
that does not return the thread to the pool while waiting.
If there are more compute nodes then CPU threads, all threads
in DjC will wait and there will be not availabe thread to
execute the code which waitForVpnDataReady waits for.
The solution:
VpnInterfaceManager holds all vpn interfaces that cannot be processed till the
relevant vpn instance in ready.
Updated the synchronized lock blocks to user vpnInstanceName instead of this.
Added cleanup of removed interface
Change-Id: I66da144356e17e778f1d04e5720befbece565fd5
Signed-off-by: Tomer <tomer.pearl@hpe.com>
Sam Hague [Sat, 14 Jan 2017 13:54:14 +0000 (08:54 -0500)]
Bug 7601 - Cleanup Elan instances when a network is deleted
Fix npe for getNetworkType() being null
Change-Id: I0e7ede43cdd7553b4525f5921b487f7e17c25b52
Signed-off-by: Sam Hague <shague@redhat.com>
Michael Vorburger [Mon, 23 Jan 2017 20:06:14 +0000 (21:06 +0100)]
Replace FindBugs :jsr305 by full :annotation (Bug 7663)
Change-Id: I4e703c6db99e0934952d3636c21f130262a430cf
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Miguel Perez [Fri, 13 Jan 2017 13:13:50 +0000 (14:13 +0100)]
Bug 7536: Static routes not handled when ivpnlink becomes active
+ Corner test case found that if the InterVpnLink is created when
there's no available DPN to be installed in, the InterVpnLink is
correctly created in ERROR state. Next step is to add some static
routes to the corresponding Neutron Router. Third step is to connect
some OVS node to the controller. At this point, the InterVpnLink
is correctly installed on that DPN and the State is correctly set
to ACTIVE... but the Static routes are forgoten.
+ It may look big but it is mostly moving code from
InterVpnLinkListener to InterVpnLinkService
Change-Id: I87018e6cba48146c12fbad0d506445931275977e
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
Tali [Sun, 18 Dec 2016 12:08:57 +0000 (14:08 +0200)]
Spec to support hairpinning of floating IPs in flat/VLAN provider networks
Change-Id: I272bca9991e66111ea96bb87e285720f7cd44ce0
Signed-off-by: Tali <tali.ben-meir@hpe.com>
Michael Vorburger [Mon, 23 Jan 2017 14:58:00 +0000 (15:58 +0100)]
Remove mockito-all to fix NoSuchMethodError: org.hamcrest.Matcher ...
Bug 7662 related
Change-Id: I19f7ba972d7fa86e0fa34a175f2b4734942d2370
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Michael Vorburger [Mon, 15 Aug 2016 14:41:58 +0000 (16:41 +0200)]
elanmanager-impl component test v0.1; coverage from 1.7% to 7.1%
Change-Id: I3d07660ffc913844afc07201ef1854aba93c6aab
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Kency Kurian [Wed, 11 Jan 2017 19:19:34 +0000 (00:49 +0530)]
Bug 7533 : Fix for bind/unbind in DHCP service
- If the unbind is called from interface state listeners there could be
chances of ending up in a race condition in service bind logic and hence
the flow does not get removed.
- Moved the bind service call to interface config listener rather than state
so that the service flows get programmed as soon as the interface is UP.
Change-Id: Iadd3743e47efed9f256612fe8bab7085d3de2d54
Signed-off-by: Kency Kurian <kency.kurian@ericsson.com>
Guy Sela [Thu, 12 Jan 2017 14:50:05 +0000 (16:50 +0200)]
Bug 7530 : ElanPacketInHandler mutexes are too coarse
Mutex for manipulating flows related to MAC was locking on
ELAN + MAC, when could lock ELAN + MAC + DPID. By locking
on the finer-grained mutex, we can support much bigger scale.
Problem occured in scale testing when 180 computes were
getting packet ins with the same MAC (External Network), and
every OVS was competing with all other OVSs for the lock of ELAN+MAC.
ElanPacketInHandler also updates a global data structure
of MACs that must be locked with the coarser mutex of
ELAN+MAC. This is why this patch splits the ElanPacketInHandler
into 2 jobs instead of one.
The transactions there also caused OptimisticLockException because
delete was called and submitted and then put was called and
submitted. This can't work due to the asynchronoush nature of
MD-SAL. There is no need in delete anyway if you call put, so
the delete was removed.
The 10 seconds protection was removed because it is unnecessary
as it already exists in the OVS with a learn rule.
The MAC migration code never worked because the condition could
ever be true there (it's a bug). I preserved the same behavior.
Fixed potential NPE in Etree code
Change-Id: I1aa038f9e0d271b94ffee6076654571b2e811d37
Signed-off-by: Guy Sela <guy.sela@hpe.com>
Michael Vorburger [Tue, 17 Jan 2017 09:48:17 +0000 (10:48 +0100)]
Add missing CacheElanInstanceListener blueprint registration
It appears that this was either forgotten in the initial migration from
CSS to BP, or subsequently lost by mistake? (If on the other hand this
is wrong; then CacheElanInstanceListener should be removed, because it's
effectively "dead code". This change is thus the 'counter-proposal' to
c/50457.
Change-Id: I58e451a00ef662751f54d3243e0dbd907c80c964
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Vivekanandan Narasimhan [Tue, 17 Jan 2017 17:02:15 +0000 (22:32 +0530)]
Bug 7567: External subnet group is not updated with external gwmac
The external subnet group is not getting updated even though
the resolution for external gateway macaddress is successful.
The fix here is to make the the external subnet group programmer
to listen for Learned IP-MAC datastore which would really hold
the external-subnet-gateway-ip TO external-subnet-gateway-mac
mapping.
Also multiple external subnets can share the same subnet ip addresses
and so this patch fixes that too..
Change-Id: Id8c2ba8ace8dbeaf20ceb35d81f43a07e50c3a9f
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Guy Sela [Wed, 11 Jan 2017 15:30:40 +0000 (17:30 +0200)]
Bug 7528 : Don't learn the DMAC flows from other DPNs
When working with an elan of type VLAN or FLAT, we shouldn't
learn the known macs from other DPNs. Before calling
programRemoteDmacFlow, validate that the elan is not VLAN or FLAT.
Change-Id: Ib96546aff94bc18f830d72c1735c364f1a21156b
Signed-off-by: Guy Sela <guys.sela@hpe.com>
Miguel Perez [Fri, 13 Jan 2017 11:50:11 +0000 (12:50 +0100)]
Cleanup unused constants in cloud-servicechain-impl
+ Constants referring to Service indexes and table numbers are
centrally located in NwConstants, they shouldnt be here
Change-Id: I3250a8d1976c0b9e18b27960818525dcfb50f35f
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
Marcos López Samaniego [Tue, 13 Dec 2016 18:19:25 +0000 (19:19 +0100)]
Remove unused imports in class VpnUtil
Change-Id: Ica7c47592ef8b05d63ccf174fca3060171338af7
Signed-off-by: Marcos López Samaniego <marcos.lopez.samaniego@ericsson.com>
Stephen Kitt [Thu, 8 Dec 2016 00:52:02 +0000 (01:52 +0100)]
Action redesign: use the new ActionInfo Genius classes
This removes all uses of ActionType, paving the way for its removal in
Genius.
Change-Id: I8c9311a5d37a0e62224ed6fd64c1ff6c23c18b46
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Michael Vorburger [Tue, 17 Jan 2017 12:54:07 +0000 (13:54 +0100)]
Document why ElanInterfaceManager has a setElanUtils instead of DI
This is instead of finishing up
https://git.opendaylight.org/gerrit/#/c/50456/
Change-Id: I9a82de6e6e7c48bd4896fcbdcf39209ef9be5ec8
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Marcos López Samaniego [Mon, 9 Jan 2017 14:35:15 +0000 (15:35 +0100)]
Bug 7525 - Inter-VPN link static/connected routes leaking not working
+ Enable static/connected routes in the inter-VPN link creation.
+ Fixed some issues related to routes provisioned after the inter-VPN link.
These issues were affecting the leaking of every kind of route.
Change-Id: Ibb73f86f163f6fe7adf4a26b81ab1ead93855561
Signed-off-by: Marcos López Samaniego <marcos.lopez.samaniego@ericsson.com>
ehvkand [Mon, 16 Jan 2017 09:11:20 +0000 (14:41 +0530)]
Bug 7547 : Ping from DC-GW to invisible ip configured in VM is failing
Change-Id: Iba7869b3ccbaf3f5921c9f705628444aca630996
Signed-off-by: ehvkand <hanamantagoud.v.kandagal@ericsson.com>
Yakir Dorani [Sun, 8 Jan 2017 18:01:07 +0000 (20:01 +0200)]
Fix exceptions when using IPv6 vxlan tunnels
This code deals with two different problems by:
1. Enabling setting an IPv6 address to a router id for IPv6 BGP peering.
2. Enabling setting a tunnel endpoint as the nexthop IPv6 address.
Change-Id: I35a616e2b12b3625c837507f2cb51fc69ff624fe
Signed-off-by: Yakir Dorani <yakir.dorani@hpe.com>
Shashidhar Raja [Wed, 7 Dec 2016 13:00:36 +0000 (18:30 +0530)]
Spec for ACL Statistics
The scope of this feature is to provide additional operational support for
ACL through statistical counters. New feature planned to be supported will
provide additional information on the number of packets dropped by the ACL
rules.
Change-Id: Id3ba370f585c65d718e199177cf07d0a1e7cc382
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Michael Vorburger [Mon, 16 Jan 2017 09:50:53 +0000 (10:50 +0100)]
Remove duplicate dependency openstack.net-virt
Change-Id: I03832a4506a8805040c38e4ddba3f9b7cdeb3af0
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Michael Vorburger [Fri, 13 Jan 2017 21:53:54 +0000 (22:53 +0100)]
de-static-ify ElanUtils field in ElanServiceProvider
I don't see any reason why this needs to be static?
On the contrary, it will only lead to problems in tests.
Change-Id: I711f67a293f59227c4b89f13bad883f72059fc5f
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Olga Schukin [Tue, 10 Jan 2017 08:11:00 +0000 (10:11 +0200)]
Bug 7497 - NAPT rules missed for second DPN
Install the group using synced mdsal write to improve the timing.
Change-Id: I3270fa1f1bc3bbccf11d1b02befe76db7f70fcc2
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
Sam Hague [Sat, 14 Jan 2017 13:23:46 +0000 (08:23 -0500)]
Fix links to openstack images
Change-Id: Ic361aa3b2530f9770c1b2ad6ab27b2760c8d265e
Signed-off-by: Sam Hague <shague@redhat.com>
Miguel Perez [Mon, 19 Dec 2016 15:07:16 +0000 (16:07 +0100)]
Bug 7405: IVpnLink routes not removed from BGP on cascade
+ When the InterVpnLink is removed, the routes that had been
advertised to BGP are not withdrawn in consequence
Change-Id: I795d1ebef26428561eb7307e5a84efdc50343cb7
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
Miguel Perez [Fri, 13 Jan 2017 14:39:47 +0000 (15:39 +0100)]
Cleanup unnecessary 'toStringIpAddress'
+ 'toStringIpAddress' is centralized in NWUtil
+ projects should use that one instead of their own copy
Change-Id: I3f8cf7a33211750aae0cf6050757d9802d66a01a
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
Robert Varga [Fri, 13 Jan 2017 09:07:01 +0000 (10:07 +0100)]
BUG-5222: do not pull in odl-mdsal-xsql
xsql is deprecated, buggy and never was meant for production
use. Do not pull it in.
Change-Id: If247c87058db3d826861dcbcb97be720c27b56f4
Signed-off-by: Robert Varga <nite@hq.sk>
Sam Hague [Thu, 12 Jan 2017 13:18:31 +0000 (08:18 -0500)]
Minor updates to openstack doc
Change-Id: I5097f2d911597c2c97b1564f62d0ba5a08538a5b
Signed-off-by: Sam Hague <shague@redhat.com>
karthikeyan k [Thu, 17 Nov 2016 08:19:09 +0000 (13:49 +0530)]
Bug 7478 : SNAT traffic to use router GW MAC
Problem Statement :
Currently SNAT traffic uses VM MAC as source MAC instead of Router Gateway
MAC
Solution:
Changes has been done for SNAT traffic as source MAC address as Router Gateway MAC Address in
NAPT_OUTBOUND_TABLE(Table=46)
Change-Id: I1563cc9f04d8e479c9c1173644a168262b448d80
Signed-off-by: karthikeyan k <karthikeyan.k@altencalsoftlabs.com>
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
Sridhar Gaddam [Wed, 11 Jan 2017 06:42:27 +0000 (12:12 +0530)]
Bug 7520: Avoid creating auto-tunnels for VLAN tenant networks
Currently auto-tunnel code of Netvirt is creating a Transport zone with
vteps even for tenant VLAN networks. This patch updates the code to create
the TZ only if the network type is VxLAN.
Change-Id: Iceeac4dc2dda99a41860d29f5d6f635f964b1a69
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
David Goldberg [Mon, 9 Jan 2017 16:44:23 +0000 (18:44 +0200)]
BUG7318: ETREE ODL learning leaf MACS on wrong tag
Change-Id: I1d65f6d70054eb4d48e6c0b1d158e9104b0c92d4
Signed-off-by: David Goldberg <gdavid@hpe.com>
Vishal Thapar [Sun, 8 Jan 2017 10:34:19 +0000 (16:04 +0530)]
BUG 7488: Autobridge overwrites DpnId if bridge already exists
Change-Id: I49fcc00b116af84609e7f0654072a26f51fa6400
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
VinothB [Wed, 11 Jan 2017 12:51:28 +0000 (18:21 +0530)]
Bug-7363: Fix for Flows are overlapped when we add custom SG along with ANY rule.
*Added reg match condition to avoid flow overlapping issue in other_protocols
Change-Id: Iea12c93a64b418a7e0028359ca54473bac76077b
Signed-off-by: VinothB <vinothb@hcl.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Sam Hague [Wed, 11 Jan 2017 18:44:56 +0000 (13:44 -0500)]
Use Developer Guide text in place of Documentation
Change-Id: I8ae9301af107f38d20ec0e0307d542eb5016335a
Signed-off-by: Sam Hague <shague@redhat.com>
Stephen Kitt [Wed, 5 Oct 2016 16:59:51 +0000 (18:59 +0200)]
Optional clean-up
Clean up Optional handling using .transform() and .orNull().
Clean up Optional construction using .fromNullable().
Remove Optionals wrapping collections (returning empty collections
instead).
Change-Id: I356152f60bcfcdcd7a21347f925370ad1a5b9a2a
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Stephen Kitt [Wed, 5 Oct 2016 16:59:51 +0000 (18:59 +0200)]
Optional clean-up
Fix a couple of invalid Optional uses:
* Optional should never be used instead of a direct null-check;
* Optional should never wrap a collection.
Change-Id: I157aa18cad75461fad79d14a321ad85c35693e1c
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Michael Vorburger [Tue, 10 Jan 2017 10:05:53 +0000 (11:05 +0100)]
Remove xtendbeans direct dependency
because this now gets inherited transitively from
mdsal-binding-test-utils. E.g.
https://git.opendaylight.org/gerrit/#/c/50137/ upgrades the version of
the xtendbeans dependency in mdsal-binding-test-utils, and the fixed
version here unnecessarily ties aclservice to the old version.
Change-Id: Id8f2ba2933d147973fe24bd730ed9d4a156bfc4e
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Daniel Malachovsky [Wed, 14 Dec 2016 17:01:27 +0000 (18:01 +0100)]
Replace dlux with dluxapps features
Renaming is due to DLUX project split.
Also, replacing yangui feature with yangman, new, redesigned and restyled
application.
https://wiki.opendaylight.org/view/Weather#Rename_some_odl-dlux-.2A_features_to_odl-dluxapps-.2A
Signed-off-by: Daniel Malachovsky <dmalacho@cisco.com>
Change-Id: If3f0b7641d27855a71d15fce21a2c2dd6a8b1326
Abhinav Gupta [Mon, 19 Dec 2016 10:26:46 +0000 (15:56 +0530)]
Bug 7403 : getl3vpn RPC behavioural issues
Following issues are fixed wrt getL3VPN RPC:
1. When fetches all VPNs and none is present, incorrectly shows error. >>
should display success
2. When all VPNs are deleted after being created, and then the RPC is used
to fetch for all VPNs and none is present, shows success by processing
wrongly. >> logic needs to be hardened.
3. when all VPNs are fetched, vlan-provider implicit VPNs should not be
displayed.
4. When specific VPN is fetched, internal VPNs corresponding to routers
should not be displayed.
5. When specific VPN is fetched, vlan-provider implicit VPNs should not be
displayed.
Change-Id: Ic08bd2fb5b1558e036531e7613e881a42adfd9b1
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
vinoth [Thu, 29 Dec 2016 17:16:10 +0000 (22:46 +0530)]
Bug 7406: The flows are overridden.
Problem:
The flows are overriddern when multiple router
connect with same external network, due to this
the ping was not succeed in first created router.
Use cases:
* Fix the override problem when connect multiple routers
with same external network.
* The flows were properly create and delete
the multiple VLAN external networks.
* The ping was success all the test cases
for multiple VLAN external networks.
Change-Id: If521912e0a042fac066855c1e045af91c19bd7b6
Signed-off-by: vinoth <m.vinoth@hcl.com>
Alvaro Gonzalez ARROYO [Mon, 12 Dec 2016 11:43:40 +0000 (12:43 +0100)]
Bug 7355: Remove Vrf Entries in a single transaction
Make removeVrfEntries() and removeVrfEntriesByOrigin()
methods to remove Vrf entries in one single transaction
instead of several transactions, one per Vrf entry
to be removed.
Change-Id: I5408c100c17e2f61f41c1f0b754dd38f7b9917fa
Signed-off-by: Alvaro Gonzalez ARROYO <alvaro.gonzalez.arroyo@ericsson.com>
hari.pr [Thu, 29 Dec 2016 15:01:34 +0000 (20:31 +0530)]
Bug 7393: Flows are not getting removed from table:20 and table:90
* Fixed code for removing table#20 flows removal in DistributedArpService.
* Added code for removing table#90 flows removal in SecurityServicesImpl.
Change-Id: I002a245b4cabda190e14eaaa30d7b8c0356056bf
Signed-off-by: hari.pr <hari.pr@hcl.com>
Sam Hague [Tue, 10 Jan 2017 21:50:22 +0000 (16:50 -0500)]
Updates to NetVirt docs from some user feedback
Change-Id: I0f2ce58052d921813b1ae75530aa58eca4cd919d
Signed-off-by: Alon Kochba <alonko@hpe.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Suraj Ranjan [Mon, 21 Nov 2016 10:21:59 +0000 (15:51 +0530)]
Spec for L3Vpn Over Vxlan With Evpn RT5
This spec provides detailed documentaion of Support of VXLAN based
connectivity across Datacenters using EVPN RT5 to achieve L3 connectivity.
Change-Id: Ia65e21e0cc11c86b34f622ad22fa6fd3aacb21db
Signed-off-by: Suraj Ranjan <suraj.ranjan@ericsson.com>
Co-Authored-By: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Sam Hague [Tue, 10 Jan 2017 21:22:24 +0000 (16:22 -0500)]
Add basic initial docs for new layout
Change-Id: Ib6588368370f349e6695faa463cd3c847b2921f9
Signed-off-by: Sam Hague <shague@redhat.com>
David Goldberg [Sun, 11 Dec 2016 15:14:51 +0000 (17:14 +0200)]
BUG7339:EtreeLeafBG isn't updated with new remotes
Change-Id: I8d60dd51dc74828ac5b72d8eca66527d2aad029f
Signed-off-by: David Goldberg <gdavid@hpe.com>
Sridhar Gaddam [Fri, 6 Jan 2017 15:55:18 +0000 (21:25 +0530)]
Bug 7476: Configure Reachable Time in IPv6 Router Advt
Currently, ODL IPv6 Router does not specify the "Reachable Time" in the
Router Advts. So, Neighbor unreachability detection algorithm in the
hosts use the default value of REACHABLE_TIME (i.e., normally 30 seconds)
which is distributed with a random factor between MIN_RANDOM_FACTOR (.5)
and MAX_RANDOM_FACTOR (1.5).
In this patch, we configure "Reachable Time" to two minutes to reduce the
number of Neighbor Solicitation messages in the tenant network. In a future
patch, we can make this a configurable value.
Change-Id: Icd40d51d9ec9e34306c1d05fdaa7348fb25ad302
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
Ankit Tripathi [Thu, 22 Dec 2016 07:02:40 +0000 (12:32 +0530)]
Scalability of ServiceChainTag
Presently scftag is stored in 8 bits of metadata. Now we are using ovs
register so that 31 bits can be used.
Change-Id: I4debf8d0d649e789f67e2db9d24c146b5d005bd2
Signed-off-by: Ankit Tripathi <ank123it@gmail.com>
Miguel Perez [Tue, 27 Dec 2016 10:53:20 +0000 (11:53 +0100)]
Cleanup about isIpInSubnet
+ Method VpnUtil.isIpInSubnet is already in
Genius's NWUtil class, so it is not needed here
anymore
Change-Id: I7a18eba86e76d06d1d546c6d5b118cce2a46e073
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
Olga Schukin [Wed, 4 Jan 2017 07:59:53 +0000 (09:59 +0200)]
Bug 7496: Errors and exceptions handling
Add fixes of the following problems:
1) TransactionCommitFailedException{message=Data did not pass validation., ...
router-to-vpn-mapping/routermapping does not exist. Cannot apply modification to its children.]]}
at org.opendaylight.genius.mdsalutil.MDSALUtil.syncDelete(MDSALUtil.java:571)
at org.opendaylight.netvirt.natservice.internal.RouterPortsListener.remove(RouterPortsListener.java:93)
2) Exception in thread "..." java.lang.NullPointerException
at org.opendaylight.netvirt.natservice.internal.ExternalNetworkGroupInstaller.installExtNetGroupEntries(ExternalNetworkGroupInstaller.java:79)
3) Exception in thread "..." java.lang.RuntimeException: java.lang.IllegalArgumentException: All keys must be specified for class
org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.dpn.interfaces.elan.dpn.interfaces.list.DpnInterfacesKey.
Missing key is getDpId. Supplied key is DpnInterfacesKey []
at org.opendaylight.netvirt.elan.utils.ElanUtils.read(ElanUtils.java:299)
at org.opendaylight.netvirt.elan.utils.ElanUtils.getElanInterfaceInfoByElanDpn(ElanUtils.java:501)
4) Exception in thread "..." java.lang.NullPointerException
at org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.update(VpnInterfaceManager.java:1243)
5) ERROR | Port Info Config DS to set isFloatingIpDeleted flag as true failed with exception java.lang.IllegalArgumentException:
All keys must be specified for class
org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.floating.ip.port.info.FloatingIpIdToPortMappingKey.
Missing key is getFloatingIpId. Supplied key is FloatingIpIdToPortMappingKey []
6) Exception in thread "..." java.lang.NullPointerException
at org.opendaylight.netvirt.neutronvpn.NeutronvpnManager.removeL3Vpn(NeutronvpnManager.java:1486)
7) Exception in thread "..." java.lang.NullPointerException
at org.opendaylight.netvirt.natservice.internal.NatUtil.getSubnetIpAndPrefix(NatUtil.java:953)
Change-Id: I91053bc78623c68e530f705ee1795d964839df19
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
Janki [Wed, 21 Dec 2016 15:07:56 +0000 (20:37 +0530)]
Bug: 7422 Resolve checkstyle errors
Fix checkstyle errors at multiple places
Change-Id: I94d424dd9ee773ba65f4c31e51642e3c800c873a
Signed-off-by: Janki <jchhatba@redhat.com>
Miguel Perez [Fri, 30 Dec 2016 11:39:53 +0000 (12:39 +0100)]
Bug 7463: nexthop in leaked routes is wrongly set
+ It is being set as nexthop the String representation of
the Ipv4Address object instead of the value of the Ipv4Address as
a String
Change-Id: Ife91ac823709a80c88b8aacaa03451f2ecac8831
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
Miguel Perez [Wed, 21 Dec 2016 17:50:51 +0000 (18:50 +0100)]
Bug 7423: Clean unnecessary leaked flows and fibEntries
+ Method 'leakExtraRoutesToVpnEndpoint' had been deprecated by method
'handleStaticRoutes' but hadn't been 'switched off', so we had
similar code being executed twice.
Change-Id: I09a3b4e97c26137e8a4dbf593bea403f92428ae9
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
Romanos Skiadas [Wed, 21 Dec 2016 09:39:57 +0000 (11:39 +0200)]
Actually trim whitespace from vtysh output
.replaceAll() does not mutate the string, we need to capture the return and use
that instead.
Change-Id: Ieb3bf226ca9b06a407729f1faeae27841ad1b1b2
Signed-off-by: Romanos Skiadas <rski@intracom-telecom.com>
Olga Schukin [Thu, 15 Dec 2016 10:40:24 +0000 (12:40 +0200)]
Bug 7382: NPE while getting the napt primary-switch-id
Change-Id: I4739695316afca25b0fbe154700000c7f68b3e1b
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
Olga Schukin [Mon, 2 Jan 2017 08:47:04 +0000 (10:47 +0200)]
Bug 7447: Unexpected flows from T21 to T44 for FIP
The incorrect rules were installed due to not updated DS models
Change-Id: I80b3872c28bc560801e376a158710df70008a2e8
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
Achuth Maniyedath [Mon, 26 Dec 2016 13:26:31 +0000 (18:56 +0530)]
Spec to setup SMAC on routed packets destined to virtual endpoints
Change-Id: I72a2c008464ac99d7bd2796fae2d89030ee3826c
Signed-off-by: Achuth Maniyedath <achuth.m@altencalsoftlabs.com>
epgoraj [Thu, 22 Dec 2016 10:40:17 +0000 (16:10 +0530)]
BUG:7426 Adding elantag along with mac-address as key to synchronized block
Change-Id: I7d9e677ec071730233b925f9eec0652285cb42a2
Signed-off-by: epgoraj <p.govinda.rajulu@ericsson.com>