bgpcep.git
4 years agoRelease Sodium release/sodium-sr1
jenkins-releng [Thu, 17 Oct 2019 00:40:32 +0000 (00:40 +0000)]
Release Sodium

4 years agoUpdate docs header to Sodium in stable/sodium 95/84295/2
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

4 years agoBump mdsal to 4.0.6 35/84635/1
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)

4 years agoBump yangtools to 3.0.5 34/84634/1
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)

4 years agoBump odlparent to 5.0.2 33/84633/1
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)

4 years agoReduce use of Lists.new*List() 32/84632/1
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)

4 years agoFix checkstyle violations 31/84631/1
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)

4 years agoMigrate NodeIdentifierWithPredicates users 30/84630/1
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)

4 years agoBump versions by x.y.(z+1) 16/84516/1
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

4 years agoSet PMSI tunnel attribute transitive. 63/83763/3
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>
4 years agoBump mdsal to 4.0.4 50/83650/1
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>
4 years agoUpdate .gitreview to stable/sodium 62/83562/1
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

4 years agoBump mdsal to 4.0.3 35/83135/9
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>
4 years agoBump yangtools to 3.0.4 34/83134/8
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>
4 years agoBump odlparent to 5.0.1 33/83133/8
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>
4 years agoLower incoming message logging to trace 46/83346/1
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>
4 years agoMove channel message header decoder manipulation 09/83309/1
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>
4 years agoUse adaptive allocators again 05/83305/5
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>
4 years agoCorrect input buffer sizing 99/83299/4
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>
4 years agoDo not throws IAEs when channel fails to close 61/83261/5
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>
4 years agoSimplify BGPSessionImpl.channelInactive() 74/83274/1
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>
4 years agoDo not synchronize BGPSessionImpl.terminate() 73/83273/1
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>
4 years agoDo not synchronize notifyTerminationReasonAndCloseWithoutMessage() 72/83272/1
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>
4 years agoFix a bad @GuardedBy annotation 71/83271/1
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>
4 years agoRemove BGPSessionImpl.isWritable() 70/83270/1
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>
4 years agoSimplify LOG references 63/83263/3
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>
4 years agoImprove time tracking overheads a bit 59/83259/3
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>
4 years agoUse RouterId's peerId 25/83225/1
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>
4 years agoOptimize BgpAttributeConditionsUtil 83/83183/1
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>
4 years agoCleanup sonar-reported code smells 82/83182/3
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>
4 years agoRemove unneeded slf4j-api dependencies from APIs 81/83181/1
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>
4 years agoRemove unneeded yang-binding declarations 80/83180/1
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>
4 years agoRemove unneeded test dependency declarations 76/83176/1
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)

4 years agoRemove superfluous osgi-core dependencies 74/83174/1
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)

