Updated git submodules
Project: genius stable/carbon
bdbd660d81400d97151d1bceba53271374cd6fec
Bug 8008: NPE detected in IfMgrRpcService.getDpnInterfaceList
+ This line is throwing NPEs because rpcResultBuilder is NULL under
certain circumstances:
return Futures.immediateFuture(rpcResultBuilder.build());
+ I'm fixing other potential NPE for the same price
Change-Id: Ib6bf5039234f114228eb7d6a9c4f3b1882831e5d
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
Fix checkstyle problems not detected by the current version
This change is required for overall move to new Checkstyle version, see
https://git.opendaylight.org/gerrit/#/q/topic:bumpCheckstyle
Change-Id: I800ea4c89c9c517bc5baa992c67d17b9ba79547c
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
Merge "@Immutable GroupEntity" into stable/carbon
Add missing @Override and serialVersionUID to genius.mdsalutil
Change-Id: Ib1079a5c59390d9b902d8f6653931f9c62ecf7ac
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Merge "Support for moving Src/Dest IPv6 addresses in NxRegMove action" into stable/carbon
Merge "Simplify boolean expressions" into stable/carbon
Merge "Avoid extending Object" into stable/carbon
Merge "Make testutils a JAR instead of a POM" into stable/carbon
EVPN RT2 : L2VNI Demux Table id
For EVPN RT2 a new table(table 24) is introduced to demux the l2vni from packets
coming from DC-GW
Spec is approved and is available at : https://git.opendaylight.org/gerrit/#/c/51693/
Change-Id: Ie23457df4d9d20a01f53e271c5b7ece77342225f
Signed-off-by: Vyshakh Krishnan CH <vyshakh.krishnan.c.h@ericsson.com>
Merge "Support API that configures IPv6 address as sourceAddress" into stable/carbon
Merge "Remove <prerequisites><maven> from pom.xml to avoid WARNING " into stable/carbon
Support API that configures IPv6 address as sourceAddress
Change-Id: I23e2f04315ca023be9886d7e1570f78230b65dd7
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
(cherry picked from commit
0f6bf6bbaac65ecddd9574e91f66ccf154621730)
Support for moving Src/Dest IPv6 addresses in NxRegMove action
Depends-On: https://git.opendaylight.org/gerrit/#/c/56969
Change-Id: Ib4ba7baf50416b4e6e43705fbf796f65f4e00aa7
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
(cherry picked from commit
a02b3ae106087e8d4200c10a36665ea24fa946d5)
Utility api to configure icmpv6 type
Change-Id: I6c7f2def23e043872957d5272f0fe1217f323c8b
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
Merge "IMdsalApiManager API simplification" into stable/carbon
Avoid extending Object
Change-Id: If90e0445dafb0aa0f55c4145c1958369dadb93e9
Signed-off-by: Stephen Kitt <skitt@redhat.com>
(cherry picked from commit
4a480471ea4699c8c8a4eb047d595d297aec500b)
@Immutable GroupEntity
Contrary to the earlier
3a5d1e58dadf17654064234bdeb08597b7a48fe5 which
made FlowEntity @Immutable about 3 months ago, this change has no
impacts in downstream project netvirt (because all of its GroupEntity
instantiations go through MDSALUtil, which is adjusted here as well).
Change-Id: Id862698ebd5d00c30fdb52f5230ac35046062d44
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Make testutils a JAR instead of a POM
and start to use it for holding test fakes of genius APIs
Change-Id: Iaa44b3c7031f2d5a6129354e993157f8eb82680d
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Make ActionInfo.toString() generic
Subclasses don’t need to override it, so use the actual class name in
toString() (for example, ActionDrop can “just work”).
Change-Id: Idf68b65867e4cb8ba969d1db91ee5a4b03389c06
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Remove TestableDataTreeChangeListenerModule from ResourceManagerTest
It's currently not used anyway, and (because it's not used!) it can
occasionally cause the "heisenbug" (i.e. arbitrary test failure on some
runs, but not always) problem "IllegalStateException: Test forgot an
awaitEventsConsumption()".
see also (new) doc on
https://wiki.opendaylight.org/view/BestPractices/Component_Tests#Async
Change-Id: I8140df5e06b1b35deae4d4137af768c2c275b68b
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Replace LOGGER by LOG
Replace LOGGER by LOG to follow the
OpenDaylight recommendations [1].
[1]
https://wiki.opendaylight.org/view/BestPractices/Logging_Best_Practices
Change-Id: Ib1cf70417092a120eaf11b523e54b056774fe35c
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
Simplify boolean expressions
Change-Id: I09d1f3a22a5496f3dbf8281a378c9eea4112e68f
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Fix vlanIdModified test
OvsVlanMemberConfigUpdateHelper.vlanIdModified() has an apparent
copy-paste error in its null/non-null check. The whole test simplifies
down to !Object.equals(), so this patch just uses that.
Change-Id: I6b3548da5441e8318cf20eab3f4817d162c97fa6
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Simplify ResourceManager
- Simplify the initialization process refactoring some methods and using
System.getProperty with default values
- Change names of constants
- Improved coverage to from 70% to 81%.
More refactoring in later change.
Change-Id: I6670355d36b7af0806fa2032178103ef3d1a0099
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
Replace toUpperCase().equals by equalsIgnoreCase()
Change-Id: Ie6cd1797ff71d53b8f24492d97767cf5fd454153
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
Merge "fix for indefinite wait on the resource lock" into stable/carbon
Incorrect handling of admin state update for interface
Change-Id: I1ae01853375e6cb7f89516a768c3fc0d82508f7a
Signed-off-by: Faseela K <faseela.k@ericsson.com>
fix for indefinite wait on the resource lock
* Currently idmanager manager mutates the allocated id list (to make it sorted) while writing it into datastore which causes ConcurrentModificationException.
This leads to resource lock is never released and makes release id thread to
wait indefinitley for the lock.
* added lock retry logic with timed future.get version to handle any missed
signal
this is actually cherrypick of /c/57004. raising a new review because it
was closed already in stable/carbon.
Change-Id: I32da2b57806318eba00ba998af85410064001bab
Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
Merge "Bug 7826: Data validation failed for path" into stable/carbon
Bump versions by x.y.(z+1)
Change-Id: Ifb1367f7c4f9b1c0045afd8266925d47104850d0
Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
Merge "Bug7451 - Maintaining state information for bound-services in DS" into stable/carbon
Merge "BUG 8332: Inconsistent tunnel port information in Genius" into stable/carbon
Bug7451 - Maintaining state information for bound-services in DS
Use the bound-service-state info while unbinding service so as to avoid race conditions
when interface-state and service-unbinding happens exactly at the same
time
Change-Id: I39f6b3cef932d624de42d4cb56651fc8bb1de762
Signed-off-by: Faseela K <faseela.k@ericsson.com>
Bug 7451 - Leftovers in dispatcher table when unbind and ietf-state
delete occurs simultaneously
Adding service-state-information to cache, whenever a service is bound to
an interface, and this information will be deleted only when the last
service on an interface is unbound. To make the first and last service
counting more robust, moving the boundservices config listener, one layer
up, at the services-info level, so that the event itself will come with
the number of services currently bound an interface. Reading the same info
from DS later on during the event processing, can cause incorrect data
being read from DS, when multiple parallel services might be getting bound
and unbound without any synchornization.
Change-Id: Iec1fcf12f71f34fed01158aae483a1d36bac6757
Signed-off-by: Faseela K <faseela.k@ericsson.com>
BUG 8332: Inconsistent tunnel port information in Genius
Change-Id: I40efffde720a57197c8b7a36c323dbe398f1acc8
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
IMdsalApiManager API simplification
Having two installFlow/removeFlow, one returning void and the other
returning CheckedFuture, is completely pointless - they do the same
thing! The void one is NOT synchronous / blocking anyway (it internally
does NOT wait with a get() on the CheckedFuture) - so simplify.
This change, coincidentally, is fully backward API compatible. Callers
are free to ignore the new CheckedFuture returned - that's what the code
today already does anyway (in the implementation).
PS: This is the first step of perhaps more IMdsalApiManager API
simplifications to come (e.g. re. having variants taking BigInteger dpId
arguments, given that FlowEntity already has a dpId (only Flow does
not).
Change-Id: Ic53f6b7843bed71754e204258520d0ea40eb6b99
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
(cherry picked from commit
b75fffde8e0f97f1f99800e29038f23691340780)
Remove <prerequisites><maven> from pom.xml to avoid WARNING
[WARNING] The project ... uses prerequisites which is only intended for
maven-plugin projects but not for non maven-plugin projects. For such
purposes you should use the maven-enforcer-plugin. See
https://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html
This (^^^) is already done in odlparent.
Change-Id: I1c128a179d24504f391e52b881c4d17227fad088
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
(cherry picked from commit
3c2f263115322a58ef42e9e320beab2672989847)
fix for indefinite wait on the resource lock
* Currently idmanager manager mutates the allocated id list (to make it sorted) while writing it into datastore which causes ConcurrentModificationException.
This leads to resource lock is never released and makes release id thread to
wait indefinitley for the lock.
* Changed DCN Notifications threadpool's rejected execution handler type
to CallerRunsPolicy otherwise there are instances DCNs are not delivered
due to default AbortPolicy when tests are made to run repeatedly (thanks
to Michael for instrumenting junit runs repeater :))
Change-Id: I5f271f6054a44aa50d19f3130a2d5a73230ff50c
Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
Multiple VxLAN tunnels - egress service
- default egress service would be bound to the logical tunnel
- OF select group based on the actual list of tunnel members in the
logical group
- set the oper status of logic tunnel according the states of the group members
- admin status of logic tunnel affects the states of the group members
Depends-On:
https://git.opendaylight.org/gerrit/52871
https://git.opendaylight.org/gerrit/52993
https://git.opendaylight.org/gerrit/53603
Change-Id: Ica0801aa274615cedc36c60d661a0d5d411e1bd0
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
adding future.get for acquiring clustered lock
* LockManager manager uses busy spin with thread.sleep to acquire a lock
if there is a contention for it.
* Now thread.sleep is replaced with future.get() using ACDTCN on the lock
Change-Id: I4ce3816e150f1e75fedf3093d96ed41efc444fa5
Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
Signed-off-by: Kency Kurian <kency.kurian@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
fixing junit in resourcemanager
There are some regression introduced in resource manager tests due to [1]
which causes junits in resourcemanager-impl to get blocked indefinitely.
It is addressed in this review
[1] https://git.opendaylight.org/gerrit/#/c/54425/
Change-Id: I261c14eefa2eb59839fa36eb0578cfe499c487bc
Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
(cherry picked from commit
3e5e0ad62878842748cca2d92903d0b88f3225c2)
Change-Id: I4ce3816e150f1e75fedf3093d96ed41efc444fa5
Signed-off-by: Sam Hague <shague@redhat.com>
aded rpc in itm-rpc to move commonly used method
getEndpointIpAddressForDPN method is used by multiple modules
elanmanager, fibmanager, vpnmanager, natservice
Hence adding this method to itm-rpc.
We can use this same rpc call in all the above mentioned module
Change-Id: I72352dbeb8b786675578e13a009ca96f58413aae
Signed-off-by: Riyazahmed D Talikoti <riyazahmed.d.talikoti@ericsson.com>
Bug 7826: Data validation failed for path
* Modified removeGroup entity and removeFlow entity method
to fix the CSIT error of group-id not existing
* Added syncronized key-check for group and flow syncDelete
Will run the CSIT and check.
Change-Id: I6d137aa353b3e691085ba484d63a1833b140472c
Signed-off-by: eswanit <swati.udhavrao.niture@ericsson.com>
(cherry picked from commit
507246056c515156f1c80ae2313f4361cb7f1b64)
Genius: configurable tos option for tunnels to support QoS DSCP marking
For supporting QoS DSCP marking feature, the outer header of the packets
egressing out of Ovs through vxlan/gre tunnels need to copy the DSCP bits
from the inner IP header.
The marking of inner header is done through OpenFlow rules configured on the
corresponding neutron port. For outer tunnel header, the tunnel interface tos
option in ovsdb needs to be set as “inherit”.
For setting of tos a configurable parameter is introduced under ITM module.
By default the tos option is set to “0” as specified in Ovsdb specification.
For QoS DSCP marking feature, this should be set to “inherit"
link: https://git.opendaylight.org/gerrit/#/c/48949/
Change-Id: Ife923f74f5bd59648d40c1779478333632337952
Signed-off-by: Ravindra Thakur <ravindra.nath.thakur@ericsson.com>
Add component tests for Resource Manager Service
Add component tests for Resource Manager Service following this
guidelines [0].
Code coverage for resourcemanager-impl increased to more than 70%. This
coverage can improved by adding some negative test cases as well as
applying some re-factoring to the ResourceManager itself.
[0] https://wiki.opendaylight.org/view/BestPractices/Component_Tests
Change-Id: Iabbdf875301059d18e59b25312c6727b642a23c4
Signed-off-by: David <david.suarez.fuentes@ericsson.com>
(cherry picked from commit
ee882afe0283d626ce77c4285edce0fbf03093f4)
Multiple VxLAN tunnels - remove logic tunnel group
Removing logic tunnel related models from DS
Depends-On: https://git.opendaylight.org/gerrit/52871
https://git.opendaylight.org/gerrit/52993
Change-Id: If869da809d17e805940b627c1ed0c330fe06e4e6
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
(cherry picked from commit
73955e760f8274f4b685fcaa8511efdae5a26861)
Multiple VxLAN tunnels - RPC changes
- Change ITM RPC calls to getTunnelInterfaceName and
getInternalOrExternalInterfaceName to prefer the logical tunnel
group over the tunnel members
- IFM RPC call to getEgressActionsForInterface for the logical tunnel will
load register6 with its corresponding lport-tag and resubmit the
traffic to the egress dispatcher table.
Depends-On: https://git.opendaylight.org/gerrit/52871
Change-Id: I26a244225c3d82038bb92ea014b8ee35a4f5eda5
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
(cherry picked from commit
2964e74a74c861cc6cf2588480242997578343ae)
Merge "Remove ResourceManager.start method" into stable/carbon
Merge "Bug 8277 : VXLAN tunnel flapping" into stable/carbon
Remove ResourceManager.start method
The ResourceManager.start method has been removed
to improve initialization and testability. Its content
has been moved to the constructor.
Change-Id: If8b04382c0617fc2a54a1ca02fdb356b41c50398
Signed-off-by: David <david.suarez.fuentes@ericsson.com>
(cherry picked from commit
6d373b13f299a34dfa1c8fa5b8d0e84bedc80e12)
Fix minor issues in idUtils
- Return expressions directly.
Change-Id: I5f0a9343cd6fea21e0ffe4f5617317ebb16544c1
Signed-off-by: David <david.suarez.fuentes@ericsson.com>
(cherry picked from commit
ba5968aee16f65e96161a0525f8a8626b0250006)
Merge "@Immutable FlowEntity" into stable/carbon
Bug 8277 : VXLAN tunnel flapping
Change-Id: Ie1390ec7f32ce97842b1b2f2e74235a3c185afbe
Signed-off-by: Faseela K <faseela.k@ericsson.com>
@Immutable FlowEntity
This change has impacts in downstream project netvirt, which are handled
in https://git.opendaylight.org/gerrit/#/c/54390/ (must be merged
simultaneously)
Change-Id: I3d58caa5cbeafd1df2458942692b9271a650a23c
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
BUG 8107: Flow based tunnels not being handled correctly
OF tunnels don't get added to interface-state which causes failures.
Change-Id: I95a4129c53c9f187d1f695f50e4b2f346780fb36
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
ArpUtil Test
Change-Id: I084e89b7cf8af6090b3fde30412ac8a809c24647
Signed-off-by: Edwin Anthony <n.edwin.anthony@ericsson.com>
(cherry picked from commit
bb268e54fde36185dae9766847a99fdbea212ea3)
Junits failure on interfacemanager-impl due to timing issues
Change-Id: I6151043e26bc42ab0ed980646382b96175ea0190
Signed-off-by: Faseela K <faseela.k@ericsson.com>
VLAN IF in a VM gets a Trunkport IP from the DHCP if there is no SubPort
created
If there is a VM which has two (2) TrunkPorts (vNICs) and both of these
TrunkPorts does have one SubPort created, and one of these ports has also 8
other VLAN interfaces defined inside the VM. These additional VLAN
interfaces which don't have matching SubPort do get IP address of the
TrunkPort from the DHCP server. Assumption is that the DHCP server (ODL)
should not answer to the DHCP request if it comes from a Trunk port with
VLAN tag / SubPort which is not defined.
Change-Id: I6fdf1deeadda71adf3dda3c00c16c2b424b62ab7
Signed-off-by: Faseela K <faseela.k@ericsson.com>
Clean up ITM impl *Worker: Use "final" where possible, avoid parameters
Just a start, there is more TBD here re. static and all; e.g. the
Itm*Tunnel*Worker private static methods could probably be made
non-static and an the workers made to have an instance, or even just be
moved into the respective Itm*Worker classes, which seem to be the only
place using them.
This change was motivated by having had a closer look at this code due
to review comment in c/52871 to make something non-static which we
cannot yet easily, because of this.
Change-Id: Ib22ef6edb86ae50b1fe91bf68b9f85ad93dc612f
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Enhancing junits for interface-manager phase6
Adding junits for interface-manager APIs
Change-Id: I98bbeaef0681064eb81b487aff43f345d285d5c1
Signed-off-by: Faseela K <faseela.k@ericsson.com>
(cherry picked from commit
c36a8061846ce17cc10c079c81a7bca7ec69af19)
Cleanup IdManager and LockManager info messages
These modules are very active and output a large number
of logs in INFO level, which should be DEBUG level.
Change-Id: Id260b124ffeefa8ccf58d2c021c5c75b8ac589ab
Signed-off-by: Alon Kochba <alonko@hpe.com>
(cherry picked from commit
c35703645065c0c6de1b73ed676077a7dc50e67c)
Fix 1 Checkstyle problem (red in Eclipse, missed in build)
required for overall move to new Checkstyle version, see
https://git.opendaylight.org/gerrit/#/q/topic:bumpCheckstyle-carbon
see also earlier https://git.opendaylight.org/gerrit/#/c/55170/
Change-Id: Icab6986e0207f3d6b2f1b3dbd875bf73a25c26c9
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Spec Propose to utilize Ovsdb QoS queues
Change-Id: I7f6d8e4237c829b49efd4b78d072b5cbd91f174a
Signed-off-by: Konsta Pozdeev <konsta.pozdeev@hpe.com>
Utils for remote acl merging metadata
Change-Id: I8f7f49a5b6f57e50e13c6d4f42acabd3585de229
Signed-off-by: Slava Radune <slava.radune@hpe.com>
(cherry picked from commit
674d48d6af0ceb666d0a91126e9174b374c1fda7)
Merge "Fix 2 Checkstyle problems (red in Eclipse, missed in build)" into stable/carbon
Merge "Minor removal of useless null check in OvsdbNodeListener" into stable/carbon
Merge "Fix getPortsOnBridge() API" into stable/carbon
Minor fix for potential Tx resources leak found by static code analysis
and an (unrelated) Map remove null related check
Change-Id: Ibfa6f42bee741637ec1bf7f2cfcfa9a6ff6822aa
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
(cherry picked from commit
baafba11c291a053e0b1387117a1093d8adae6bc)
Fix 2 Checkstyle problems (red in Eclipse, missed in build)
This show up as red in Eclipse, but the CLI mvn build misses these; I
suspect that this is because the exact Checkstyle version used in the
Eclipse plugin likely is a little newer, and thus stricter, than the one
we currently use in the CLI mvn build. (I have double checked that
other Checkstyle violations do still fail the build, these appear to be
corner cases.)
We should probably upgrade the CS version we have in odlparent.
Change-Id: Ib169df06b8d96dd2b8980ed33e59fcc9f1820d81
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
(cherry picked from commit
c7460bb9f0eeaf03e9be768255eb7643dfc6baf6)
Minor removal of useless null check in OvsdbNodeListener
Both found by null analysis in Eclipse: "Null comparison always yields
false: The variable externalIdsInfoObj cannot be null at this location"
and "Redundant null check: The variable ovsdbNodeExternalIdsList cannot
be null at this location"
Change-Id: Ia2775254606978dc544429bfbbd5a4e5ceab04c6
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Fix getPortsOnBridge() API
The current API tries to read bridge-interface-entry which will be missing
for non-tunnel ports.
Change-Id: If2fb677bc84c2aeca59f6020371051f45f761240
Signed-off-by: Faseela K <faseela.k@ericsson.com>
Enhancing lockmanager junits
Change-Id: I87c21a7a24229b931c3cdfe2dd939a99c2aaa1e3
Signed-off-by: Faseela K <faseela.k@ericsson.com>
Tunnel showing wrong state in scale setups
In a scaled environment, when BFD flaps continuously,
interface-manager was showing the wrong tunnel-state in the end,
This is because interface-state in cache will have stale oper-status
leading to race conditions, during frequent toggling events.
Read from cache should be avoided in such conditions.
Change-Id: I878afb51f1da41f50e7f853cf0dbce35e5b96136
Signed-off-by: Faseela K <faseela.k@ericsson.com>
Renaming IFM utility getInterfaceStateFromOperDS
The utility was first doing a cache read, and in cache miss
cases, it tends to read from oper DS. So, ideally both the utils should
be separated so that if someone does not want to use the cache read, they
should be free to use the same.
Change-Id: Ie9b4371c466e57f75b357e7e6c39ecfb87480478
Signed-off-by: Faseela K <faseela.k@ericsson.com>
Enhance install egress dispatcher flow logs
Making the logs a little more readable, found it confusing
while debugging one issue
Change-Id: I486e8afa86a41a4e5a09485e1fbec16c5aff6f58
Signed-off-by: Faseela K <faseela.k@ericsson.com>
(cherry picked from commit
500aaaa68da3dce1948cd67ed23e2e99a7f573ae)
Add ArpConstants to arputil
Moving all arp constants to a single file as some
of these were duplicated. This is also to help break
cylci dependencies in netvirt.
Change-Id: I99ad9110f74702f2b3e6a50b3ba524ff2f6399bb
Signed-off-by: Sam Hague <shague@redhat.com>
Merge "Bug 8160 : getLock() in endless loop" into stable/carbon
Bug 8111: Conflicting modification for path
Removed the exception object from being logged. Will run CSIT and check.
Change-Id: I5b4b875aabba4d434515004181521d08ba8d1867
Signed-off-by: Kency Kurian <kency.kurian@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Merge "LockManager catch (InterruptedException e) LOG error not info" into stable/carbon
Bug 8160 : getLock() in endless loop
Ensured that the lock is unlocked before returning the idValue.
Depends-On: I5b4b875aabba4d434515004181521d08ba8d1867
Change-Id: I6e01e2dc63992b91f1ecd19dd42413a08932899d
Signed-off-by: Kency Kurian <kency.kurian@ericsson.com>
LockManager catch (InterruptedException e) LOG error not info
or is this intentional only info, for some reason?
If so, then it should be documented with an in-line comment...
Change-Id: I10e3c50f74a7fa866fbb67e8513974bb289570d5
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Changing Netvirt Classifier Egress service tables
- Previously they were 110, 111, 112 but the Egress dispatcher
table is 220 so a simple goto_table wouldnt work.
- Instead of doing a resubmit table, its better to have all the
Egress service tables grouped together. Now using 221, 222, 223.
Change-Id: Ibaa399abb9e3dc40904c8b0d561a62a84eae8c01
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
Update .gitreview to stable/carbon
Change-Id: Ifd94545c5974a9c24edc3468f2fb17f029657a22
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Updated git submodules
Project: netvirt stable/carbon
990c2dbdc69783ebf73f81779ea3689e614addd8
Simplify some streaming constructs
Change-Id: If48c31a56e1667597dc540ac5068fe731058a6e1
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Bug 8549 - Inter OVS traffic over EVPN does not work with
openstack-vni-semantics-enforce set to true
Change-Id: I401107b046695ec9af9feebbc47ecce0461b0b07
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
Bug7830:Conflict modification exception for NAT
Problem Statement:
===================
Conflicting modification for path exceptions was throwing from NAT module
for the flow creation of table21->26 and table47->21
Solution:
============
Table21->26 flow creation was happening in 2 more classes. To avoid
race-condition have introduced DJC to install and remove the flow.
Change-Id: Ib6c47667c9245d50eb51a7baa3d7969aa05b325b
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
Bug 8614: NPE observed in cloud-sc's VrfListener
Change-Id: Ief4b9b90c96e1e426b9399389538cd14b39fc942
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
Bug 8595 - DNAT traffic from DC gateway to FIP fails
Description :
In PDNAT_TABLE, we have a FIP mac match for performing FIP to internal IP
translation. But in L3_LFIB_TABLE, the destination mac has not been
updated and as a result, the reverse traffic for FIP were dropped.
Changes done to update packet with destination FIP mac as a result,
PDNAT_TABLE has specifc match and FIP to internal IP translation been done
properly.
Change-Id: I3fec733c7a8c049808a09828b8090daed12c83fc
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
Bug 8585: Exception with invalid QoS Alert params
Root cause - When invalid config parameter is set through karaf shell,
in-memory configuration is updated before data validation. Invalid configuration
later gets rejected but this makes configuration inconsistent. Any subsequent, configuration
is rejected until problematic parameter is set to valid value.
Fix - Update the QoS Alert configuration parameters only after validation.
Same as done for configuration through REST.
Change-Id: Ia46664850f3c7abe0ce74f76cf7e35bdbd79c7c6
Signed-off-by: Arun Sharma <arun.e.sharma@ericsson.com>
Fix checkstyle problems not detected by the current version
This change is required for overall move to new Checkstyle version, see
https://git.opendaylight.org/gerrit/#/q/topic:bumpCheckstyle
Change-Id: I8f9c20211a2936cf964f2cf51f8e41ffa180bb07
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Bug 7451 - guarding NPE
added few null checks to avoid nullpointerexceptions
Change-Id: I8b077f1d87d79bfe3804d8daabdf391a5358f301
Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
Bug 8581: DNAT failure with openstack/ocata
Problem Statement:
===================
DNAT traffic is getting failed because of missing DNAT flows in switch
(DPN). This issue was observed in openstack stable/ocata only.
Solution:
==========
Due to invalid check in NeutronPortListener.update(), certain FIP DS entry
where not populated and as a result, required DNAT flows where not installed.
Changes done to create required FIB DS entries properly.
Change-Id: Ia11a7e1d28288d762d26c3897d1612401d4ee8fa
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
elanName is null
Check for elanName. If null, return.
Change-Id: I72c931477c6d8ae464a654095383f8537ef6748e
Signed-off-by: Janki Chhatbar <jchhatba@redhat.com>
Bug 8586: Alarm raised due to stale stats polling
Root cause - When port stats polling is enabled, first poll returns
old data (Rx bytes and Dropped bytes) when QoS alert was not enabled.
Alert may get logged if stale stats has dropped % > threshold value
Fix - Alert should not be logged based on first poll data. Use first poll data
to set the baseline counts and raise alert on subsequent polls based on the delta
of counts between the polls.
Change-Id: Ic12f3d41e7c0277109acc51ab548e1a7d0b4d13b
Signed-off-by: Arun Sharma <arun.e.sharma@ericsson.com>
Replace LOGGER by LOG
Replace LOGGER by LOG to follow the
OpenDaylight recommendations [1].
[1]
https://wiki.opendaylight.org/view/BestPractices/Logging_Best_Practices
Change-Id: I038b8fc9a16b7443fcdefcad1bc12283151ba503
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
Clean up Optional uses
This patch reverts Optional and related streaming uses where they
result in more convoluted code than necessary (or, in the case of
Optional, where Optional instances are created only for conditions).
Change-Id: I8d0b2c456ff0a477e440fb029b8495476aabed27
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Replace logger and log by LOG
Replace logger and log by LOG to follow the
OpenDaylight recommendations [1].
[1]
https://wiki.opendaylight.org/view/BestPractices/Logging_Best_Practices
Change-Id: Ia4f5a1c1692133efa0e49873ba954a360572989b
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Bug 8589: Fix regression in Ipv6PktHandler
Following this change [1], Ipv6PktHandler is not getting
invoked for RS/NS meant for router interfaces. This patch
fixes this issue.
[1] https://git.opendaylight.org/gerrit/#/c/54389/
Change-Id: I5b98b742623df2552205f8bbb24d70ae17ba1325
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
Use named constants in ElanUtils
... instead of commented true or false.
Change-Id: I7f0738f11666f9433ae0942b2be538514d08311b
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Use direct comparisons instead of Objects.isNull
There is no reason to ever use Objects.isNull() directly, it’s
equivalent to “== null”. Its documentation explains its purpose: “This
method exists to be used as a Predicate, filter(Objects::isNull)”.
Change-Id: I86123fec65c09a1d26906935cad6df79750fa2d8
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Bug 7451 - VPN service cleanup of Table 17
Whenever a VM is deleted (or) a VPN where a VM
resides in is removed, the dispatcher-table
entries for that VMs VPN Interface were not
getting removed.
The fix here makes sure that dispatcher Table
(Table 17) gets cleaned up by VPN Service.
The related ELAN patch to clean up dispatcher
table for ELAN service entries is here;
https://git.opendaylight.org/gerrit/#/c/57767
Change-Id: I6460b8a12a37236275e72606bc58c4b59db440cb
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
SNAT performance improvement for Controller-Based SNAT
Description :
Following changes were done to address SNAT performance improvement
in following area.
1) Seperate Queue for first SNAT packet, retry packet and Flow removed
event on Idle Timeout.
2) Multithreading: using 25 threads for processing first SNAT packets, 25
thread for processing retry packets and 1 thread for processing Flow
Removed event.
3) Updated checkIpPortMap API to have direct query based on routerid,protocol,
internalip+port criteria thus preventing unnecessary looping.
4) Moved the code of getting externalMac Address and external address to
get executed only for first packet, thus preventing the retry packet from
executing it which is unnecessary.
Change-Id: Ib34aa8726295381d0e4ffd1f3cec74292d422c4f
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
Bug 8417 - [l3vpn_ecmp] Deleting MPLS GRE Tunnel port doesn't delete the
bucket entry in the group
Change-Id: Ic7287a9611bf27453713e47f6dde11373fea3172
Signed-off-by: epgoraj <p.govinda.rajulu@ericsson.com>
Minor Checkstyle fix Custom Import Order error
This shows up as red in Eclipse, but the CLI mvn build missed this.
This is due to a more recent version of Checkstyle.
required for overall move to new Checkstyle version, see
https://git.opendaylight.org/gerrit/#/q/topic:bumpCheckstyle
also includes minor removal of (1) extra parenthesis, (2) generic <>
clean-up and (3) missing @Override from automatic clean-up which happens
on auto-save (technically unrelated to Checkstyle).
Conflicts:
vpnservice/qosservice/impl/src/main/java/org/opendaylight/netvirt/qosservice/QosAlertManager.java
Change-Id: Ic650ffe9ac42cfbc7cad4c1c31c7553faf5fe603
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
Bug 7451 - Leftovers in dispatcher table when unbind and ietf-state delete
occurs simultaneously
Change-Id: Id3c44e94da203ddda9dbc3e6fb8b6885523c7fa3
Signed-off-by: epgoraj <p.govinda.rajulu@ericsson.com>
Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Bug 8498 - ICMP traffic from DHCP NS not blocked when ICMP rule to allow
VM-VM traffic is added in learn mode.
The wrong filter table to be used for learn ingress/egress service is
fixed.
Change-Id: I15e8841314c24b10556128bac354ebab1d80a698
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
Add JUnits for InterVpnLinkLocator
+ Only 2 so far:
- testFindInterVpnLinksSameGroup
- testSelectSuitableDpns_moreDpnsThanIvpnLinks
+ It adds an L3vpnCatalog that contains several VPN test data
to play with
+ Idem with InterVpnLinkTestCatalog
Change-Id: I1c6866ec5fe2570a469dd9ea9e5a6591d11dffa4
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
Fix a few non-null collections
In general, methods returning collections should never return null.
This patch fixes L2GatewayConnectionUtils and propagates the non-null
results.
Change-Id: If249aec9b8494de736c362f0ea04139151670d68
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Bug 8376: Fix DHCP for external tunnels
DHCP for external tunnels does not work with neutron
DHCP server.
ODL is installing rules to punt DHCP packets received
on external tunnels to controller, even when ODL
DHCP is disabled. But, since ODL DHCP is disabled,
no DHCP response is sent by ODL. And, with these
rules installed, neutron dhcp server never sees the
DHCP packet. As a result, VM will not get IP
address.
Do not start listeners that are responsible for
installing DHCP rules to punt DHCP packets to
ODL controller when ODL DHCP is disabled.
Change-Id: Ib0e243a9bca5866e50a5d1cb4c70cd4441dd01e6
Signed-off-by: Victor Pickard <vpickard@redhat.com>
BUG:8341 IAE seen in CSIT logs when port/vlan name is not matching UUID
Change-Id: If90482540cc5cc7c28d16397f84a39f3774eab7b
Signed-off-by: epgoraj <p.govinda.rajulu@ericsson.com>
bug 7599 hwvtep ucast mac add performance improv
Changes for performance improvement.
Added new Cmd TunnelIpCommand and also changed function getKey to return
actual key Identifier in place of String value.
Change-Id: I0fd84c87db6feefcba4c119fe0c05193751ab8cb
Signed-off-by: Akash <a.k.sahu@ericsson.com>
elanmanager-impl <dependency> interfacemanager-impl <scope>test
It is wrong to directly depend on interfacemanager-impl from
elanmanager-impl. This may only be done with <scope>test, for component
tests.
Remove the sole usage of a util from ITM - genius has the same util.
Change-Id: I0dda82184d547cefa5a447361111438ed3fe40c1
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Use named constants for PolicyAceFlowWrapper
Instead of commenting each use of true or false, use constants.
Change-Id: Ibf8b19b67dc54e99e6caffe8056a0e04b62601c2
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Adjust tunnel state listeners for logical tunnel
If the logical tunnel exists between the source and destination DPNs it will
be set as the lport-tag of register6 in the remote nexthop actions.
Spec: https://git.opendaylight.org/gerrit/50779/
Change-Id: I98ff89efd047e056529e4bbdf06493e548c561d1
Signed-off-by: Olga Schukin <olga.schukin@hpe.com>
Signed-off-by: Sam Hague <shague@redhat.com>
BUG:8232 updating BGPVPN with the List of RDs
*Problem: When a new Extra-route is added and if there are not enough RDs
for the VPN then the new extra-routes are not handled.
These unprocessed extra-routes will be handled during vpninstance update
(ie when new RDs are added(Update) to the existing VPN)
Change-Id: Ic380b6aaabdd0d44484c2ec1a33de7cde9c01366
Signed-off-by: epgoraj <p.govinda.rajulu@ericsson.com>
Fix Unused log and private final
Delete unused log and their imports.
Change initailized private final var to
private static final in order to use less memory.
Change-Id: Ieecaf3cf75ac67b55e2bfd87c1c78eb1bbd77782
Signed-off-by: mcauffiez <mcauffiez@inocybe.com>
EVPN RT2 : Silent host changes
When the flow created on packet received from silent host expires,
prefix is removed from macEntry container and prefix is withdrawn,
There is no necessity to withdraw prefix from here, it will be
duplication.
Change-Id: Iab970736a182efaddf4dfc44a5a11377ca22b111
Signed-off-by: Yugandhar Reddy Kaku <yugandhar.reddy.kaku@ericsson.com>
Bug 8508 : Id-manager exception during releasing id for router
Description : Even though opendaylight-semantics is disabled,
the following EVPN NAT use-cases require VNI to be allocated from
OpenDaylight VNI Pool:
a. All traffic on external network will be using a VNI allocated for the
external-VPN aka Internet VPN.
b. Similarly all traffic from Non-NAPT switch to NAPTSwitch will be using
the VNI allocated for the router from the OpenDaylight VNI Pool.
For VNI-L3-L3 Fowarding feature also, a VNI must be allocated for every
router from the OpenDaylight VNI Pool as that VNI will be used for
Non-NAPT to NAPTSwitch traffic.
This fix makes that allocation as only release alone was done earlier.
Changes done to allocate a vni for router(when router-gatway-set done)
and been released during ext-router entry is deleted. In CSIT(having
non-EVPN use-case) were executed, an attempt to release the non-allocated
id was done during when ext-router entry is deleted resulting in exception.
Change done to make sure an id is allocated when router-gateway-set is done to
prevent such occurance of exception.
Change-Id: Ic1e696d6b4c8d0c56eac8b16ed0731d072b5b135
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
Bug 8539: IPv6 L3 Forwarding broken.
The merge of the following review;
https://git.opendaylight.org/gerrit/57145
broke L3 Forwarding for IPv6 addressed ports.
The fix here addresses the breakage by making
sure that L3_GW_MAC_TABLE entries are filled
correctly for both IPv4 and IPv6 router-interface
ports, before embarking on writing PING
Responder flows for IPv4 based router-interfaces.
Change-Id: Ieb190edda470264006609c62e4af9fc0d94d4a2c
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Bug 8485 : EVPN was also coming as Layer_3 VRF
Problem:
Even after configuring EVPN Layer 2 VRFs in quagga its coming as EVPN Layer 3 VRFs.
Solution:
Changes to modify the layer type was missing in VPN engine
Change-Id: I8f45b06c02f3920512f16563d77b13b8ba076a9d
Signed-off-by: Vyshakh Krishnan CH <vyshakh.krishnan.c.h@ericsson.com>
Bug 8358 - Local next hop group not deleted after VM migration
Issue:
When a VM is migrated from one DPN to another, the FIB flows are not
programmed for the VM in the DPN to which it is migrated.
Analysis and Fix:
The l3nexthop container is used to check whether the local next hop group
is already present for a prefix. If it exits, no new group is created and just
the reference count is increased. When this prefix is removed, this
reference is decreased & the group is removed when the reference count is
0. It was observed that for the first VM creation, the reference count is
2(it should be 1) because of redundant calls to createlocalnexthop. A
check has been added to prevent this.
Also some other minor fixes have been done related to ECMP
1. The addition/deletion of extra route also changes the above mentioned
flow reference count. This caused problems while just updating the
extraroutes(the flow reference count keeps increasing and so the local
next hop group would never be deleted). Now, the addition/deletion of
extra routes doesnt change the flow reference count in the l3nexthop DS.
2. When there is no change in routepath of the extraroute(updated extra
route also present in the same DPN), there is no change in odl-fib DS and
so handling has been added to implicitly call the refresvrfEntry which
would update the FIB flows.
Change-Id: I4d7b435aed73268383b36e1c635c499c71e54c60
Signed-off-by: gobinath <gobinath@ericsson.com>
Bug 8412 - NPE while adding and removing elanmacentry
1. While advertising RT2 route prefix is Optional, hence added a safer
null check. if prefix is not present, still go ahead and advertise RT2
route
2. During withdraw if prefix is not present, return with error log.
3. Remove the elanName null check as its never null.
Change-Id: I3009bb9d19f3413d448031ff47771a986ef10746
Signed-off-by: Janki <jchhatba@redhat.com>
BUG 8537: Get destination from interface remote ip
Genius will not set the tunnel destination IP address until the very
last action. Classifier egress cannot expect to have this IP address
available on it's own pipeline.
Solve this by setting the IP address on REG0 on the egress service
binding actions. This will be the remote IP of the bound interface in
case of tunnel or the local IP otherwise.
To avoid overuse of registries, a REG is no longer used to set the
SFF IP address on table 101. This IP will be set directly on the path
specific flows of table 223 if needed. Previously this REG was being
used to know if the SFF was remote by comparing with the local IP in
these flows but that is not needed as it can be known at configuration
time.
Change-Id: If7a474391ed2d643cc3b3f34743d60c5f418b2e5
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
Replace toUpperCase().equals by equalsIgnoreCase()
Change-Id: I54ac6903362c15c6caab05810861de852d2619a5
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
Bump versions by x.y.(z+1)
Change-Id: I54e2105583481ca281691c735d81d027350d4711
Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
Bug 8475 - Non-external vlan provider networks do not work
Patch - 2 for handling of review comments on master
Spec link:
http://docs.opendaylight.org/en/latest/submodules/netvirt/docs/specs/vlan-provider-enhancement.html
Change-Id: I4fc70ba20927257046e45ffe5d577106fcc8d09c
Signed-off-by: Ravindra Thakur <ravindra.nath.thakur@ericsson.com>
Bug 7939,8082: Table 19 flow nightmares
Table 19 flows rules aren't getting recycled appropriately
whenever VMs are moved into a routed subnet and then again
backed off.
The fix here attempts to make sure that Table 19 flow rules
are handled consistently when a subnet moves in/out of a router
and also when a router moves in/out of a bgpvpn.
Change-Id: Ief94b1b856a69c631052f11644db6a0b091f2aa7
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Signed-off-by: Jamo Luhrsen <jluhrsen@redhat.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Bug 7939 : SubnetRoute functionality for bgpvpn broken.
IPs behind Neutron Interfaces are not discoverable for
router-associated-to-bgpvpn use-cases.
With this fix we are disallowing creation of subnetRoutes for internal
subnets off neutron routers.
More specifically, for just neutron routers, subnetRoutes won't be published.
However, if such subnets are part of a router that is within a bgpvpn, the
subnetroutes feature will continue to work.
For the PNF review that requires subnetRoutes to be available,
the fix here needs to be further tweaked to make PNF discovery on internal
subnets of a VLAN-network to work.
PNF Review referredin commit message here is:
https://git.opendaylight.org/gerrit/53984
Change-Id: I507aae2e3d1cbb72457f32b48e598ef0f6cda703
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
BUG-8388: On egress, filter out SF bound packets
Classifier should not handle packets that are already classified and
bound towards the SFF. For this, we set C1 to 0xFFFFFF on the ACL flow.
Then on beginning of egress pipeline, if C1 does not have that value
we assumed that's a packet bound for the SF and already classified so
it is resubmitteed to dispatcher. Otherwise, C1 is reset to 0 and
handling continues.
Change-Id: I1427a9bbec7fb0c8e36c241b727d39de450bc1ed
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
Bug 8451: afi parameter is not the good one used in pushRoute and withdrawRoute
The afi parameter used as parameter is calculated based on the prefix nature,
that is to say either IPv4 or IPv6.
Change-Id: I6d34488e43d4dc589ce842fcd1675d24033c9f28
Signed-off-by: Noel de Prandieres <prandieres@6wind.com>
Bug 8471 - Traffic between a VM without FIP and a VM with FIP is not
working
1)Hairpinning changes are done for conntrack based SNAT, now it matches
on external subnet id that external n/w id.
2) The packets are submitted back to table 21 from 47.
3)L3_GW_MAC_TABLE (Table 19) replace the external n/w id with external
subnet id for the packet address to router external interface
4)L3_FIB_TABLE (Table21) flow now matched external subnet id instead of
n/w is along with external ip address.
Change-Id: Ib4de831a58638ed9d4aed9c78450e3d7bebf6222
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
Bug 8475 - Non-external vlan provider networks do not work
Spec link:
http://docs.opendaylight.org/en/latest/submodules/netvirt/docs/specs/vlan-provider-enhancement.html
Change-Id: Iad7479835a7bd97a4f827c8365601d2a20efe477
Signed-off-by: Ravindra Thakur <ravindra.nath.thakur@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Bug8484: Non-NAPT Group action is drop for router associated with BGP-VPN
Problem Description:
======================
Non-NAPT to NAPT VM Traffic is getting dropped at Non-NAPT Group level
when router is being associated with private BGP-VPN.
Solution:
===========
When ever Vxlan tunnel got "down" followed by "up" event between Non-NAPT to
Napt Switch happened, Non-Napt group got re-created through tunnel
interface state listener. In this use case is not been properly having the
code logic for if the router with private bgp-vpn configured.
Added the proper code for creating tunnel bucket information for Non-NAPT
groups got re-created during tunnel state changed.
Change-Id: I509eeda9041d5e1b170e45554b3d9f661e6091fd
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
Bug 8473: Reboot fixes for ECMP with extra-routes
* It includes changes in the extraroute-rds-map container. Nexthop is
added as key which is used to retrieve the allocated rd for an extra
route. This is useful during reboot to know which rd is allocated for
an extra route and this change avoids re-allocation of rds during reboot.
* Some minor fixes for reboot is also added in this review.
Change-Id: I31e8d153be947810a66ed3e2ccc686eee876bea8
Signed-off-by: eceghkl <manu.b@ericsson.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Bug 8474: Enable openstack-vni-enforcement on data plane
Change-Id: I5f87df4b45e35a3b857f616437b6ede4c0b5f029
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Bug 8474: Local FIB entries for VxLAN VPN interfaces not programmed
Local FIB entries for VxLAN networks on router-based VPNs are not getting
programmed when VNI flag is turned to true, as makeConnectedRoute() wasn't
being called.
This commit fixes the same for create and delete cycles.
Change-Id: Ib81ac9aa1270921c11fc35cfb3352afdd5aff577
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Bug8471 : L3_GW_MAC_TABLE entry for FIP not removed.
Description : L3_GW_MAC_TABLE entries for Floating-ips where not removed
after FIP disassociation. The flow-key generated during removal was
different then during creation of this flow.
Change-Id: I6dc9d7dbb365d9e1a815241b01139658ebb59d12
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
Bug 8451 : Problem with EVPN RT5 exchange between ODL and QBGP
Problem:
ODL was always advertising encap type as MPLS and protocol type as ANY
irrespective of L3VPN or EVPN RT5
Fix:
Added the missing code to handle the encap type and protocol type
Change-Id: Ia4e27b62c33977ae5f5ce155695851f97bc47788
Signed-off-by: Vyshakh Krishnan CH <vyshakh.krishnan.c.h@ericsson.com>
Bug 8025: Use RPC with barrier when sending SNAT packet out
When configuring SNAT flows and then sending a packet-out to those
flows, use RPCs with barriers before the packet-out to ensure the
flows are configured once the packet-out is sent.
Change-Id: I330df570857317e50bf5dc404e9691a0053f3f54
Signed-off-by: Alon Kochba <alonko@hpe.com>
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
Bug 8294 : fib-show cmd throws an exception on usage
When using fib-show, an exception was triggered when parsing FibEntries
from a VRF context.
Correcting the existing fix. Instead of break , changing to continue.
Change-Id: I4637ac14b7fd5bdb9ccb7978d1a2b40538098dfd
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
BUG-3874: BGP Manager / fib-show shell cmd triggers an exception on usage
When using fib-show, an exception was triggered when parsing FibEntries
from a VRF context. A sanity check is done in order to prevent accessing
null entries.
Change-Id: If296e3b4770518f53c789130565db8960ca63ef6
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
EVPN RT2 Installing flows for RT2 received in prior
1. When EVPN is created, vpn instance will be created and bgpmanager will
register with quagga bgp. hence BGPmanager will start receiving RT2 routes
from peer. Bgpmanager will write into macvrfentry(odl-fib.yang).
macvrfentrylistener is listening to macvrfentry and which installs dmac
flow for the received RT2 route only if EVPN is attached to network.
2. Now if EVPN is created and NOT attached to network. BgpManager will
still receive RT2 routes from peer, which will be written into
macvrfentry, but since evpn is not attached to network yet, hence DMAC
flows are not installed. Once Evpn is attached to network we need to go
through all the macvrfentry with the matching RD and install dmac flows.
3. when EVPN is detached from network, we go through all the macvrfentry
for that RD and uninstall DMAC flows.
4. async read is done so that even if it fails to read first time it tries
multiple times till either read is success or failure.
Change-Id: If4cb1b0fb924e7defa4e8c119dcf249b3f9b24f6
Signed-off-by: Riyazahmed D Talikoti <riyazahmed.d.talikoti@ericsson.com>
EVPN RT2 : Receive RT2 BGPManager changes
On receiving RT2, bgpmanager has to updated the macVrfEntry in fib.yang.
Also when the RT2 is from a new TEP, same has to be updated in elan
external tep DS.
A sample cli is added to simulate the RT2 from QBGP as well.
Change-Id: If193af109a3a08d08d6c6f32e715c71f045e5af8
Signed-off-by: Vyshakh Krishnan CH <vyshakh.krishnan.c.h@ericsson.com>
EVPN RT2 : Listener for evpn to network associatn
When EVPN is created, even if no network is associated to it, BGP routes
will come from quagga which will be stored in FIB as MacVRF.
Now when the network association happens, all these routes should be
examined and corresponding elan DS has to be updated.
Change-Id: I53b75890005c67469cab512a3bf5824b6265f06d
Signed-off-by: Vyshakh Krishnan CH <vyshakh.krishnan.c.h@ericsson.com>
bgpmanager VPNv6 shell command update as well as OAM changes
bgp-network command is modified so as to support the ability to
configure prefixes with afi parameter, to be 1 ( IPv4) or 2 ( IPv6).
Moreover, this extension permits retrieving the number of prefixes VPNv6 stored
on quagga, like it has been done for VPNv4
Change-Id: I90a043d5d2a77789b0a5fe376994b201830ad5fa
Signed-off-by: Noel De Prandieres <prandieres@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
bug 7599 hwvtep ucast mac add performance improv
Adding batching to improve performance
Change-Id: I2844f7418a8f088064baafe4804a9c1a6b3a8f73
Signed-off-by: Akash Kumar Sahu <a.k.sahu@ericsson.com>
Bug 8014 l2gw connection broken
listener registration is broken in previous async datachange listener
refactoring change.
Adding the remote ucast macs immediately instead of waiting for mcast
to appear in operational datastore.
creating logical switch in config datastore , irrespective of if it is
found in operational datastore or not.
Change-Id: I7916ec4d457e189d28bf48eb3c11836dd6c311f6
Signed-off-by: Riyazahmed D Talikoti <riyazahmed.d.talikoti@ericsson.com>
EVPN RT2 DMAC flow install
1. When EVPN RT2 route is recieved from peer, BGPManager will write into
macvrfentery to which MAcVrfEntryListener is listening to.
and based on add or delete DMC flow entry is added/deleted.
2. ElanEvpnUtils contains utility methods which access elan related info
3. EvpnFlowUtils contains utility methods which helps
in installing flows in DMAC.
Change-Id: I6c6f1b407d4d209985be964011323019b6965a20
Signed-off-by: Riyazahmed D Talikoti <riyazahmed.d.talikoti@ericsson.com>
(cherry picked from commit
cf7e6b3e276e6ea62886945b15c9c20e97b7d954)
Thrift changes to support IPv6 calls over Quagga BGP stack
Quagga BGP stack enhancement to support IPv6 leads to Thrift interface
modifications, which specifically include the following Type changes:
a) new AFI parameter - IPv6
b) pushRoute() includes new AFI parameter
c) withdrawRoute() includes new AFI parameter
d) getRoutes() includes new AFI parameter
e) onUpdatePushRoute() includes new AFI parameter
f) onUpdateWithdrawRoute() includes new AFI parameter
Thrift interface changes to include information on afi type.
Change-Id: Id4aea3809e58910c57e588fa6018119911b57834
Signed-off-by: Noel De Prandieres <prandieres@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
BUG-8387: Set tunnel id to 0 on egress towards SFF
When classifier is forwarding packets to the first SFF through a
tunnel, set the tunnel key to 0 as that what the SFF expects.
Change-Id: I02830f46cfe1507463aaabc562ee522646f778d3
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Bug 8370 - Fib flows are not deleted after extra route deletion
Issue:
When the extra routes associated with a router are updated, the FIB flows
corresponding to the old extra routes are not deleted.
Analysis:
While there exists handling to update the loadblancing group corresponding
to the extra route, the handling to remove the FIB flows for the extra
route when the extra route is completely removed is missing.
Fix:
Changes have been added to the deletelocalfibentry to remove the FIB flows
of the removed extra route.
Change-Id: I77b5b9d46173b1c2613c28a495bc6a85bff52d9a
Signed-off-by: gobinath <gobinath@ericsson.com>
Fix ivpnlink bgp route leaking
+ After splitting the InterVpnLink refactor commit into 3 smaller
ones, this line was missed.
Change-Id: Ic31fde68e18a0cb86948301c7e549fab42561168
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
Bug 8340 - Rules with IP prefix not getting programmed when there
are multiple SG associated with a port
1)Remote filter table programming during port update is fixed.
2)Ingress and Egress filter table no is fixed in the respective
classes.
3)AclInterface Map logic is updated to prevent duplicate entries.
4)Test added to cover interface with intially one acl and later two.
Change-Id: If5af5ced20ed81ec27201bd4ec0def91715ebda9
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
Refactor InterVpnLink. Part THREE
+ This one implements the final purpose of this refactoring:
taking the route leaking out of the fibmanager to a higher level,
in this case it's the BgpManager who now takes care of the route
leaking in case of BGP routes and the VpnManager for static and
connected routes.
Change-Id: Ie73a7061a26cfa3b95fad633533d44fff87ad6fb
Signed-off-by: Miguel Perez <francisco.miguel.perez@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
BUG-8331: BGP Manager labels values are passedin correct order to QBGP
L3 Label Parameter is swapped with L2 Label when calling QBGP
Change-Id: Ib5d3260a696078e6b3d1de9cd0b84eaf0ebfef7d
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
BUG 8375 - Malformed NSH packets get dropped
- The NSH NextProtocol (NP) field must be set to 3 for ethernet
- Since the field isnt set, its set to 0 by default, which causes
the packets to get dropped by the SFF OVS.
Change-Id: I4d13b86ff563b76a992c5c88791015053f5688e8
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
UT - Adding Netvirt classifier GeniusProvider tests
- added GeniusProviderTest.java
- added TestInterfaceManager.java to stub the Genius InterfaceMgr
- added TestOdlInterfaceRpcService.java to stub the Genius RPC calls
- added GeniusProviderTestParams.java with common test params for above 3 files
- changes to GeniusProvider for errors that the UT flushed out
Change-Id: I60e85811959319bf6e163641506aa2f26d9975d5
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
BUG:8345 & Bug:8347
* The code-review contains below Fixes
BUG:8347 -> NPE at org.opendaylight.netvirt.elan.internal.ElanSmacFlowEventListener.onFlowRemoved
BUG:8345 -> OptimisticLockFailedException for elanDpnInterface
Operational Datastore while deleting elan-instance and elan-interfaces
Change-Id: Id930e511f1f0814e17ca1f8cbbda43e9fd3d7e6f
Signed-off-by: epgoraj <p.govinda.rajulu@ericsson.com>
Revert "Thrift changes to support IPv6 calls over Quagga BGP stack"
This reverts commit
cae4adebcf7f6f79736859cd2dbb04599b435091.
Change-Id: I09f01ec493bf4dc1023f5fe22f7d8aa9768d0e53
Signed-off-by: harikrishna <hari.i.krishna@ericsson.com>
Revert "Thrift interface changes to support BGP VPNv6"
This reverts commit
21f5d03ca7cc0e0dfd53c3868196b6e93ec9ae19.
Change-Id: I1df917f4385ace0691b6fbf3cec408fd496e8180
Signed-off-by: harikrishna <hari.i.krishna@ericsson.com>
Revert "bgpmanager VPNv6 shell command update"
This reverts commit
be855643f1ceadc9077882b81eb35533e5717148.
Change-Id: I9516ee1258f2fd3395a677a7b70ba0e5ad83e884
Signed-off-by: harikrishna <hari.i.krishna@ericsson.com>
Revert "bgpmanager: IPv6 information is collected vty shell"
This reverts commit
b918dc13b79a565fb6d16194690c7d6c7eacb1e7.
Change-Id: I4a8ffda31d769ada55481ad708cd619c7c3a3a3b
Signed-off-by: harikrishna <hari.i.krishna@ericsson.com>
Rollback - ADDED INFO logs for tempest issue DEBUG
Change-Id: Ic695dd7bd011313e3f615c1c2f70bd7b7d212771
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
Bug 7939: Interface management on cluster reboot
Interface state changes are missed on a cluster
reboot resulting in some flows and DS not being
properly re-written.
Change-Id: Ie91cc1226f4d6494e4ce0e82f4dd0d6e00840396
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Bug 8349 - Creation of BGPVPN with the same RD is not restricted
ODL does not support handling of multiple bgpvpns with the same RD. Hence,
a bgpvpn create request with an already used RD should be denied.
Change-Id: I60d4cc00e73ca8089a15f5b6f4298d74ab7c7b0c
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
bgpmanager: IPv6 information is collected using vty shell
This extension permits retrieving the number of prefixes VPNv6 stored on
quagga, like it has been done for VPNv4.
Change-Id: I413c5b2ed1dc6d004f09a582f8510bccf1f1986a
Signed-off-by: Noel De Prandieres <prandieres@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Hari Krishna <hari.i.krishna@ericsson.com>
BUG 8340: Handle case when aceList is also empty
Change-Id: If76c63ec6c5dd00811f593ac8d6058341b8e1cf1
Signed-off-by: Jamo Luhrsen <jluhrsen@redhat.com>
Netvirt: Qos Alert patch7 - last
*** patch #7 - Added EntityOwnershipListener ***
Only qosalert entity owner or master only should poll for port stats.
Once a master is elected, it shall continue polling until a new master is elected.
Spec Review Link:
https://git.opendaylight.org/gerrit/50689
Change-Id: I67ad2b3a016204b8e19e2971a0329b52aa8bd4fb
Signed-off-by: Arun Sharma <arun.e.sharma@ericsson.com>
Netvirt: Qos Alert patch6
*** patch #6 - Added log4j configuraton support ***
1. Added a new log4j appender with default logging properties in qosalert.cfg
2. Added listener method update in QosAlertGenerator class to handle any chage in qosalert.cfg
Spec Review Link:
https://git.opendaylight.org/gerrit/50689
Change-Id: I2008a0a2dd22661e0f45251f0aac1088270d3d96
Signed-off-by: Arun Sharma <arun.e.sharma@ericsson.com>
EVPN RT2 advertise and withdraw prefix changes
1) Added elan external tep listener.
When elan external tep is added update the elan remote broadcast
group for all elan dpns.
2) when an elan interface is added , advertise its prefix
when elan interface is deleted, delete its prefix.
3) Advertise prefix when we receive packet in message from silent
host.
4) Withdraw prefix when the smac flow entry of silent host expires
Change-Id: I870174f9fa0741a6508f2edec20dae7489b67d26
Signed-off-by: Yugandhar Reddy Kaku <yugandhar.reddy.kaku@ericsson.com>
Set feature capability for port status update
See: https://bugs.opendaylight.org/show_bug.cgi?id=7718
DEPENDS ON: https://git.opendaylight.org/gerrit/#/c/55854/
Change-Id: Ia83d31c348176947e31e11d383f770ac97390145
Signed-off-by: Josh <jhershbe@redhat.com>
Signed-off-by: Sam Hague <shague@redhat.com>
bgpmanager VPNv6 shell command update
bgp-network command is modified so as to support the ability to
configure prefixes with afi parameter, to be 1 ( IPv4) or 2 ( IPv6).
Change-Id: Ie0a5faf7160a049e930d2eb8f89af9d87693ddcd
Signed-off-by: Noel De Prandieres <prandieres@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Hari Krishna <hari.i.krishna@ericsson.com>
BUG 8296 - Erroneous Egress Classifier flows
- Egress classifier filter flow now just matches on NSH
MD Type as set in the Ingress classifier ACL flow
- OpenflowRenderer.renderPath() is now passed the nodeIP
instead of the destination SFF IP
- Patch Set 2 : fixed minor merge issue
- Patch Set 3 : fixes found by ClassifierEntryTest UT
Change-Id: Ide70b7222b08b2b363acc36126dc08e8a9add556
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
Factor out executor from ClassifierService & UT
Depends on [1]
[1] https://git.opendaylight.org/gerrit/#/c/55251/
Change-Id: I4cf5bffcd33e2f4190a699a9982f75ca2d3ad8fd
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
Thrift interface changes to support BGP VPNv6
Thrift interface changes to include information on afi type.
Change-Id: Ie82e9a086621a551f19a0faaf9107d630277ae43
Signed-off-by: Noel De Prandieres <prandieres@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Hari Krishna <hari.i.krishna@ericsson.com>
Signed-off-by: Vivekanandan Narasimhan <n.vivekanandan@ericsson.com>
Thrift changes to support IPv6 calls over Quagga BGP stack
Quagga BGP stack enhancement to support IPv6 leads to Thrift interface
modifications, which specifically include the following Type changes:
a) new AFI parameter - IPv6
b) pushRoute() includes new AFI parameter
c) withdrawRoute() includes new AFI parameter
d) getRoutes() includes new AFI parameter
e) onUpdatePushRoute() includes new AFI parameter
f) onUpdateWithdrawRoute() includes new AFI parameter
Change-Id: Ibd4842624d55fd07ae88b0d2ca8094a641f8749d
Signed-off-by: Noel De Prandieres <prandieres@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Hari Krishna <hari.i.krishna@ericsson.com>
Bug 7866 adding retries for remote dmac programming during tunnel up event
* currently there is no retries in case of OptimisticLockFailedException
while programming remote dmac during tunnel up event. This leads to remote
dmac is programmed with drop action which leads to packet drop. Now added
retries for jc job.
* Also adding retries in case remote BC group fails (during tunnel up event) due to datastore exceptions.
Change-Id: I2bc024fc7133170c321c4a5071d6b58e00a2666b
Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
EVPN RT2 NeutonVpn changes
1. EVPN RT2 RPC for create, delete, and get EVPN
creation and deletion of EVPN via REST is handled by NeutronEvpnManager.
When create EVPN RPC is received, NeutronEvpnManager will check if
vpninstance already exist with same name if not then it will create
vpninstance of type L2 for EVPN. similarly vpninstance will be deleted for
delete event.
2. Changes for attach/detach network to EVPN
NeutronEvpnManager will add/remove/update evpn name in Elan augmentation so that
EvpnElanInstanceManager will advertised and withdraw routes accordingly.
3. Few previous comments mandatory false from yang removal fix
4. Added ElanHelper file to move commonly used utility methods to avoid
cyclic dependency
Change-Id: I259734fad1ca0e19f38093b4e22a326fb6969459
Signed-off-by: Riyazahmed D Talikoti <riyazahmed.d.talikoti@ericsson.com>
Bug 8244 In Conntrack SNAT implementation G/w is not reachable when no
port in the router subnet is present in the node
1)Added a the pseudo port to vpn-dpn list.
2)Moved the router cache util to a separate class.
Change-Id: I6f5834ab3af1c3478274191bd7eafebc162dc25e
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
stale entry in flow rules, after deleting port associated to qos policy with dscp
When we are delete the VM which has an associated qos policy with it,
the stale entry of DSCP marking use to persist for the table number 90.
The reason for this was that when QosNeutronPortChangeListner is called
rpc called to fetch DPN id use to fail. By moving the code to
QosInterfaceStateChangeLister we can use Interface to find out DPN id.
Change-Id: I485d84806eae2bcc8341518f8186973efb171658
Signed-off-by: Naveen Kumar Verma <naveen.kumar.verma@ericsson.com>
Bug 8310 - SNAT flows not added when the first subnet is added to the
external n/w after router g/w set
1)Check for the presence of external IP during add.
2)Update now considers whether a subnet is added after router g/w set.
Change-Id: Ibb6f2a5cf031db18a624e68391415e6574242434
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
ClassifierUpdate unit tests
Change-Id: I4baa75c75c590e35a44da8b61e86eb27e625f79c
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
Fix remote acl bugs
1. Merging metadatas of lPort and aclId.
2. Handling reg6Match for ingress
3. Fixing dupplicate AclInterfaces in AclDataUtil
4. Adding all ips to remote acl filter table, not only those with remote acl rules
5. Fixing the flows instalation logic for the case of port in more than one SG.
6. Fixing handling of SG that uses itself as remote SG.
Change-Id: I64b0e294317e0ac1a3444192a92f8058f2604f1d
Signed-off-by: Slava Radune <slava.radune@hpe.com>
Netvirt: Qos Alert patch5
*** patch #5 - Port direct statistics polling ***
Added support of retrieval of port statistics data using OpenflowPlugin
direct-statistics RPC and log the alert message if packet drop ratio is
greater than the configured threshold value.
Spec Review Link:
https://git.opendaylight.org/gerrit/50689
Change-Id: I0a708ccd7eeb10c3d71fd8c08d5a2efeacdd3e25
Signed-off-by: Arun Sharma <arun.e.sharma@ericsson.com>
BUG 8284 - Unmatched packets get dropped by Classifier
- Packets that enter the Netvirt classifier that dont get
matched are dropped.
- These packets should instead be resubmit back to the
Ingress Dispatcher table.
- The solution is to add a lower priority MatchAny flow
to the INGRESS_SFC_CLASSIFIER_ACL_TABLE table that
resubmits back to the Ingress Dispatcher.
- Adding UT for the newly created flow.
Change-Id: I2d8b598a1146aa72a2c64c9b12835a7612e16c11
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
Fix the error in the egress classifier spec
The table numbers were wrong and could confuse newcomers
Change-Id: Idd57ab06f4c17801fc40dc90b00a410f5f4cfb74
Signed-off-by: Manuel Buil <mbuil@suse.com>
(cherry picked from commit
ba22f7cf19d8a827d77a3391a7f654344ade43d8)
@Immutable FlowEntity with FlowEntityBuilder
This is dependent on the genius change
https://git.opendaylight.org/gerrit/#/c/53763/, which must be merged
simultaneously.
The change in the Xtend re. flowId is because the FlowEntityBuilder does
not have a getFlowId() like FlowEntity, only a setter; see
https://github.com/immutables/immutables/issues/432
Change-Id: Iecbe1ccd2c1c6cb9c914b70c6e44590d748ad739
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Signed-off-by: Sam Hague <shague@redhat.com>
Bug 7758: Use Trunk instead of Transparent port for Flat networks
Netvirt should have used Trunk ports for Flat networks, instead of
Transparent ports - otherwise there are issues of mixing Trunk and
Transparent ports together, since Trunks are automatically created
once there are Trunk Members (VLAN networks) on the same port.
Change-Id: If666b672b1158919623db11b5324321f2f7b15b0
Signed-off-by: Alon Kochba <alonko@hpe.com>
Netvirt: Qos Alert patch4
*** patch #4 - Building Qos Alert port cache ***
This patch builds a cache of port stats data having QoS rate-limit rule applied.
A neutron port is added into the cache if -
1. Port QoS policy has bandwidth rate limit rule.
2. If port does not have QoS policy applied, then if network QoS policy
has bandwidth rate limit rule.
Spec Review Link:
https://git.opendaylight.org/gerrit/50689
Change-Id: Iafb22bd98009b891a2ef4911ef0edf9f2ab9c767
Signed-off-by: Arun Sharma <arun.e.sharma@ericsson.com>
Bug 8244 - In Conntrack SNAT implementation G/w is not reachable
when no
port in the router subnet is present in the node
Creates an elan interface when a router port is created amd is deleted
on port delete.
Change-Id: I18fa39310f22c7ad633037c7bda54f51d193374b
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
ClassifierEntry unit tests + javadoc
Change-Id: I1317a8e7cc0bc08bd027e8a91bf29111572feab8
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
EVPN RT2 elan changes to adv/withdraw RT2 routes..
1. Elan instance changes when network is attached and detached to EVPN
Neutronvpnmanager will add/delete/update evpn augmentaion in elan instance
EvpnElanInstanceManager is listening to the augmentation and based on type
of event EvpnElanInstanceManager will advertise or withdraw RT2 routes.
2. EvpnElanInstanceManager uses vpninstance to get rd to advertise or
withdraw routes.
Change-Id: I147da46e5d869cde560f25452e9e7511206a61dd
Signed-off-by: Riyazahmed D Talikoti <riyazahmed.d.talikoti@ericsson.com>
Bug-7718 Operational neutron port status
networking-odl requires feedback as to when a neutron
port can be marked as "ACTIVE". This commit places an
estimation of that information in the operational data
store. For ports that connect to OVS we wait for them
to connect and for basic L2 flows to be configured.
Note that we do not validate the flows in operational
nor do we check all flows. Ports that are implemented
purely as flows are marked ACTIVE immediately. The plan
is for networking-odl to receive notifications of these
status changes via a websocket.
It was decided at the time being
to keep the port status out of the ODL neutron project
since (a) functionally, this issue is mainly an issue for
netvirt and (b) to do it right in netvirt would require
some re-architecting.
Change-Id: Id719e904b277fe4dbb9c3d118d24c3bedf110a33
Signed-off-by: Josh <jhershbe@redhat.com>
Error messages are displayed when the port updated with qos policy stating
that binding are not allowed to the port
Following Error message was seen when the same port updated with second
qos policy:
2017-04-05 14:42:54,116 | ERROR | pool-39-thread-7 |
FlowBasedServicesConfigListener | 338 -
org.opendaylight.genius.interfacemanager-impl - 0.1.4.SNAPSHOT | Service
Binding entry update not allowed for:
b193e270-8053-4650-8059-
a8ec57713069, Data:
BoundServices{getServiceName=qos.
b193e270-8053-4650-8059-
a8ec57713069,
getServicePriority=3, getServiceType=class
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceTypeFlowBased,
augmentations={interface
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.StypeOpenflow=StypeOpenflow{getFlowCookie=
67108865,
getFlowPriority=10,
getInstruction=[Instruction{getInstruction=GoToTableCase{getGoToTable=GoToTable{getTableId=90,
augmentations={}}, augmentations={}}, getOrder=1, augmentations={}}]}}}
Use case:
- create a port, say port1
- create qos policy q1 with dscp and bandwidth
- Associate qos policy to the port
- observe the policy applied properly
- update the port again with qos policy q2
- Though the 2nd qos policy (here q2) seen applied properly , below error
message was seen in ODL side:
"Service Binding entry update not allowed"
RCA:
Qos service binding is happening even during the 2nd qos policy updation
on the same port on which a 1st qos policy already associated.
Change-Id: Ia3754833d716f1e387bd7bdce00f82ed51a394ce
Signed-off-by: A Vamsikrishna <a.vamsikrishna@ericsson.com>
Bug 8189 - Policy flows are not updated after ovsdb other-config changes
Change-Id: Ic27b87922dd42aac020fa6f7e65bbab53e8c4489
Signed-off-by: Tali <tali.ben-meir@hpe.com>
Bug 8255 - VPN creation with multiple RD via Rest
is not working
fixed this by removing throwing of an error when
multiple RDs are passed to create VPN.
Change-Id: I28e546ca781d87566a2eb8b70148d980fa7dad3b
Signed-off-by: eswanit <swati.udhavrao.niture@ericsson.com>
Bug 8200:NAPT_PFIB_TABLE(47) with Internet VPN is not programmed for EVPN
This code review will address the following problem for EVPN NAT UCs.
1) NAPT_PFIB_TABLE (47) resubmit to L3_FIB_TABLE (21) {47->21} with
external (internet) VPN Id as match flow is not programmed for if external
network with Provider type VXLAN is configured.
2) When the external router is deleted some of the EVPN stale entry flows are
presented.
3) If more than one floatingIp is available in vpn-to-dpn-list for given
dpn id, do not call for installing INTERNAL_TUNNEL_TABLE (table=36) -> PDNAT_TABLE (table=25)
flow entry with same tunnel_id again and again.
Change-Id: I5a54764da323ed1ac20f91dd40fc36c06ed59ecb
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
Signed-off-by: Sam Hague <shague@redhat.com>
ADDED INFO logs for tempest issue DEBUG
Change-Id: I25cb78056fbc6b7cbd372ac7565c21472e2c3060
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
(cherry picked from commit
8a75dc835b6ff248da8762081f8bcc44e432e679)
BUG 8240 - Fix odl-netvirt-sfc dependent features
- Adding the odl-sfc-genius feature.
- Setting the correct version for carbon
Change-Id: Iee6f0a3df0e4dd9b3ae5f57035d0c4a1584dd163
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
Fix equals() bug in FederatedNetworkPair found by Checkstyle
This shows up as red in Eclipse, but the CLI mvn build missed this.
required for overall move to new Checkstyle version, see
https://git.opendaylight.org/gerrit/#/q/topic:bumpCheckstyle-stable/carbon
Change-Id: I7a46ac4c96e541d9fec17f3e6add9bcf65999a48
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Bug 8235 - Bug in group programming for directly connected subnet routes
Issue:
1. The ECMP feature enables the loadbalancing of traffic to the the extra
routes only but the discovered routes are also getting loadbalanced similar
to the extra routes.
2. This also leads to the issue in case of the discovered routes
containing macaddress(directly connected subnet route), the
loadbalancing groupId overrides the local nexthop group Id
as the parameters used for computing the groupId turns out to be same.
Analysis:
1. Since the discovered routes are also present in the vpntoextraroute
container, the discovered routes are also being currently loadbalanced by
ECMP feature.
2. Also, the loadbalancing groupId is computed from the prefix or the nexthop Ip
depending on whether the macadress is present or not(if mac is present,
the nexthopIp is used and prefix for otherwise). In case of the directly
connected subnet route, the macaddress is present and so the nexthopIp
is used for computing the loadbalancing groupId. This overlaps with
local next hop group programmed for that nexthop.
Fix:
Since the discovered routes have only 1 next hop, this
condition is now used to distinguish between discovered routes and the
extra routes. Only the extra routes are loadbalanced now and the
discovered routes are handled as before(creating a new local nexthop
group).
Change-Id: I6b0c5506f438ec1f816dfa0fdb045a8494950f48
Signed-off-by: gobinath <gobinath@ericsson.com>
FIB: VNI support in datapath for VxLAN networks
This commit adds support for VNI based L3 forwarding for VxLAN based
provider networks.
Spec: https://git.opendaylight.org/gerrit/#/c/48640/
Following changes are done:
1.
i) FIB_TABLE will set the destination network VNI in the tun_id
field instead of the MPLS label.
ii) On egress OVS, match will happen on this VNI in table 36,
and packet will be taken to ELAN pipeline in order to reach the
destination VM.
iii) Table 36 will no longer be programmed by FIB to match on MPLS
label for internal router-based VPNs whose subnets are part
of a VxLAN network
2. Some changes are done to program VNI in tun_id for ECMP LB NH
groups.
3. The commit also incorporates the enforce-openstack-semantics
flag to enable easy turning on/off of the feature.
4. Some refactoring and cleanup has also been done, majorly to
remove the local utils/references for MDSAL sync
write/delete/update APIs.
Change-Id:Id3244bd9f72028381e1790e96428a8f541f0e6b2
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
ELAN: VNI support in datapath for VxLAN networks
This commit adds support for VNI based datapath forwarding for VxLAN
based provider networks.
Spec: https://git.opendaylight.org/gerrit/#/c/48640/
a. Unicast
1. Table 51 now sets VNI in tun_id field for packets egressing on
tunnel ports
2. On egress, table 36 now matches on VNI in tun_id field, sets the
ELAN tag in metadata, and forwards the traffic to table 51
b. Broadcast
1. Remote broadcast group now sets VNI in tun_id field for packets
egressing on tunnel ports
2. On egress, table 36 now matches on VNI in tun_id field, sets the
ELAN tag in metadata, and forwards the traffic to table 51
Also, integrates the openstack-vni-semantics-enforced flag to enable
easier turning on/off of the feature
Change-Id: I7a6b14897344a8d00cb19291602d92cf586f15f7
Signed-off-by: Abhinav Gupta <abhinav.gupta@ericsson.com>
Bug 8201 - ECMP not working with router based VPN
Issue:
In case of router based VPNs, the loadbalancing groups created for extra
routes are not updated with correct buckets when the extra route is
present behind different DPNs.
Analysis:
The issue is caused as the current design requires list of rds to
differentiate the extraroute present behind different DPNs.
Fix:
In case of the router based VPNs, the DpnIds are used as rds so the
vpntoextraroute is now populated correctly.
Change-Id: I18f6d39c67047a31817d442ba79aee6244bf3712
Signed-off-by: gobinath <gobinath@ericsson.com>
Bug 8221 - Remove Wait Time To Install L3VPN Groups on OVS
Currently we have a wait of 1.5s to ensure L3VPN groups are programmed
correctly in OVS, before we start programming the L3VPN Flows. This needs
to be optimized further.
This patch makes use of the OpenFlowPlugin addGroup() RPC call to directly
install the group in the OVS. This will ensure that the subsequent installation
of flows will always find the required groups in the OVS.
Group installation via the FRM is still retained to ensure consistency in the
datastore.
Change-Id: Ie4c2cf2a6199bad2a27d067d444a42ae04d3f191
Signed-off-by: eupakir <kiran.n.upadhyaya@ericsson.com>
Remove unused setFibManager
Change-Id: I627678151987577273bca88f5506a9faaedcd0c1
Signed-off-by: Sam Hague <shague@redhat.com>
Bug 8188: L3VNI without configured UC handled for EVPN
Problem Description:
==================
L3VNI without configured in Internet VPN needs to be handled for EVPN in
NAT feature.
Currently Internet(External) VPN with L3VNI use case only handled for
external VXLAN network (EVPN) in NAT feature.
Internet(External) VPN without L3VNI use case also needs to be handled for
external VXLAN in NAT feature. Since Openstack Operator may configure L3VNI or
may not configure L3VNI.
Solution:
=========
Unconfigured of L3VNI value in Internet(External) VPN, will carve-out
the L3VNI value from OpenDaylight VXLAN VNI Pool to use SNAT and DNAT
flows.
The following UCs are handled based on the L3VNI configured/unconfigured
for GRE and VXLAN provider type.
Ext-Net-Type || Internet-VPN-L3VNI || External and Internal VXLAN uses
===============================================================================
GRE Configured Ignore L3VNI, allocate VNI from pool and
use it for Intra-DC only
--------------------------------------------------------------------------------
GRE Not Configured A VNI taken from ODL Pool and used for
Intra-DC communication
---------------------------------------------------------------------------------
VXLAN Configured Internet-VPN-L3VNI used for both
Intra-Inter-DC communication
---------------------------------------------------------------------------------
VXLAN Not Configured A VNI taken from ODL Pool and used for both intra-
inter-DC communication
---------------------------------------------------------------------------------
Note: If VNI value is unable to get from ODL VNI Pool, router-id will be
used as tunnel-id for external network provider type as VXLAN
Change-Id: I3c3f21e026303edf7eb2ad88bfd33622523085f0
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
(cherry picked from commit
767d666b4a15f064be1478006328abf720c11c65)
cleanup ovsdb-ui bundle
Change-Id: I60da5608800bb36353e166334262e6f3bf33ac46
Signed-off-by: Sam Hague <shague@redhat.com>
Add ovsdb-ui bundle
Change-Id: If6b04d9ba61bcc32eac5603c13304b933318d184
Signed-off-by: Sam Hague <shague@redhat.com>
Bug 8142 : DHCP timeout issue.
Issue:
stable/boron not usable - DHCP timeout
Analysis:
more than 5 thread were waiting on BGPConfigurationManager when BGP was
trying to send thrift messages to QBGP and QBGP is not up. BGP was
retrying it again and again. Meanwhile, services which call addPrefix is
getting blocked due to synchronized behavior of addPrefix.
Fix:
APIs exposed by BGP to other services - addPrefix, delPrefix, addvrf and
delVrf is made unsynchronized.
Change-Id: I6010b1eeef680b1f8d8908c2b9faf283b3827cfc
Signed-off-by: Vyshakh Krishnan CH <vyshakh.krishnan.c.h@ericsson.com>
Deprecate legacy features
Depends-on: https://git.opendaylight.org/gerrit/55084
Change-Id: Ia0ac9c5d427bd616eaa651df2e85297225afdfe3
Signed-off-by: Sam Hague <shague@redhat.com>
add odl-sfc-genius to odl-netvirt-sfc
Change-Id: I2512b14e15210bda5e5b8339621ea8a7b2b02f13
Signed-off-by: Sam Hague <shague@redhat.com>
BUG 8240 - Fix odl-netvirt-sfc dependent features
- Needed to install odl-sfc-openflow-renderer instead of
odl-sfc-provider in order to bring in all the needed
SFC features.
Change-Id: Id83d65c5b67214a826ff903cf48efeeca61aa99a
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
Bug 8241: Fix openstack-sfc ACLs IllegalArgumentException
Fix ace port range to be set only if mandatory lower port
is specified, otherwise we hit an exception.
Change-Id: Ic6206394e4255653a837c2b57cefc538555eefa4
Signed-off-by: Alon Kochba <alonko@hpe.com>
Bug 8170 - Loadbalancing nexthop group not updated after VM deletion
Issue:
When the last nexthop present in a DPN is deleted, the loadbalancing next
hop group is not updated. The group still contains the bucket pointing to
the deleted nexthop.
Fix:
There was an error while retrieving the endpointIpaddress for the DPN in
method getEndpointIpAddressForDPN. There was an error in converting the
IpAddress object to string. Appropriate conversion is used now.
Change-Id: I86cc77bd69446881d2ab669471f3142845e4d549
Signed-off-by: gobinath <gobinath@ericsson.com>
Bug 8162 - NPE at org.opendaylight.netvirt.vpnmanager.VpnSubnetRouteHandler.onSubnetAddedToVpn
Change-Id: I2936a473841b995a496c76064249a2bb9bd96354
Signed-off-by: Janki <jchhatba@redhat.com>
(cherry picked from commit
f100cfb4e361fb07f91d2ec087839d292e94f1d0)
Set copyright for sfc translator back to Brocade
Change-Id: I576ff1dfe9c97cde540c1a56f77a857fb32e43eb
Signed-off-by: Sam Hague <shague@redhat.com>
Bug 8166: Acl interfaces are not set and cached correctly
The acl interface can exist in the cache before an interface
was assigned one. This can happen via the AclInterfaceStateListener.
Also, an interface ID should be set when a new entry is created.
Change-Id: I3e882582731eb273da533ac15dd2c8cc7f27ffe2
Signed-off-by: Yakir Dorani <yakir.dorani@hpe.com>
Use ArpConstants from arputil
Depend-on: https://git.opendaylight.org/gerrit/54890
This avoids duplicating constants and also helps to
break cyclics.
Change-Id: I76689a97d1131d13cffa382bbf4d07d7a3d19044
Signed-off-by: Sam Hague <shague@redhat.com>
Name all blueprint.xml file consistently
Change-Id: I7497339a96ff0f76f11e3f3c9937f57b6993169c
Signed-off-by: Sam Hague <shague@redhat.com>
Cleanup unused dependencies
Change-Id: I98eb44130f247108589db3aedf4e015b76ce03c1
Signed-off-by: Sam Hague <shague@redhat.com>
add interface for VpnFootprintService
This is another attempt to reduce cyclics.
Change-Id: I29acdc7fa4c681c24b0cafc8430716f189bd7be1
Signed-off-by: Sam Hague <shague@redhat.com>
Remove utils.config
Change-Id: Iaf232a25f055b26e392d337e85a2b15409b9c03d
Signed-off-by: Sam Hague <shague@redhat.com>
Remove legacy utils from new netvirt
Change-Id: I43a183b689846924ac8344117bfa59cae0457a4a
Signed-off-by: Sam Hague <shague@redhat.com>
BUG 8193 - Fix Netvirt classifier egress service port binding
- The Netvirt classifier egress service should bind on egress
ports, not ingress ports like it does now.
- Since its not possible to know all the possible egress ports
to bind on before-hand, the egress classifier service will
bind on all switch ports. It will only process NSH packets
and return all others to the egress dispatcher.
- Also in this patch, when the SFF is on the same bridge as
the classifier, the egress classifier will resubmit the
packets directly to the SFF instead of going through the
ingress dispatcher, since we dont know the correct ingress
port to use for the SFF.
- Updated OpenFlow13ProviderTest to reflect the change to the
egress classifier resubmit.
- Changes from code review comments
- Final changes to make sure the egress binding is working.
Now using getDpnInterfaceList RPC to get the switch ports
to bind to.
Change-Id: I97bc38722064738ee22b8ddbc7163bc5dc3dd276
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
Bug 8105: IllegalArgumentException in getSrcIp fix
1. reading IP and ARP payload was wrong, which is fixed by getting payload from
deserialised ethernet data based on IPv4 or ARP, getPayload will return
the right payload as the offsets are maintained in Packet based on
type of payload.
2. IllegalArgumentException was for payload type IPv4 where
getSourceAddress method will return of type int, and
NWUtil.toStringIpAddress will accept input as byte.
The same was working fine with payload type ARP as
getSenderProtocolAddress return byte.
3. Tested these changes by creating 2 ports in neutron network, delete 1
port and send ping packets from deleted port to the other port.
First ARP packet hit and was able to retrieve IP address properly, and
then data traffic hit and was able to retrieve IP address.
Change-Id: I16af2e18e2c857a5529f4ffef1caf9da014d521f
Signed-off-by: Riyazahmed D Talikoti <riyazahmed.d.talikoti@ericsson.com>
(cherry picked from commit
0c9a0f34e776cf3620cc4eed8a5f0afe5eec1d23)
Bug 8014 - L2Gw connectivity not working
Tunnel creation issue as cache were not populated properly
Fixed .
Change-Id: I7613afe762f0a865275c3fc492045ef4d035ba84
Signed-off-by: Akash Kumar Sahu <a.k.sahu@ericsson.com>
Cleanup version properties
Change-Id: I15c3131032866d0094b7f34ac7e4c85cfe139665
Signed-off-by: Sam Hague <shague@redhat.com>
Update .gitreview to stable/carbon
Change-Id: Ib6980e6ee2c6ff084075771ff350881fe8024265
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>