jenkins-releng [Fri, 21 Aug 2020 07:23:30 +0000 (07:23 +0000)]
Bump versions by x.y.(z+1)
Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
Change-Id: If7f4a0a45299948ed658f33fb66b9f9b6742e384
Vikram Singh Kalakoti [Wed, 1 Jul 2020 19:04:08 +0000 (00:34 +0530)]
Non ipv4 advertising peer causes BGP session flaps
During the session establishment phase, if a peer
doesn't advertise ipv4-unicast, controller
automatically adds ipv4-unicast as supported
family for the session to support classic BGP
sessions.
Currently, we are adding Ipv4 family in the
BGPPeer but not updating AdjRibInWriter which
causes the BGP session to not recover from
session flap. Patch fixes this issue by adding
ipv4 support before updating AdjRibInWriter.
JIRA: BGPCEP-910
Change-Id: I669104a17d603e0494f9ac7090a8fd671f67a3a5
Signed-off-by: Vikram Singh Kalakoti <vikramskalakoti@gmail.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
f54f4bd31f5ceb0a15edacb9b2884a63a21cb52d)
Robert Varga [Wed, 29 Jul 2020 15:52:04 +0000 (17:52 +0200)]
Process open mesage more defensively
We are already handling documented exceptions, but we may end up
ignoring a runtime exceptions. Add a defensive catch.
JIRA: BGPCEP-915
Change-Id: I921395d9a36fd7fcadfeef882d181abc10db2b13
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 22 Jun 2020 11:12:05 +0000 (13:12 +0200)]
Bump odlparent/yangtools/mdsal to 5.0.11/3.0.16/4.0.17
This picks up latest upgrades.
Change-Id: I2b8d77a81a5ec1a58a322e376725441709b9441b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 22 Jul 2020 08:33:11 +0000 (10:33 +0200)]
Add an explanatory messages around TCP-MD5
Just pointing to epoll unavailabality reason is not enough, we
should also explain that the user can get PCEP working without
TCP/MD5 keys.
JIRA: BGPCEP-916
Change-Id: I95d5d087f99a29a6d823041e40a841b2f0367be8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
7bfa8189dafc5bbc5e1f6ab7da1e7377a059b944)
Robert Varga [Sat, 18 Jul 2020 10:41:13 +0000 (12:41 +0200)]
Attach sources to test-jar
Building test-jars without also attaching sources make them painful
to use. Make sure we attach sources.
Change-Id: I2fc110cb8b7037c7b8b71251ca910fcf4c6be7ac
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
3f9507880ca6889ceb1dffc88e8c156e98b9e32f)
Thanh Ha [Fri, 10 Jul 2020 14:55:12 +0000 (10:55 -0400)]
Do not fail on warnings for docs-linkcheck
This is a workaround due to sphinx-tabs being incompatible with the
Sphinx linkchecker which throws a warning. We mainly use linkchecker
to catch broken links so we don't really need to fail on warnings as
the main "docs" builder will still fail for warning level issues so
this is a reasonable workaround.
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: Ia3b8425133ffb83f6adddd9e584deffb2b887222
Ajay Lele [Tue, 26 May 2020 18:05:10 +0000 (11:05 -0700)]
Prevent deadlock when updating PCEP stats when Tx chain fails
Multiple threads are blocked on TopologyStatsProviderImpl
instance lock which is held from TopologyStatsProviderImpl#unbind()
which in turn is waiting for delete transaction commit
future to complete. The transaction chain has failed but
the callback TopologyStatsProviderImpl#onTransactionChainFailed()
is blocked on lock held by earlier thread, thus creating a deadlock.
Patch avoids this by registering callback on delete transaction
commit future instead of the blocking call.
JIRA: BGPCEP-901
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
Change-Id: I4a65b3dd00fb6f1255bf6eeb8b5f1d03f3b3a182
(cherry picked from commit
2cb352533464b608896336b88e69ddd8f5df0031)
jenkins-releng [Thu, 28 May 2020 23:43:57 +0000 (23:43 +0000)]
Bump versions by x.y.(z+1)
Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
Change-Id: I5f36e1aff9596bdf4cd5c3f3d2619b2a458fbb54
Robert Varga [Fri, 15 May 2020 08:16:05 +0000 (10:16 +0200)]
Bump odlparent/yangtools/mdsal to 5.0.7/3.0.11/4.0.14
This picks up latest upgrades.
Change-Id: I737ab1dfb0437d90687660a9c08372c8f26ca710
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 23 Apr 2020 08:55:08 +0000 (10:55 +0200)]
Upgrade compendium dependency
We are using OSGi R6, the compendium reference should match.
Change-Id: Iafdf2f1ef31a90097a1205181924bacf0dd1a9e9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
65ce3d8d2e9c1bfa6fb3fddff2d3660d86f0b132)
Ajay Lele [Tue, 24 Mar 2020 22:43:48 +0000 (15:43 -0700)]
Handle race-conditions in BGP shutdown code
JIRA: BGPCEP-900
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
Change-Id: Id50c83cd226f6786c9830b3b10d7e0eddda9653e
(cherry picked from commit
01ad372373854f644f648e914ed24eaec91fd783)
Robert Varga [Mon, 23 Mar 2020 10:29:21 +0000 (11:29 +0100)]
Remove use of projectinfo property
maven-project-info-reports-plugin is properly declared with a newer
version upstream, remove use of property-based version override.
Change-Id: I3f9e0b2f9f37b609b070cb3d3c79589fd3114244
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
4b4b0e7449fe051c67e3feeef7da77a394387339)
Robert Varga [Sat, 7 Mar 2020 08:47:54 +0000 (09:47 +0100)]
Bump odlparent/yangtools/mdsal to 5.0.6/3.0.10/4.0.13
This picks up latest upgrades, which necessitate a few fixes for
checkstyle violations.
Change-Id: Id4a5d9aeb51f91b0184c3fb6dd33a5425ab5e740
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 18 Feb 2020 18:14:57 +0000 (19:14 +0100)]
Use HashMap.computIfAbsent() in getNode()
There is no point in performing a lookup + store -- just perform
a conditional load, which saves a bucket lookup in the not-present
case.
Change-Id: Idacb1eba11da59fbb3c9554fa0d2f5fac92717d3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
54493897a40acdff60c5be6ae833e549bded9372)
jenkins-releng [Wed, 12 Feb 2020 02:32:15 +0000 (02:32 +0000)]
Bump versions by x.y.(z+1)
Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
Change-Id: I9fb61abf8633c216d88b2a7783bb2429ebd908e0
Vikram Singh Kalakoti [Tue, 28 Jan 2020 15:40:52 +0000 (21:10 +0530)]
Fix buffer read for unsupported LLGR Safi
In LlGracefulCapabilityHandler, once an unsupported safi is encountered
we should skip all unread bytes in buffer for that Table
JIRA:BGPCEP-893
Change-Id: Ib4479f75d70631fff92b8af62f6bd20486a66c2a
Signed-off-by: Vikram Singh Kalakoti <vikramskalakoti@gmail.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Ajay Lele [Fri, 17 Jan 2020 18:18:40 +0000 (10:18 -0800)]
Ignore unknown subobjects while parsing RRO/ERO objects in PCEP messages
Make handling of unknown subobjects more liberal. Log message parsing
exceptions at error level instead of debug to make it easier to detect.
JIRA: BGPCEP-892
Change-Id: I3d142e3d857b1ee154aaedf3d28a09d870932915
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
(cherry picked from commit
cf50e7d1be03f1ab87881bd90f1ec6fb356e508f)
Robert Varga [Wed, 15 Jan 2020 13:24:48 +0000 (14:24 +0100)]
Bump to odlparent-5.0.5/yangtools-3.0.9/mdsal-4.0.11
Pick up latest fixes.
Change-Id: I81ad91511c7f1121b0a63ef1f4722af01513f809
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 12 Dec 2019 07:32:30 +0000 (08:32 +0100)]
Bump odlparent/yangtools/mdsal to 5.0.4/3.0.7/4.0.8
Pick up the latest upgrades and fixes.
Change-Id: Ib2e3d3caa2f84f97379d9be2e98bfd291785085c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Ajay Lele [Sat, 14 Dec 2019 04:09:13 +0000 (20:09 -0800)]
Fix CSIT regression due to BGPCEP-878 fix
Handle scenario in BGPClusterSingletonService#restartNeighbors()
where BgpPeer#restart() is called after BgpPeer#closeServiceInstance()
without BgpPeer#restart() getting called in between.
JIRA: BGPCEP-878
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
Change-Id: I5f8ac4ac4992e4641769243c91fac03bd0a96094
(cherry picked from commit
a0281358d14e627b4e718d8b016e149ce8ed749f)
Ajay Lele [Tue, 3 Dec 2019 03:17:53 +0000 (19:17 -0800)]
Register PCEP session to stats handler only after it is fully initialized
JIRA: BGPCEP-889
Change-Id: I008418426061d51fd3bef1be7e2fca9b63c99100
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
Ajay Lele [Thu, 29 Aug 2019 21:37:58 +0000 (14:37 -0700)]
Fix NPE while accessing DomTxChain when bgp/app peer singleton service is restarted
Due to cluster partition/heal, singleton service associated with bgp/app
peer instance can get restarted. Create/close of DomTxChain instance used
by the service was not being handled properly resulting in NPE and failure
to register the peer which caused the BGP connection to not get reestablished.
JIRA: BGPCEP-878
Change-Id: I436ad0877db19c65463bf7b7e09faa3b2b42e5a0
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
5efe6160e57bc846831dbbe7dd88b8a30c33919a)
Ajay Lele [Wed, 30 Oct 2019 00:13:15 +0000 (17:13 -0700)]
Address deadlock scenarios in BGP peer, session mgmt code
In scenario-1, BGPPeer and BGPSessionImpl was acquiring locks in opposite order,
resulting in deadlock. Addressed it by enforcing same order of locking i.e.
[BGPPeer (listener) -> BGPSessionImpl (session)].
In scenario-2, deadlock was because of BGPProtocolSessionPromise and StrictBGPPeerRegistry
acquiring locks in opposite order. Addressed by using concurrent Set obviating
need to acquire lock on StrictBGPPeerRegistry object.
JIRA: BGPCEP-884
Change-Id: I9e05adde3220191c8f8436bd76fb25dbfc251e49
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
(cherry picked from commit
c23ee5e55cb94faf602d8ef16f109af7023ed8ed)
Robert Varga [Sun, 3 Nov 2019 08:14:50 +0000 (09:14 +0100)]
Bump to odlparent-5.0.3/yangtools-3.0.6/mdsal-4.0.7
This picks up latest upgrades and fixes.
Change-Id: I5e4d4536f156b55d2d1288820814c3b4297fd58c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 21 Oct 2019 08:23:24 +0000 (10:23 +0200)]
Fix bgp-segment-routing
This model is not valid yang, as it is defining overlapping leaves
in choice/case statements. This fixes the violations by providing
encapsulating containers.
JIRA: BGPCEP-880
Change-Id: I4f4f99a6b4a95ab6c8eb997d5ad97d3101b4f387
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
e4b99745b830d4fddbd4141dbeb72aad34b8b953)
Robert Varga [Mon, 21 Oct 2019 08:20:07 +0000 (10:20 +0200)]
Fix rsvp.yang
This model is not valid yang, as it is defining overlapping leaves
in choice/case statements. This fixes the violations by providing
encapsulating containers, i.e. the content within each case is also
put into a container.
JIRA: BGPCEP-880
Change-Id: I55d1ac7491b2985a29558ec88f90919771b2a753
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
e119dd71b0559dd35abb8dc8b0e3675c14db7aec)
Robert Varga [Wed, 23 Oct 2019 08:53:01 +0000 (10:53 +0200)]
Remove unused imports
pyang validation is turning up warnings about unused imports,
fix them up.
Change-Id: Ib7776ea60bcff8737f000fe7a563978152da13be
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
6ae4199e60ae722e27ee24a1eef096f0c5c6e57a)
Robert Varga [Sat, 14 Sep 2019 23:21:27 +0000 (01:21 +0200)]
Fixup ProtectionCommonParser.serializeBody()
This method cannot really tolerate a nullable Short, make it
operate on a primitive short, adjusting callers and improving
efficiency.
Change-Id: Ic1cbfa9fe8f5854fd72cae1c12c864d4bcdb4460
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
25f2236995926fce69afe3cd378bf2c2e1ea0c9e)
jenkins-releng [Fri, 1 Nov 2019 06:04:48 +0000 (06:04 +0000)]
Bump versions by x.y.(z+1)
Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
Change-Id: Id989f10cdc4582b75540bfafc7d0c459db21a8ed
Anushka Bhandari [Tue, 10 Sep 2019 17:26:50 +0000 (22:56 +0530)]
Update docs header to Sodium in stable/sodium
Should be Sodium on stable/sodium.
Signed-off-by: Anushka Bhandari <anushka16134@iiitd.ac.in>
Change-Id: I826a48db08bd696f3c494ee91377b0835956c926
Robert Varga [Sat, 14 Sep 2019 02:14:59 +0000 (04:14 +0200)]
Bump mdsal to 4.0.6
This picks up the latest fixes.
Change-Id: Ie6f781c266ab05057a0c9e6f4cd0bf4b19aa91ce
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
540ebef5cae821981cd9928f61d7730584667ae1)
Robert Varga [Sat, 14 Sep 2019 02:14:42 +0000 (04:14 +0200)]
Bump yangtools to 3.0.5
This picks up the latest fixes.
Change-Id: Ic37a0d36367f6d89768bec2b92618b4b55aa844f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
bd7593e9cd0bdb0c4d58a1549c32c30f397c72c6)
Robert Varga [Thu, 5 Sep 2019 16:35:17 +0000 (18:35 +0200)]
Bump odlparent to 5.0.2
This bumps odlparent to pick up latest references.
Change-Id: Ica16c98bd6eeeb2530bdc9cee4bb7f198e4a6ab0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
9df441c22ebc101d9c24bf400590a86c96e95be3)
Robert Varga [Sat, 14 Sep 2019 20:22:55 +0000 (22:22 +0200)]
Reduce use of Lists.new*List()
Pure-java 'new ArrayList<>()' is just as efficient, use that
instead.
Change-Id: Ibfe198885df96b5eba55a861d9a7824dd63f8fd0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
6de1531da7659f6a4d391c43aaf57cf7e1f14093)
Robert Varga [Fri, 6 Sep 2019 08:35:46 +0000 (10:35 +0200)]
Fix checkstyle violations
Upgraded checkstyle is finding a few of these, fix them up.
Change-Id: If3f796fe7b6ca3ba292725ddde81fb1d73849050
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
485e1ab24854a171b80ad5b08cec4a907b1a551e)
Robert Varga [Fri, 6 Sep 2019 06:45:44 +0000 (08:45 +0200)]
Migrate NodeIdentifierWithPredicates users
Constructors have been deprecated, as well as getKeyValues().
Migrate to their replacements.
Change-Id: Iaf25f19a0debc62db23be23d3003eb863fde6b53
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
32decf9eada0ad9572607a36ff298b1f6f267baf)
jenkins-releng [Wed, 18 Sep 2019 09:13:25 +0000 (09:13 +0000)]
Bump versions by x.y.(z+1)
Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
Change-Id: Ibab4d7bc41aabf424c4a12e3b283daea138c206b
PeterSuna [Mon, 19 Aug 2019 11:51:10 +0000 (13:51 +0200)]
Set PMSI tunnel attribute transitive.
PMSI tunnel attribute is an optional transitive BGP attribute, as per
https://tools.ietf.org/html/rfc6514#section-5.
Before is was set as a optional non-transitive. Due this flag it
cannot be sent successfully update message with PMSI tunnel attribute
to an Arista device.
JIRA: BGPCEP-877
Change-Id: I50669645e1eb19f14eb14b8f5a5c0217d8983a26
Signed-off-by: PeterSuna <peter.suna@pantheon.tech>
Robert Varga [Thu, 15 Aug 2019 08:38:25 +0000 (10:38 +0200)]
Bump mdsal to 4.0.4
This brings in latest fixes.
Change-Id: I59f89ef4fe76ef16fcdc9b59f8d9b50aa0849847
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
jenkins-releng [Tue, 13 Aug 2019 02:47:26 +0000 (02:47 +0000)]
Update .gitreview to stable/sodium
Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
Change-Id: Iea4c67e1c208511e5f7e2c15d1ba40828e97d5bd
Robert Varga [Thu, 18 Jul 2019 16:17:48 +0000 (18:17 +0200)]
Bump mdsal to 4.0.3
This bumps mdsal to 4.0.3, bringing in latest fixes and improvements.
Change-Id: Ie8e03aab1f31edf80bc9f1d7896c334c9d83be8d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 18 Jul 2019 16:15:19 +0000 (18:15 +0200)]
Bump yangtools to 3.0.4
This picks up latest fixes and improvements.
Change-Id: I03201927d23762acf641c1ab0ff3419ba8b94969
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 18 Jul 2019 16:13:39 +0000 (18:13 +0200)]
Bump odlparent to 5.0.1
This picks up the latest upgrades.
Change-Id: If6006a94197839a9718cd5eae16b0a025913af93
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 1 Aug 2019 08:53:33 +0000 (10:53 +0200)]
Lower incoming message logging to trace
This prevents a flood of messages during testing.
Change-Id: Ib80066ec047982ae3253d9ef95705b9ca95c8b92
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 29 Jul 2019 21:23:13 +0000 (23:23 +0200)]
Move channel message header decoder manipulation
BGPSessionImpl should not be in charge of naming/types of header
decoder. Move this knowledge to BGPMessageHeaderDecoder.
Change-Id: Ic183a9852bce8c7c552dfe7805dbd4f06b0b8fe5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 29 Jul 2019 16:30:38 +0000 (18:30 +0200)]
Use adaptive allocators again
This is a fixup of I865f8c2c949c226d69be8981e1070e96089b3ccb,
which restores the use of adaptive buffer allocators. While the
previous fix was a notable improvement in performance, it could
end up wasting memory on small input messages.
Change-Id: I74b5b5ddfa74b52b86ecd5ba9b9bd8779b4a9e8d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 29 Jul 2019 11:44:28 +0000 (13:44 +0200)]
Correct input buffer sizing
We are always reading at most one message at a time, but provide
a bed initial buffer sizing hint -- we always start with one byte,
which is far from optimal.
This patch corrects this mistake by seeding the session with an
allocator, which allocates 4K buffers.
Change-Id: I865f8c2c949c226d69be8981e1070e96089b3ccb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 25 Jul 2019 22:59:12 +0000 (00:59 +0200)]
Do not throws IAEs when channel fails to close
The approach taken here hides the cause, leading to loss of
information. There is no further action we can take on the session,
hence logging the failure will give us the attention we need.
Change-Id: I13ac5fd17d8cba44d9b8c2971869040adca01fe4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 26 Jul 2019 09:12:34 +0000 (11:12 +0200)]
Simplify BGPSessionImpl.channelInactive()
We do not need to wrap the exception, as it can freely propagate.
Change-Id: Iec12c128d62d7aed380ebdf166bc8a36645779de
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 26 Jul 2019 09:09:10 +0000 (11:09 +0200)]
Do not synchronize BGPSessionImpl.terminate()
All callers are already holding the lock, there is no need to
acquire it again. Annotate terminate() and handleException()
with @Holding instead.
Change-Id: I2d6ff7b36ce8ce226e1a7045871b6a370c5fb7f8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 26 Jul 2019 09:03:52 +0000 (11:03 +0200)]
Do not synchronize notifyTerminationReasonAndCloseWithoutMessage()
Both callers are already holding the lock, hence the method should
not be synchronized itself. Remove synchronized and annotate with
@Holding.
Change-Id: I715054ba81a70d33e50a58c37ea61e8a9c7b71e2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 26 Jul 2019 09:01:09 +0000 (11:01 +0200)]
Fix a bad @GuardedBy annotation
We do not want the reference to be guarded, but rather have
the method protected, hence migrate to @Holding.
Change-Id: I3602b5ec0638bd2ff542f1434b75cbb49688bb13
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 26 Jul 2019 08:57:50 +0000 (10:57 +0200)]
Remove BGPSessionImpl.isWritable()
This method has only one caller, inline it and eliminate an unneeded
null check.
Change-Id: If23adfa383d7ced773f566e2ea02eade30d25678
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 25 Jul 2019 23:28:22 +0000 (01:28 +0200)]
Simplify LOG references
There is no need to refer to LOG via BGPProtocolSessionPromise,
this cleans up the code.
Change-Id: Ifb3c23e14eef23f60e01e67c42a1085409faa49a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 25 Jul 2019 22:38:30 +0000 (00:38 +0200)]
Improve time tracking overheads a bit
We are performing unneeded computation when we are rescheduling
the keepalive timer:
- we always convert the keepAlive timer from seconds to nanos
when checking expiry
- we are forcing netty to translate seconds to nanos again when
we are re-scheduling the timer
- we end up doing a superfluous addition, which then undone when
we are computing the next duration
This normalizes all the timer delays to nanoseconds, so we
eliminate these inefficiencies.
JIRA: BGPCEP-872
Change-Id: Ic5912020a1cfa0df4fc6d4cf401d846cd9140ee4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 24 Jul 2019 08:58:04 +0000 (10:58 +0200)]
Use RouterId's peerId
RouterId acts as a loading cache, hence we can use a squashed instance
of PeerId to lookup into peer tracker.
Change-Id: Ic74d2fa2f79c6dd88eb0d0168687bf8f9435966c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 19 Jul 2019 17:28:08 +0000 (19:28 +0200)]
Optimize BgpAttributeConditionsUtil
We can very slightly optimize dispatch in these utilities by
returning statements. Also rename a confusingly-named local
variable.
Change-Id: Ia68705e82a4830b92111494e32a9ffcfed2943e8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 19 Jul 2019 15:19:57 +0000 (17:19 +0200)]
Cleanup sonar-reported code smells
This is a simple pass over reported issues, making trivial fixes.
Change-Id: If2094f3e9b02ccfea407dd3eddc641937b186170
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 19 Jul 2019 14:26:45 +0000 (16:26 +0200)]
Remove unneeded slf4j-api dependencies from APIs
This dependency is provided by odlparent, there's no point in
repeating it here -- and it properly lowers the scope to provided.
Change-Id: I5ceed07165cac033123336aff43e772d72faea46
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 19 Jul 2019 14:30:14 +0000 (16:30 +0200)]
Remove unneeded yang-binding declarations
This declaration is provided by binding-parent, no need to repeat
it here.
Change-Id: I985b26afda85a6cad66c12eeecb4d50a4c8c9414
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 19 Jul 2019 09:16:10 +0000 (11:16 +0200)]
Remove unneeded test dependency declarations
mockito is a default test dependencies, remove its explicit
declarations.
Change-Id: I0a3c7ca4b82863bdac8d4627422e884d2d0dcda0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
fd9066695182d895ff5df2eaf0986c0cdf917311)
Robert Varga [Fri, 19 Jul 2019 09:04:49 +0000 (11:04 +0200)]
Remove superfluous osgi-core dependencies
These components do not have a dependency on OSGi, remove
the declarations.
Change-Id: I042f87c13d21d4c517cccf8092a28b05ee7e95da
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
9e047e8508d6082bb33f06822d5900ac00d7f937)
Robert Varga [Thu, 18 Jul 2019 18:28:53 +0000 (20:28 +0200)]
Revert "Remove OSGi dependency from bgp modules"
This partially reverts commit
62b37d2c48880f858e7b0503e9bb60d5e168c412,
which breaks CSIT.
JIRA: BGPCEP-873
Change-Id: I0c2f32004a135f561202ed07c57c2b1ebb1c0721
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 18 Jul 2019 13:17:01 +0000 (15:17 +0200)]
Remove duplicate declarations
This is a sweep-up of duplicate declarations which were introduced
by the conversion to use MDSAL APIs.
Change-Id: Ia770e643cec0282f01444b1a7c55ccacaa5c6801
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 8 Jul 2019 12:30:47 +0000 (14:30 +0200)]
Use ImmutableOffsetMapTemplate for route keys
We are sharing the same key layout for all entries, hence it is
wasteful to instantiate a full ImmutableMap for each of them. Use
pre-computed ImmutableOffsetMapTemplate.ordered() to efficiently
instantiate identifiers.
Change-Id: Id3424f95e7e7ad3a6e7ed75715d8505645a45e69
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 8 Jul 2019 12:00:58 +0000 (14:00 +0200)]
Remove RIBSupport.emptyRoutesCase()
This method is not used anywhere really, remove it.
Change-Id: I9ab338cf748b66b63a0d640dfde58634a913377c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 8 Jul 2019 10:37:47 +0000 (12:37 +0200)]
Migrate to mergeParentStructurePut()
This is an intermediate step, eliminating use of the multiplexing
method in favor of being explicit.
Change-Id: I7d4616213eb00b0dd7652fe0f0d2ad47e52eb5b9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 8 Jul 2019 10:31:20 +0000 (12:31 +0200)]
Modernize codebase a bit
This takes a pass through usage of deprecated methods, updating
them to their latest equivalents.
Change-Id: I1b4f3f160dba70782765ec0b6968e6ee08ae09f5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Claudio D. Gasparini [Tue, 6 Nov 2018 16:43:09 +0000 (17:43 +0100)]
Migrate to MD-SAL APIs
This patch mass-migrates bgp/config-loader/bmp to MD-SAL APIs,
adjusting tests and blueprints as needed.
JIRA: BGPCEP-844
Change-Id: I02c6e23faf3a5badfa6d22eee2c8efc1534f8ad9
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 7 May 2019 16:40:51 +0000 (18:40 +0200)]
Update keepalive tracking
We should not be scheduling keepalives too aggressively after we
have exceeded the deadline. Also add some debugs to show when
keepalives are triggered.
Change-Id: I916a9d7f937dc6b062742b2726f4d906d91774ed
JIRA: BGPCEP-872
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 3 Jul 2019 08:40:26 +0000 (10:40 +0200)]
Fix unsynchronized LSP counting
Trying to copy values out of lspData without holding the lock
can result it ConcurrentModificationException and was broken
by the fix for BGPCEP-845.
Restore the lock for the duration of the copy and count the items
outside of the lock.
JIRA: BGPCEP-875
Change-Id: Ic6e839cac51a73c0812aabb58e96cb2f4959c4d6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 1 Jul 2019 20:44:43 +0000 (22:44 +0200)]
Cleanup AbstractEsiType
Cleanup fluent builder use to minimize bytecode footprint, requiring
ByteBuf return from subclasses.
Change-Id: Ie26a894e977a9020edbd777e709ebd36dbd972ff
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 1 Jul 2019 21:26:22 +0000 (23:26 +0200)]
Optimize message parsers
This is a simple pass to optimize builder/ByteBuf usage.
Change-Id: Ic00f4e07ded8b9c5d46473de6a0972d04791f971
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 1 Jul 2019 20:26:36 +0000 (22:26 +0200)]
Cleanup RouteDistiguisherUtil
Use fluent nature of StringBuilder to streamline generated
bytecode.
Change-Id: I9c9cb16c248f3a276bf4f353000733418a4efd8d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 1 Jul 2019 13:20:34 +0000 (15:20 +0200)]
Get rid of JSR305 annotations
This migrates to JDT/checker annotations removing unneeded dependency,
cleaning up code in process.
Change-Id: Id765ea0c67b9449b583963dba659ed680f1e42bd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 31 May 2019 14:12:44 +0000 (16:12 +0200)]
Bump mdsal to 4.0.2
This picks up the latest fixes.
Change-Id: Id5d911ad610bb406003bd22f26c2d2611724d777
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 31 May 2019 14:09:00 +0000 (16:09 +0200)]
Bump yangtools to 3.0.1
This picks up the latest fixes.
Change-Id: I8d1c3bd20dea4de15355b512bae514b1d3c14290
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 1 May 2019 11:46:33 +0000 (13:46 +0200)]
Bump mdsal to 4.0.1
This bumps mdsal to 4.0.1.
Change-Id: I81df5c18a85c595489dbb93f890cb7647daa4d3e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Ajay Lele [Wed, 10 Apr 2019 20:07:02 +0000 (13:07 -0700)]
Fix NPE when no node present in PCEP topology config
Change-Id: Ia6e8be1bbe1f822673ab14a8a38307eb516e13f3
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
Robert Varga [Thu, 14 Mar 2019 11:35:40 +0000 (12:35 +0100)]
Implement Extended Optional Parameters Length
This corrects handling of optional parameters to comply with RFC4271
and adds the ability to use draft-ietf-idr-ext-opt-param-05.
As per the draft, outbound encoding is used only when necessary and
on inbound it is correctly detected when sent by peer.
JIRA: BGPCEP-868
Change-Id: If822d9b9ce4bf982da5f698aac5248b28b0aaa79
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 4 Apr 2019 20:33:32 +0000 (22:33 +0200)]
Bump MDSAL to 4.0.0
This bumps MD-SAL references to 4.0.0 and fixes up for API
incompatibilities.
Change-Id: I978a1d8cf05a744115888a4b6a983e517b72dda1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 4 Apr 2019 20:32:47 +0000 (22:32 +0200)]
Bump yangtools to 3.0.0
This bumps yangtools to 3.0.0, making minor adjustements to cope
with the API changes. We also remove checkstyle-logging, as it no
longer ships from yangtools -- spotbugs is more than competent to
handle the validation provided by checkstyle-logging.
Change-Id: I6c4dedcf46a0761d5e2a65fb1a1a25c2d06255fc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 4 Apr 2019 20:31:31 +0000 (22:31 +0200)]
Bump odlparent to 5.0.0
This bumps all odlparetn references to 5.0.0.
Change-Id: Ia5a4eb29d76d44a9d45d19b026e402f09066e3ef
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 9 Apr 2019 18:01:47 +0000 (20:01 +0200)]
Do not use JdkFutureAdapters in BgpPeerRpc
ChannelFuture provides listeners, hence we can trivially bridge
results without having to listen in a threadpool.
Change-Id: Ia46c5f406b6be50b9eba293ecf80714db99dabf4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 9 Apr 2019 17:18:55 +0000 (19:18 +0200)]
Fix routing-policy-config
The XML contains illegal constructs, not matching the model, leading
to XML parsing exceptions. Fix that.
Change-Id: I3130f925e862ed9b58db3a32a820cac983770ff5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Ajay Lele [Fri, 22 Mar 2019 01:32:49 +0000 (18:32 -0700)]
Provide RPC to fetch PCEP session stats
JIRA: BGPCEP-871
Change-Id: Ia457f3752a004a9abf868d8a53d7c2a46c360263
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
Robert Varga [Thu, 4 Apr 2019 23:43:35 +0000 (01:43 +0200)]
Remove use of AttrBuilders
We are not interfacing with attributes, there is no point to reference
AttrBuilders, which are going away.
Change-Id: I9a82dca47157fdf492216dde2dc415a16bd6c085
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 4 Apr 2019 22:23:19 +0000 (00:23 +0200)]
Fix logging mismatches
Throwables should not be formatted, fix that. Also rework
logging for null tunnels.
Change-Id: I1dbf1b3ce79bbb32b5dbc65b125b405910f7dc88
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Ajay Lele [Sat, 30 Mar 2019 04:10:44 +0000 (21:10 -0700)]
Fix day-1 typo in LU parser registration
Change-Id: I0400092f70ad64a4f8acc65ec9cb6f9e1a09f3e0
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
Kevin Wang [Thu, 26 Oct 2017 22:59:14 +0000 (15:59 -0700)]
BGPCEP-695 Make next-hop attribute value mandatory
An empty element <ipv4-next-hop /> should not be allowed in input.
When ipv4-next-hop or ipv6-next-hop is specified, the global value
must be provided. If no next-hop is provided, default empty-next-hop
will be used.
Change-Id: Idd01a060750c66a14a4341ae592cf58b4feacf02
Signed-off-by: Kevin Wang <kevixw@gmail.com>
Robert Varga [Fri, 15 Mar 2019 06:11:49 +0000 (07:11 +0100)]
Use only our advertized tables to send routes
Previous fix used intersection of advertizements, which is not
accurate: if the peer accepts our proposal, we should be sending
all advertizements, allowing asymmetric setups to work correctly.
JIRA: BGPCEP862
Change-Id: Ie01f2905d76989093b8914fcd08c7a628fa4686a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Ajay Lele [Tue, 12 Mar 2019 22:49:12 +0000 (15:49 -0700)]
Init data-broker before topo-provider registration to prevent NPE
java.lang.NullPointerException: null
at org.opendaylight.bgpcep.bgp.topology.provider.AbstractTopologyBuilder.initTransactionChain(AbstractTopologyBuilder.java:292)
at org.opendaylight.bgpcep.bgp.topology.provider.AbstractTopologyBuilder.start(AbstractTopologyBuilder.java:107)
at org.opendaylight.bgpcep.bgp.topology.provider.config.TopologyReferenceSingletonServiceImpl.instantiateServiceInstance(TopologyReferenceSingletonServiceImpl.java:51)
. . .
JIRA: BGPCEP-870
Change-Id: Iaec5a537cb5125e1355f197222d9265673d779a9
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
Robert Varga [Thu, 14 Mar 2019 15:15:11 +0000 (16:15 +0100)]
Do not allow parameter 255 to be registered
Codepoint 255 is claimed by draft-ietf-idr-ext-opt-param and needs
special treatment. Do not allow it to be registered.
Change-Id: I0cdd8f95569ce1b48796c4552b2c90379aa34873
JIRA: BGPCEP-868
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 14 Mar 2019 10:54:56 +0000 (11:54 +0100)]
Reduce use of Maps.newHashMap() and Sets.newHashSet()
We have the diamond-constructor, which is more explicit, use that
instead of this ancient utility method.
Change-Id: I0685a186e531cafed6f85009ebe795eaea08a049
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 14 Mar 2019 10:14:02 +0000 (11:14 +0100)]
Do not use Lists.newArrayList()
We have star-constructors, which renders newArrayList() superfluous,
reduce its use.
Change-Id: Id6edab86975a810ad624c138ab74ac7e5623f321
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 14 Mar 2019 10:04:36 +0000 (11:04 +0100)]
Fix checkstyle in ietf-stateful07
This fixes all offenders and the flips the switch on.
JIRA: BGPCEP-715
Change-Id: I8a7ab1fa50626413cc1294c69bb471a05d97be6f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 14 Mar 2019 10:57:44 +0000 (11:57 +0100)]
Use ImmutableMap for BGPErrors
This prevents accidental overlaps and improves performance a bit.
Change-Id: Icc6d1227a66c5f287bc95b4a66b7faebfbcc647c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 14 Mar 2019 10:13:14 +0000 (11:13 +0100)]
Use ImmutableMap for PCEPErrors
This prevents coding mistakes like duplicate stores and makes
the search a bit more efficient.
Change-Id: I250a8d6a2934f25171183ae0da79c5bc93429a78
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 14 Mar 2019 09:40:47 +0000 (10:40 +0100)]
Fix checkstyle in pcep-segment-routing
This fixes the offences and flips the switch on.
JIRA: BGPCEP-715
Change-Id: Id7894f5c0f7a592ed7214debf09af3d74f46ad73
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>