4 years agoRevert "Remove OSGi dependency from bgp modules" 23/82223/5
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>
4 years agoRemove duplicate declarations 14/83114/1
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>
4 years agoUse ImmutableOffsetMapTemplate for route keys 54/82954/2
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>
4 years agoRemove RIBSupport.emptyRoutesCase() 53/82953/1
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>
4 years agoMigrate to mergeParentStructurePut() 52/82952/1
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>
4 years agoModernize codebase a bit 51/82951/1
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>
4 years agoMigrate to MD-SAL APIs 51/77551/13
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>
4 years agoUpdate keepalive tracking 48/81948/3
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>
4 years agoFix unsynchronized LSP counting 05/82905/1
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>
4 years agoCleanup AbstractEsiType 71/82871/8
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>
4 years agoOptimize message parsers 72/82872/7
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>
4 years agoCleanup RouteDistiguisherUtil 70/82870/4
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>
4 years agoGet rid of JSR305 annotations 69/82869/9
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>
4 years agoBump mdsal to 4.0.2 62/82362/3
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>
4 years agoBump yangtools to 3.0.1 57/82357/2
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>
5 years agoBump mdsal to 4.0.1 44/81844/5
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>
5 years agoFix NPE when no node present in PCEP topology config 40/81540/2
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>
5 years agoImplement Extended Optional Parameters Length 54/80854/8
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>
5 years agoBump MDSAL to 4.0.0 84/81384/19
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>
5 years agoBump yangtools to 3.0.0 83/81383/14
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>
5 years agoBump odlparent to 5.0.0 82/81382/11
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>
5 years agoDo not use JdkFutureAdapters in BgpPeerRpc 97/81497/1
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>
5 years agoFix routing-policy-config 96/81496/1
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>
5 years agoProvide RPC to fetch PCEP session stats 07/81107/4
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>
5 years agoRemove use of AttrBuilders 87/81387/1
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>
5 years agoFix logging mismatches 86/81386/1
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>
5 years agoFix day-1 typo in LU parser registration 33/81333/1
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>
5 years agoBGPCEP-695 Make next-hop attribute value mandatory 82/64782/10
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>
5 years agoUse only our advertized tables to send routes 75/80875/3
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>
5 years agoInit data-broker before topo-provider registration to prevent NPE 61/80861/2
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>
5 years agoDo not allow parameter 255 to be registered 55/80855/1
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>
5 years agoReduce use of Maps.newHashMap() and Sets.newHashSet() 49/80849/2
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>
5 years agoDo not use Lists.newArrayList() 48/80848/3
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>
5 years agoFix checkstyle in ietf-stateful07 47/80847/2
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>
5 years agoUse ImmutableMap for BGPErrors 50/80850/2
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>
5 years agoUse ImmutableMap for PCEPErrors 46/80846/2
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>
5 years agoFix checkstyle in pcep-segment-routing 45/80845/1
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>
5 years agoEnforce checkstyle in bgp-linkstate 41/80841/1
Robert Varga [Wed, 13 Mar 2019 14:42:59 +0000 (15:42 +0100)]
Enforce checkstyle in bgp-linkstate

This fixes up a pile of warnings and flips the switch.

JIRA: BGPCEP-713
Change-Id: I0ed6c260558a4fee42c4432da4c137245984c42a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix enable checkstyle in bgp-flowspec 40/80840/2
Robert Varga [Wed, 13 Mar 2019 11:25:22 +0000 (12:25 +0100)]
Fix enable checkstyle in bgp-flowspec

This fixes the violations and flips the switch on.

JIRA: BGPCEP-713
Change-Id: Ia1125469441ea17a8185976bf8a0cd2efab47822
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix SimpleFlowspecIpv4NlriParserTest checkstyle 39/80839/2
Robert Varga [Wed, 13 Mar 2019 11:28:59 +0000 (12:28 +0100)]
Fix SimpleFlowspecIpv4NlriParserTest checkstyle

This is just overly-long lines, reformat to fix it up.

Change-Id: I7daf64e26281c6e7bc4e78a579f13969b09c995c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix checkstyle in RedirectIpNextHopEcHandler 38/80838/2
Robert Varga [Wed, 13 Mar 2019 13:06:35 +0000 (14:06 +0100)]
Fix checkstyle in RedirectIpNextHopEcHandler

Simple offences, like long lines and extra whitespace.

Change-Id: Ib2b5e4fefe4c82073441fdb446d2c67805a69124
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix checkstyle in SimpleFlowspecTypeRegistry 37/80837/2
Robert Varga [Wed, 13 Mar 2019 11:49:32 +0000 (12:49 +0100)]
Fix checkstyle in SimpleFlowspecTypeRegistry

This is just missing whitespace, fix that up.

Change-Id: I99856a89b57ed52478d896a7dc5194a616254025
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix checkstyle in TableTypeActivator 36/80836/2
Robert Varga [Wed, 13 Mar 2019 11:48:43 +0000 (12:48 +0100)]
Fix checkstyle in TableTypeActivator

Simple case of long lines, reformat.

Change-Id: I45c3d1eb5892cf5ff37f3630aa7f8a8847e9c322
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix checkstyle in AbstractFlowspecNlriParser 35/80835/2
Robert Varga [Wed, 13 Mar 2019 11:45:30 +0000 (12:45 +0100)]
Fix checkstyle in AbstractFlowspecNlriParser

- lambda indentation
- split overload methods
- wrong javadoc

Change-Id: I19a4a79474a3a9beb564185dc59e2549ce533abf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoEnforce bgp-rib-impl checkstyle 13/78813/12
Robert Varga [Fri, 14 Dec 2018 23:34:17 +0000 (00:34 +0100)]
Enforce bgp-rib-impl checkstyle

This patch fixes up remaining violations and flips the switch.

JIRA: BGPCEP-713
Change-Id: Idd37bff2d4156fc6b329302bde0e8eba82ca2efd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix RibImpl checkstyle 34/80834/1
Robert Varga [Wed, 13 Mar 2019 11:16:13 +0000 (12:16 +0100)]
Fix RibImpl checkstyle

RIBImpl cannot really throw an exception, remove the declaration
and remove the corresponding catch block.

Change-Id: I54ebdcc33bf0c2163c646be36b79bb5658da6389
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix checkstyle in LocRibWriter 33/80833/1
Robert Varga [Wed, 13 Mar 2019 11:14:33 +0000 (12:14 +0100)]
Fix checkstyle in LocRibWriter

Just suppress the exception we are logging.

Change-Id: Iba51c10ee4c8034b803150c2a8c4c07fb0ff8981
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix checkstyle in BGPClusterSingletonService 32/80832/1
Robert Varga [Wed, 13 Mar 2019 11:12:42 +0000 (12:12 +0100)]
Fix checkstyle in BGPClusterSingletonService

- do not pass ribImpl around
- rename peers to groupPeers
- suppress warnings on our catch blocks

Change-Id: I5acb95829c4b7d5f802ba5bc34de37a3a1f8e893
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix checkstyle in BGPProtocolSessionPromise 31/80831/1
Robert Varga [Wed, 13 Mar 2019 11:08:15 +0000 (12:08 +0100)]
Fix checkstyle in BGPProtocolSessionPromise

Just suppress the exceptions we are catching here.

Change-Id: I28077afe6e45f238778561ec55dc197b5d972aa9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix checkstyle in BGPPeer 30/80830/1
Robert Varga [Wed, 13 Mar 2019 11:03:26 +0000 (12:03 +0100)]
Fix checkstyle in BGPPeer

- rename session and selectionDeferralTimerSeconds by adding a
  'current' prefix
- rename argument to match super declaration
- refactor session closing to a separate method with checkstyle
  suppression

Change-Id: I1a47f3f184677ecd6166be0da31bfe67f7c543cb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix checkstyle in BGPPeerStateImpl 29/80829/1
Robert Varga [Wed, 13 Mar 2019 11:00:19 +0000 (12:00 +0100)]
Fix checkstyle in BGPPeerStateImpl

Rename arguments to not shadow fields.

Change-Id: Ide8ba08aaad590de861a872ebb429f9028ec396b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix checkstyle in CodecsRegistryImpl 28/80828/1
Robert Varga [Wed, 13 Mar 2019 10:58:19 +0000 (11:58 +0100)]
Fix checkstyle in CodecsRegistryImpl

Suppress warning on caught exception and properly log the codec
which caused the failure.

Change-Id: I3d92592c361bf02e264a4debd7da61fb8a328aad
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix checkstyle in BgpDeployerImpl 27/80827/1
Robert Varga [Wed, 13 Mar 2019 10:55:51 +0000 (11:55 +0100)]
Fix checkstyle in BgpDeployerImpl

Rename local variable to prevent a clash and suppress warnings
on catch of exception.

Change-Id: I09c01201f59a7d5d676a62d529364dd525e801aa
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix checkstyle in ApplicationPeer 26/80826/1
Robert Varga [Wed, 13 Mar 2019 10:52:49 +0000 (11:52 +0100)]
Fix checkstyle in ApplicationPeer

Move common parts of write/appear logic so they can be reused in
modify case, eliminating the need for fall-through.

Change-Id: I698c12ef992c5c5ae9abca2a8064a7d0c6e867f2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix checkstyle in BGPSessionStateImpl 19/80819/2
Robert Varga [Wed, 13 Mar 2019 10:43:22 +0000 (11:43 +0100)]
Fix checkstyle in BGPSessionStateImpl

This fixes field shadowing by adding a 'new' prefix.

Change-Id: I666c7475dfc6e0529ebbd47db9420019e3f8fe18
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix checkstyle in BGPSessionImplTest 18/80818/2
Robert Varga [Wed, 13 Mar 2019 10:35:08 +0000 (11:35 +0100)]
Fix checkstyle in BGPSessionImplTest

Rename a local variable and properly assert mocked exception.

Change-Id: I9f5087852f8d6720b9e218debbf86a74edf0942e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix checkstyle in RIBSupportContextRegistry 17/80817/2
Robert Varga [Wed, 13 Mar 2019 10:33:10 +0000 (11:33 +0100)]
Fix checkstyle in RIBSupportContextRegistry

Just move a method to keep overload methods together.

Change-Id: I0790b25224317a1502e771f7c2beefbd43e8697e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix checkstyle in AbstractBGPSessionNegotiator 16/80816/2
Robert Varga [Wed, 13 Mar 2019 10:18:45 +0000 (11:18 +0100)]
Fix checkstyle in AbstractBGPSessionNegotiator

- session refers to instance field
- supress Exception catches
- rename argument

Change-Id: I1647435e13b8ac62b578916faa8a4f5ad8b69ba3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix RIBImpl checkstyle 15/80815/2
Robert Varga [Wed, 13 Mar 2019 10:14:50 +0000 (11:14 +0100)]
Fix RIBImpl checkstyle

This fixes an overly-long line, making checkstyle happier.

Change-Id: Icbcda9f22c27ac38557c197344a1443c4e17e400
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoRename BGPRIBStateImpl 14/80814/2
Robert Varga [Wed, 13 Mar 2019 10:12:31 +0000 (11:12 +0100)]
Rename BGPRIBStateImpl

This fixes checkstyle and makes naming consistent, as this class
implements BGPRibState interface.

Change-Id: I995b16c6a7e1a3270f35ed73e57fcfc01d4b0dc1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix AbstractRIBTestSetup checkstyle 13/80813/2
Robert Varga [Wed, 13 Mar 2019 10:10:53 +0000 (11:10 +0100)]
Fix AbstractRIBTestSetup checkstyle

- do not mask exceptions
- rename test listener class

Change-Id: I003d2b67d064cfeda75a1bbf3275fb275baab5fc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix variable naming 12/80812/2
Robert Varga [Wed, 13 Mar 2019 10:07:19 +0000 (11:07 +0100)]
Fix variable naming

This fixes variable names to comply with checkstyle, by either
changing their name or making them static.

Change-Id: I10242c5088d2d1b41321d98c6b3065e3e10e970b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoMake connectSessionPromise() static 11/80811/2
Robert Varga [Wed, 13 Mar 2019 10:04:12 +0000 (11:04 +0100)]
Make connectSessionPromise() static

This method instantiates a new promise, hence it has no relationship
with the object from which it is being called. Fixes checkstyle
warnings.

Change-Id: I2b5ed703e9234c6faee6fa3ce582c418f0472487
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoRemove OSGi dependency from bgp modules 54/79854/10
Matej Perina [Fri, 11 Jan 2019 09:05:01 +0000 (10:05 +0100)]
Remove OSGi dependency from bgp modules

This change makes modules reusable for projects that
do not use OSGi framework.

BgpPeer, AppPeer and RibImpl creation moved from
blueprint to BgpDeployerImpl.

Change-Id: I1d13ade6f5f8edeb9595ceb94017962401f44ed6
Signed-off-by: Matej Perina <matej.perina@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoRemove superfluous warning 09/80809/1
Robert Varga [Wed, 13 Mar 2019 09:24:48 +0000 (10:24 +0100)]
Remove superfluous warning

Route write path was missing a break; statement, leading to a
warning being emitted when things are perfectly fine.

Change-Id: I418d77ed2efef13c39ee4b40715c1708a45a42fc
JIRA: BGPCEP-869
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoEnforce outbound parameter/capability length 92/80792/3
Robert Varga [Tue, 12 Mar 2019 12:30:26 +0000 (13:30 +0100)]
Enforce outbound parameter/capability length

Capability and Optional Parameter length fields are only single-byte
entities, limiting the size of capabilities to 255 bytes without
overflow.

Rather than emitting an invalid message, catch this error before
writeout so the operator may make adjustments to ensure this limit
is not exceeded.

JIRA: BGPCEP-867
Change-Id: Idecfcfa1e991aadbdf35cd221f9312dea0f6d0c0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>