bgpcep.git
4 years agoRemove bgp-config-example test-jar 99/89699/2
Robert Varga [Tue, 12 May 2020 11:26:00 +0000 (13:26 +0200)]
Remove bgp-config-example test-jar

This is an empty jar, remove it to reduce crud around test jars.

Change-Id: Ib96000d0b40adb0cda67292b1d05e50be1aca66b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoUpdate MRI projects for Aluminium 29/89329/20
Robert Varga [Thu, 23 Apr 2020 08:33:18 +0000 (10:33 +0200)]
Update MRI projects for Aluminium

This bumps versions to the following:
- odlparent-7.0.1
- yangtools-5.0.1
- mdsal-6.0.0
- controller-2.0.0

Change-Id: I019a7cfcca9b986ee4562d787c823604a3d99ec4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFix checkstyle 83/89283/2
Robert Varga [Fri, 24 Apr 2020 15:35:57 +0000 (17:35 +0200)]
Fix checkstyle

Upgraded checkstyle finds a number of issues, fix them up.

Change-Id: I501fe4a7b80efd96cb3904cbb857e1bff9556ae7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 5c8ed0f8cd482fe14b96cab76f79c3d599783166)

4 years agoUpgrade compendium dependency 28/89328/1
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>
4 years agoRemove duplicate dependency 27/89327/1
Robert Varga [Thu, 23 Apr 2020 08:54:37 +0000 (10:54 +0200)]
Remove duplicate dependency

odl-uint24 is mentioned twice here, remove the superfluous
declaration.

Change-Id: I14d1c8faae01f2e88c49a685fdbf9c3685f05a44
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoHandle race-conditions in BGP shutdown code 61/88661/5
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

4 years agoUse Magnesium controller 78/88678/2
Robert Varga [Wed, 25 Mar 2020 21:46:31 +0000 (22:46 +0100)]
Use Magnesium controller

As part of controller transition to being MRI, downgrade the version
used to Magnesium release. This will be bumped to Aluminium proper
during the MRI window.

Change-Id: I093e9ffff19ef7302eca5c0495927bca0e72f3ac
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMaster branch is now Aluminium 25/88725/1
Thanh Ha [Thu, 26 Mar 2020 19:02:42 +0000 (15:02 -0400)]
Master branch is now Aluminium

Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: I5874b08305e5da45c54e2aab2aaf722074e9a146

4 years agoRemove use of projectinfo property 77/88577/1
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>
4 years agoUpdate PCEP Path Computation Documentation 18/88418/1
Olivier Dugeon [Fri, 13 Mar 2020 10:46:18 +0000 (11:46 +0100)]
Update PCEP Path Computation Documentation

Remove 'Known Bug' section in docs/pce/pcep-user-guide-path-computation.rst
as bug has been resolved.

JIRA: BGPCEP-898

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Change-Id: Iec633e7d7310f1cea3f62bc28639974d30b08774

4 years agoFix uninitialized LinkstateGraphProvider registration 14/88414/3
Robert Varga [Thu, 12 Mar 2020 21:02:40 +0000 (22:02 +0100)]
Fix uninitialized LinkstateGraphProvider registration

LinkstateGraphProvider is initializing a field and hence cannot
be registered from super class.

JIRA: BGPCEP-898
Change-Id: Iccf819df69957ebee8de3cbe926a7d13113fb244
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoEnforce field finality 12/88412/4
Robert Varga [Thu, 12 Mar 2020 16:17:10 +0000 (17:17 +0100)]
Enforce field finality

We really want to safely publish whatever we have gotten and want
to reject nulls. This does not solve the underlying issue, but takes
a step in bracketing where it lies.

JIRA: BGPCEP-898
Change-Id: Id465a5dce3c0e4aaeefbaf1dc6f7d36a2a02712b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoPath Computation & Server Improvement 23/88223/5
Olivier Dugeon [Mon, 2 Mar 2020 18:28:35 +0000 (19:28 +0100)]
Path Computation & Server Improvement

 - Correct a bug in SAMCRA algorithm when delay is not specified
 - Improve debug message for SAMCRA algorithm
 - Add documentation for Path Computation Algorithm bundle
 - Update documentation for PCEP with the Path Computation Server

JIRA: BGPCEP-897
JIRA: BGPCEP-896

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Change-Id: I3243c6c1f52f3960c01c64069a075c76ed2fa829

4 years agoPropogate SR SID info from BGP-LS routes in RIB to link-state topology 11/87011/9
Ajay Lele [Thu, 16 Jan 2020 21:24:54 +0000 (13:24 -0800)]
Propogate SR SID info from BGP-LS routes in RIB to link-state topology

JIRA: BGPCEP-365
Change-Id: Ie4d9701459e163aad24ea1cca61e19fc1661d73a
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoPath Computation Server 12/87712/13
Olivier Dugeon [Thu, 16 Jan 2020 14:53:43 +0000 (15:53 +0100)]
Path Computation Server

Initial commit of Path Computation Server.

This is the 3/3 Patch Set to provide Path Computation Element (PCE)
conform to RFC5440. This integrates the Graph model and Algorithms
features. Graph is fulfilled from BGP-LinkState if available otherwise
a graph must be provided.

Details information about how to use the PCE server will be provided
in docs/pcep/pcep-user-guide-pce-server.rst

JIRA: BGPCEP-858

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Change-Id: Ic0552b4c7ad856fe7a7cca214bbaf81f659d876c

4 years agoPath Computation Algorithms 46/87546/14
Olivier Dugeon [Thu, 16 Jan 2020 15:03:08 +0000 (16:03 +0100)]
Path Computation Algorithms

Initial commit of Path Computation Algorithms implementation.

This is the 2/3 Patch Set to implement a full featured PCE server
in conformity to RFC5440. It provides three different algorithms
able to compute paths between end points by taking into account
different constraints:
 - A simple Shortest Path First that takes into account only
   standard IGP metric
 - A Constrained Shortest Path First (CSPF) that takes into
   account the TE Metric and Bandwidth for constraints
 - SAMCRA algorithm that takes into account TE Metric, Delay,
   Loss and Bandwidth for constraints

Details information about how the various algorithms are implemented
and how to use them will be provided in docs/algo directory.

JIRA: BGPCEP-858

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Co-authored-by: Philippe Niger <philippe.niger@orange.com>
Co-authored-by: Philippe Cadro <philippe.cadro@orange.com>
Change-Id: Ifbcf2a65aef08c3fa95a2be54eb53ffdf55dd417

4 years agoGraph modelisation for Path Computation Algorithm 54/86954/31
Olivier Dugeon [Thu, 28 Nov 2019 14:40:07 +0000 (15:40 +0100)]
Graph modelisation for Path Computation Algorithm

Initial commit of Graph Model.

This is the patch set 1/3 to implement the Path Computation Algorithms
to implement a full feature PCE server in conformity to RFC5440.

Details information about the yang model, REST and Java API are
provided in docs/graph directory.

JIRA: BGPCEP-858
Change-Id: Icf7b8320185f9d94377c76cdaecba836b7ef3bc5
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Co-authored-by: Philippe Niger <philippe.niger@orange.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoYANG revision dates mass-update 54/87454/9
guillaume.lambert [Wed, 5 Feb 2020 14:20:11 +0000 (15:20 +0100)]
YANG revision dates mass-update

A previous commit mass-converted YANG models to use -no-zone addresses.
https://git.opendaylight.org/gerrit/c/bgpcep/+/87048
66b8611ab00a626167bf20556d7cbb5ec00ca124

Their revision date should have been changed and the code + other YANG
imports adapted accordingly.

Note that:
- even if there is no ODL guidelines on the topic, this is IETF YANG
  recommendation.
- The RESTCONF payload will remain the same for end-users.
- JAVA API and Datastore contents may be affected
  (potential upgrade compatibility issue from existing Sodium instances)

JIRA: BGPCEP-790 BGPCEP-895

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I526bf90c9e74bc6e72c44da449641a350e12946e

4 years agoUse HashMap.computIfAbsent() in getNode() 70/87870/2
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>
4 years agoBump versions by x.y.(z+1) 85/87985/1
jenkins-releng [Sat, 22 Feb 2020 04:30:15 +0000 (04:30 +0000)]
Bump versions by x.y.(z+1)

Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
Change-Id: Iacdaac7d66938302057ccc275a6959fe040cdf98

4 years agoMass-convert all compontents to use -no-zone addresses 48/87048/15
Robert Varga [Tue, 7 Jan 2020 08:00:19 +0000 (09:00 +0100)]
Mass-convert all compontents to use -no-zone addresses

Rather than taking a step-by-step approach, this patch mass converts
all utilities and ODL models to use -no-zone addresses and fixes up
the fallout from that.

JIRA: BGPCEP-790
Change-Id: Iaa2a8e207aeffd40aa10a4d438587263d053629c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoIgnore unknown subobjects while parsing RRO/ERO objects in PCEP messages 30/87030/4
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>
4 years agoFix buffer read for unsupported LLGR Safi 96/87196/1
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

Signed-off-by: Vikram Singh Kalakoti <vikramskalakoti@gmail.com>
Change-Id: Ib4479f75d70631fff92b8af62f6bd20486a66c2a

4 years agoUse IetfYangUtil.hexStringBytes()/hexStringFor() 53/87053/1
Robert Varga [Mon, 20 Jan 2020 13:44:23 +0000 (14:44 +0100)]
Use IetfYangUtil.hexStringBytes()/hexStringFor()

Utility methods exposed by MD-SAL are quite a bit more efficient, use
them instead of dancing around with strings.

Change-Id: I16dec789353244416dae228f5151fbd2b4c27d6d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMigrate to use MD-SAL's uint24 type 51/87051/2
Robert Varga [Mon, 20 Jan 2020 11:26:30 +0000 (12:26 +0100)]
Migrate to use MD-SAL's uint24 type

MDSAL is providing the type and related utilities, make sure we
pick them up.

Change-Id: I6305b6003502a3cae7a09e1a88de04f6d9fb45ee
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMigrate deprecated assertThat() 50/87050/1
Robert Varga [Mon, 20 Jan 2020 11:21:27 +0000 (12:21 +0100)]
Migrate deprecated assertThat()

This utility is on its way to Hamcrest, migrate it.

Change-Id: Ie1f6fd928096aad59790d5fb53ac71da620def79
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoBump to odlparent-6.0.4/yangtools-4.0.6/mdsal-5.0.9 98/86998/2
Robert Varga [Thu, 16 Jan 2020 21:10:51 +0000 (22:10 +0100)]
Bump to odlparent-6.0.4/yangtools-4.0.6/mdsal-5.0.9

Pick up latest fixes and upgrades.

Change-Id: I03d3d421755f9ed4e01618379f856a4cf3af80bb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoReduce PathKey serialization duplication 59/86759/1
Robert Varga [Mon, 6 Jan 2020 18:45:13 +0000 (19:45 +0100)]
Reduce PathKey serialization duplication

PathKeyUtils.serializePathKey() can take PathKeySubobject, which
makes it readily reusable in RROPathKey128SubobjectParser, reducing
amount of duplication we have.

Change-Id: I23f5c58842c2a1ef073ef3f90b6224247a7a195f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMove ipv4/ipv6 ByteBuf utilities to Ipv{4,6}Util 46/86746/4
Robert Varga [Mon, 6 Jan 2020 15:43:16 +0000 (16:43 +0100)]
Move ipv4/ipv6 ByteBuf utilities to Ipv{4,6}Util

There is little point in criss-crossing between util classes
and ByteBufWriteUtil -- move the methods so they are hosted
in their appropriate classes.

Change-Id: Ifa3326c03372b86843ce45b5c72782142e10d9a5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove use of UnsignedBytes.toInt() 45/86745/3
Robert Varga [Mon, 6 Jan 2020 15:33:11 +0000 (16:33 +0100)]
Remove use of UnsignedBytes.toInt()

As per javadoc, Java 8 users should be using Byte.toUnsignedInt(),
do precisely that -- except where we are getting input from Netty,
where we use readUnsignedByte() instead.

Change-Id: I519b0bad54101d73127b72b2ae67a4f046cac2a6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMove ByteBufWriteUtil.IPV{4,6}_PREFIX_BYTE_LENGTH} 44/86744/2
Robert Varga [Mon, 6 Jan 2020 15:23:36 +0000 (16:23 +0100)]
Move ByteBufWriteUtil.IPV{4,6}_PREFIX_BYTE_LENGTH}

These constants are not used outside of the package, hide them and
move them to their respective Ipv{4,6}Util classes.

Change-Id: Ida261113709c35a95615b9f49dde5d2731f38ed0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoEliminate ByteBufWriteUtil.writeMedium() 43/86743/2
Robert Varga [Mon, 6 Jan 2020 15:06:43 +0000 (16:06 +0100)]
Eliminate ByteBufWriteUtil.writeMedium()

There are only two users of this method, both operating on primitive
type. Switch them to use ByteBuf.writeMedium() and eliminate the
now-unused method.

Change-Id: I22676f9a2e03f2f5603f46d59fb301b59fc34b29
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove ByteBufWriteUtil.writeInt() 42/86742/2
Robert Varga [Mon, 6 Jan 2020 15:01:15 +0000 (16:01 +0100)]
Remove ByteBufWriteUtil.writeInt()

This method has only one user, which is using primitive int. Migrate
the user to ByteBuf.writeInt() and remove the now-unused method.

Change-Id: I9981e7f54d306ce18f2b8b693998b26e6a464f54
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoPurge unused ByteBufWriteUtil methods 41/86741/2
Robert Varga [Mon, 6 Jan 2020 14:57:49 +0000 (15:57 +0100)]
Purge unused ByteBufWriteUtil methods

Most of these methods have an appropriate replacement in either
ByteBufUtils or ByteBuf, or are completely unused. Remove them
along with their tests.

Change-Id: I95e2e8bff6fbfd60471d93470e465ba07ce5ddca
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMigrate pcep-ietf-stateful07 to use ByteBufUtils 40/86740/4
Robert Varga [Mon, 6 Jan 2020 14:26:06 +0000 (15:26 +0100)]
Migrate pcep-ietf-stateful07 to use ByteBufUtils

Most of the parser interactions can be reformulated in terms
of ByteBufUtils, do that.

Change-Id: I7576c9de5649509172c91c6904478fe4be0cf154
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMigrate pcep-base-parser to use ByteBufUtils 31/86731/5
Robert Varga [Sun, 5 Jan 2020 22:50:53 +0000 (23:50 +0100)]
Migrate pcep-base-parser to use ByteBufUtils

Most of the parser interactions can be reformulated in terms
of ByteBufUtils, do that.

Change-Id: I73b97e2d4ff5210c45d7b938a09a57110e8f43cb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoSpecialize Util.writeShortest() for Uint{16,32} 07/86707/5
Robert Varga [Sun, 5 Jan 2020 09:45:04 +0000 (10:45 +0100)]
Specialize Util.writeShortest() for Uint{16,32}

This adds type safety to the picture, so that we end up doing
minimal correct checks on the value supplied. It also allows us
to ditch superfluous use of ByteBufWriteUtils.

Change-Id: Iddf77acd16115ba6b342279f18e6bd1b5411de1c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoSwitch common parsers to utils 30/86730/1
Robert Varga [Sun, 5 Jan 2020 21:09:40 +0000 (22:09 +0100)]
Switch common parsers to utils

Using subclassing is not that useful, as we want to reserve that
for actually providing baseline behavior. Switch to composition
by making utility methods properly static.

Change-Id: Iec2c26a3642347fac21a3cbd4b382e453e337651
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoReduce use oif ByteBufWriteUtil in pcep-segment-routing 20/86720/1
Robert Varga [Sun, 5 Jan 2020 14:20:25 +0000 (15:20 +0100)]
Reduce use oif ByteBufWriteUtil in pcep-segment-routing

ByteBufUtils or ByteBuf methods provide most of what we need, use
upstreams to reduce use of our home-grown utilities.

Change-Id: If166a719f0ad67009c434d97e1347d75369257ad
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoReduce use of ByteBugWriteUtil in BMP 19/86719/1
Robert Varga [Sun, 5 Jan 2020 14:14:12 +0000 (15:14 +0100)]
Reduce use of ByteBugWriteUtil in BMP

Use either direct ByteBuf interaction or ByteBufUtils methods to
provide better speed & simplicity.

Change-Id: Iff91ab0286c06668dd551adcabaaf2046b8467f4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoEliminate use of ByteBufWriteUtil in pcep-spi 15/86715/2
Robert Varga [Sun, 5 Jan 2020 12:15:23 +0000 (13:15 +0100)]
Eliminate use of ByteBufWriteUtil in pcep-spi

ByteBufUtils are much better suited to the task at hand, make sure
we use them.

Change-Id: I53b033af2e178c12eaaac45569ae92ea5b2c09d5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMinimize use of ByteBufWriteUtil in rsvp-impl 14/86714/2
Robert Varga [Sun, 5 Jan 2020 12:09:17 +0000 (13:09 +0100)]
Minimize use of ByteBufWriteUtil in rsvp-impl

ByteBufUtils are up to most of the tasks, make sure we use them
instead of our home-grown utilities.

Change-Id: I34bcc5410774b2c00749a62249d9e4595a13be16
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoEliminate use of ByteBufWriteUtil in rsvp-spi 13/86713/2
Robert Varga [Sun, 5 Jan 2020 11:31:20 +0000 (12:31 +0100)]
Eliminate use of ByteBufWriteUtil in rsvp-spi

Logic in rsvp-spi can easily use ByteBufUtils or direct ByteBuf
methods, remove unneeded use of ByteBufWriteUtil.

Change-Id: Ic12ac3939d4077b18e6d9e29396e8381dd77335c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMinimize use of ByteBufWriteUtil in bgp-parser-impl 12/86712/2
Robert Varga [Sun, 5 Jan 2020 11:20:24 +0000 (12:20 +0100)]
Minimize use of ByteBufWriteUtil in bgp-parser-impl

We can either use direct ByteBuf methods or employ ByteBufUtils
more efficiently.

Change-Id: I5c2c095c12a81007ca581bdd7c6fa493c995c3ca
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMinimize use of ByteBufWriteUtil in bgp-parser-spi 11/86711/2
Robert Varga [Sun, 5 Jan 2020 11:12:11 +0000 (12:12 +0100)]
Minimize use of ByteBufWriteUtil in bgp-parser-spi

Most of the call sites are easily reformulated in terms of either
raw ByteBuf access or ByteBufUtils.

Change-Id: Ie500b13578ed9be0b94f48d335889e2121d8e034
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoEliminate use of ByteBufWriteUtil from route-target 10/86710/2
Robert Varga [Sun, 5 Jan 2020 11:02:37 +0000 (12:02 +0100)]
Eliminate use of ByteBufWriteUtil from route-target

There is a single caller, which can trivially be updated to use
ByteBufUtils with improved efficiency.

Change-Id: I7f636cfc1d7ecb6922bd5e29026d4137783baeba
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoEliminate use of ByteBufWriteUtil from mvpn 09/86709/2
Robert Varga [Sun, 5 Jan 2020 10:57:33 +0000 (11:57 +0100)]
Eliminate use of ByteBufWriteUtil from mvpn

yangtools is providing ByteBufUtils, which are up to all the jobs
we really need for interacting with ByteBuf.

Since we are touching OpaqueUtil, we slightly optimize its
buildOpaqueValue() by reusing splitter/joiner instances.

Change-Id: Ic415d50c2bc1b14098f0a30b663e9d27790c5fdd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMinimize linkstate use of ByteBufWriteUtils 08/86708/2
Robert Varga [Sun, 5 Jan 2020 10:12:24 +0000 (11:12 +0100)]
Minimize linkstate use of ByteBufWriteUtils

Most of the usage of ByteBufWriteUtils can be replaced by
ByteBufUtils or direct interaction with ByteBuf.

Change-Id: I6d381f30c99b4a6f5d6ff5723385df6aa7474cc2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoReduce use of Util.writeShortest() 06/86706/1
Robert Varga [Sun, 5 Jan 2020 09:32:14 +0000 (10:32 +0100)]
Reduce use of Util.writeShortest()

In case we are coming from an Uint8 there really is no point in
going through Util.writeShortest() as the result is always going
to fit in a single byte. Use ByteBufUtils directly to emit that
byte.

Change-Id: I40288d3fa3c149e8effa0fe1c2c8de52f19eeb79
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRedice use of ByteBufWriteUtil in flowspec 05/86705/1
Robert Varga [Sun, 5 Jan 2020 09:20:54 +0000 (10:20 +0100)]
Redice use of ByteBufWriteUtil in flowspec

yangtools is providing ByteBufUtils for dealing with uint types,
use those methods instead of our home-grown ones. In a few cases
going through uints is not necessary, in which case we end up
talking to ByteBuf directly.

Change-Id: If029b90c6773cae0b2428fa6949173c6cb62bca3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMigrate evpn to use ByteBufUtils 04/86704/1
Robert Varga [Sun, 5 Jan 2020 08:51:12 +0000 (09:51 +0100)]
Migrate evpn to use ByteBufUtils

yangtools is providing utility methods similar to ByteBufWriteUtils,
this patch migrates evpn to use those instead of ours.

Change-Id: Ia2f0e16098d3ef6b89fb5e40b4ada60d0411c240
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRefactor RouteDistinguisherUtil 03/86703/2
Robert Varga [Sun, 5 Jan 2020 08:06:24 +0000 (09:06 +0100)]
Refactor RouteDistinguisherUtil

This class is using deprecated ByteBufWriteUtils methods and this
patch refactors it not to, as it only brings invariant checks
to the table.

Serialize method made a dispatcher between the three distinct
implementations.

Each implementation is refactored to first check string validity
by searching for separators -- which is done faster than previous
String.split(String). Only after validation are parts split
and pushed to the buffer.

Change-Id: Ie87fbaf042d75176c584bf15e345c463b4c747f0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoReturn Pcerr from spi.Util 02/86702/2
Robert Varga [Sun, 5 Jan 2020 00:23:33 +0000 (01:23 +0100)]
Return Pcerr from spi.Util

We are creating an error message, let's not pretend it's anything
else -- making the test simpler.

Change-Id: Ic3272385d4fd6a285b8d534d40885f6b0f686e70
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove useless UnsupportedOperationExceptions 01/86701/4
Robert Varga [Sat, 4 Jan 2020 22:22:28 +0000 (23:22 +0100)]
Remove useless UnsupportedOperationExceptions

It is a common (enforced) pattern to hide utility class constructors,
which is sufficient to make sure they are not instantiated.

Throwing UOE from them leads to unneeded byte code, which is hard to
test (via reflection). Remove all instances of such throws.

Change-Id: I68ff3596b44a2196d5450c220a30f98c014f7ba4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMigrate to use yangtools' ByteBufUtils 92/86692/9
Robert Varga [Sat, 4 Jan 2020 07:14:37 +0000 (08:14 +0100)]
Migrate to use yangtools' ByteBufUtils

yangtools provides common set of methods to deal with uint types,
this patch adopts them.

Change-Id: Ib84f546a11d25eab218712a26d8aa49b651cf3e1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove superfluous constants 00/86700/1
Robert Varga [Sat, 4 Jan 2020 15:15:26 +0000 (16:15 +0100)]
Remove superfluous constants

java.lang.{Byte,Short,Integer,Long,Float} define a BYTES constant
since Java 8, use that instead of brewing our own.

Change-Id: If7a8e75c123fef7d79172f22dadb01012de4b1b5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoReduce ByteBuf.writeZero() usage 99/86699/1
Robert Varga [Sat, 4 Jan 2020 14:43:27 +0000 (15:43 +0100)]
Reduce ByteBuf.writeZero() usage

For 1/2/3/4/8-byte output we can use faster methods which put
the appropriately-sized 0 constant into the buffer. Use that.

Change-Id: I2eba6124d1730a7d52a3e992df5542aa080377db
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoAdd uint24.yang 95/86695/4
Robert Varga [Sat, 4 Jan 2020 08:47:58 +0000 (09:47 +0100)]
Add uint24.yang

odl-bgp-evpn defines an explicit uint24 type, which is useful as
low as network-concepts. Separate this type into its own module
and reuse it everywhere we are dealing with a 24 bit unsigned types.

This flushes out unneeded tests in LlGracefulCapabilityHandlerTest,
where we are asserting that DTOs are validating the value -- which
is a given and tested in DTO codegen tests.

Change-Id: I423d1af64b0514aa2b0e2f0f0fca728c062ef89a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFix YANG file formatting in concepts 94/86694/1
Robert Varga [Sat, 4 Jan 2020 08:37:03 +0000 (09:37 +0100)]
Fix YANG file formatting in concepts

We have mis-indented models here, making them hard to read. Fix
indentation.

Change-Id: I80aa153e419292a24379f383d36c15e1fad5716e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoBump odlparent/yangtools/mdsal to 6.0.3/4.0.3/5.0.6 69/86369/4
Robert Varga [Thu, 12 Dec 2019 07:02:19 +0000 (08:02 +0100)]
Bump odlparent/yangtools/mdsal to 6.0.3/4.0.3/5.0.6

Pick up the latest upgrades and fixes.

Change-Id: I3cbe9d29c2e511f7c77658251816bc332d848b10
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFix CSIT regression due to BGPCEP-878 fix 24/86424/2
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

4 years agoTurn PathBindingTlvCodec into an abstract class 81/85981/5
Robert Varga [Tue, 26 Nov 2019 15:34:06 +0000 (16:34 +0100)]
Turn PathBindingTlvCodec into an abstract class

Having PathBindingTlvCodec as a private interface is not completely
useful, as we can use an abstract class instead, simplifying
the API and speeding it up, by eliminating unneeded allocations.

Change-Id: Ia1e3eda5a8333c31a8b929dcb73079fcb6edf581
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRegister PCEP session to stats handler only after it is fully initialized 13/86113/1
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>
4 years agoUse new Uint* constants 92/85992/2
Robert Varga [Tue, 26 Nov 2019 21:24:51 +0000 (22:24 +0100)]
Use new Uint* constants

This uses public constants for TWO and TEN, speeding up things just
a little bit.

Change-Id: Ie9622d28293033b9fbb0bc7b6a5938763cacfe7b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoUse Uint16 for path binding type 80/85980/3
Robert Varga [Tue, 26 Nov 2019 15:25:33 +0000 (16:25 +0100)]
Use Uint16 for path binding type

Bindings have a set domain of unsigned shorts, there is little
reason to use Integers in their stead. This switches lookups and
parsing/serialization to operate on Uint16 instead.

Change-Id: I9db97c39599b2f78406e4a38aacb087cd3dbf864
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoUse direct conversion 78/85978/2
Robert Varga [Tue, 26 Nov 2019 15:12:31 +0000 (16:12 +0100)]
Use direct conversion

Uint types have utility converters for simple conversion among them,
use toUint16() without going through an int (and related checks).

Change-Id: I68927011a5eb933cc67fb1afba258b5d254973d9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove checkstyle/spotbugs plugin overrides 82/85982/1
Robert Varga [Tue, 26 Nov 2019 16:14:55 +0000 (17:14 +0100)]
Remove checkstyle/spotbugs plugin overrides

checkstyle/spotbugs come configured in enforcing mode from odlparent,
hence we do not need to override the configuration.

Change-Id: I067ed0914deb0ff0dfc1d434e87c6ddf70bc9e46
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agopcep: End of code cleaning 93/85593/9
Olivier Dugeon [Tue, 5 Nov 2019 14:19:16 +0000 (15:19 +0100)]
pcep: End of code cleaning

 - Remove remaining call to deprecated functions
 - Change last ListArray by ArrayList

JIRA: BGPCEP-715
Change-Id: I17a57aea67f5ad174967c724bf6ab923987bc85a
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoclean pcep/impl 02/85102/21
guillaume.lambert [Mon, 14 Oct 2019 09:34:05 +0000 (11:34 +0200)]
clean pcep/impl

  - Fix remaining checkstyle errors, mainly IllegalCatch
  - Remove superfluous from PCEPValidatorTest, PcepXROSubobjectParserTest,
    PcepRROSubobjectParserTest and PcepEROSubobjectParserTest
  - Remove call to deprecated functions

JIRA: BGPCEP-715

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Co-authored-by: Olivier Dugeon <olivier.dugeon@orange.com>
Change-Id: Ifff40512f2861246692fbad41de77882c461b2d0
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
4 years agoFix NPE while accessing DomTxChain when bgp/app peer singleton service is restarted 80/84080/6
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>
4 years agoAddress deadlock scenarios in BGP peer, session mgmt code 26/85426/3
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>
4 years agoBump to odlparent-6.0.1/yangtools-4.0.2/mdsal-5.0.4 25/85625/1
Robert Varga [Wed, 6 Nov 2019 15:40:58 +0000 (16:40 +0100)]
Bump to odlparent-6.0.1/yangtools-4.0.2/mdsal-5.0.4

This picks up latest upgrades and fixes.

Change-Id: I8db358b0af81394a561071d98bffea168dda47cc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoClean pcep/base-parser code 25/85325/13
Olivier Dugeon [Tue, 22 Oct 2019 14:18:53 +0000 (16:18 +0200)]
Clean pcep/base-parser code

Fix maven checktyle errors:
 - Missing period at end of first comment for JavaDoc
 - Split line longer than 120 characters
 - Rename XROSRLGSubobjectParser.java to XROSrlgSubobjectParser.java
   and update pcep/impl PCEPXROSubobjectParserTest Junit consequently
 - Replace // fall-through comments by // fallthrough
   for OpenJDK-11 compliance [1]

Improve coding style:
 - Indentation
 - Remove superfluous code when one or several setters
   are called after a builder

[1] https://checkstyle.sourceforge.io/apidocs/com/puppycrawl/tools/checkstyle/checks/coding/FallThroughCheck.html
    https://issues.apache.org/jira/browse/MCHECKSTYLE-383

JIRA: BGPCEP-715
Change-Id: Id7799e2705ae80420f8b4f0ec8f86929b85bc395
Co-authored-by: guillaume.lambert <guillaume.lambert@orange.com>
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
4 years agoFurther removal of unused imports 65/85365/1
Robert Varga [Thu, 24 Oct 2019 08:56:56 +0000 (10:56 +0200)]
Further removal of unused imports

This removes imports reported by pyang as unused.

Change-Id: Ia2d931f95715a935edc6ee79fd4226f797c4549e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFix odl-bgp-policy module file name 64/85364/1
Robert Varga [Thu, 24 Oct 2019 08:58:00 +0000 (10:58 +0200)]
Fix odl-bgp-policy module file name

File name does not match the declared module, fix that.

Change-Id: I541ddb179a8f7843a52aaeb9bee952521a8804d8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFix bgp-segment-routing 24/85324/2
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)

4 years agoFix rsvp.yang 44/85344/3
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)

4 years agoRemove unused imports 39/85339/1
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>
4 years agoRework prependAS() 81/85181/1
Robert Varga [Thu, 17 Oct 2019 13:00:59 +0000 (15:00 +0200)]
Rework prependAS()

We cannot modify lists in-place, so make a proper copy and create
a new list. Fixes the following splat:

java.lang.UnsupportedOperationException: null
at com.google.common.collect.ImmutableList.remove(ImmutableList.java:534) ~[36:com.google.guava:27.1.0.jre]
at org.opendaylight.protocol.bgp.openconfig.routing.policy.statement.actions.AbstractPrependAsPath.prependAS(AbstractPrependAsPath.java:38) ~[232:org.opendaylight.bgpcep.bgp-openconfig-rp-statement:0.13.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.openconfig.routing.policy.statement.actions.LocalAsPathPrependHandler.applyImportAction(LocalAsPathPrependHandler.java:37) ~[232:org.opendaylight.bgpcep.bgp-openconfig-rp-statement:0.13.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.openconfig.routing.policy.statement.actions.LocalAsPathPrependHandler.applyImportAction(LocalAsPathPrependHandler.java:18) ~[232:org.opendaylight.bgpcep.bgp-openconfig-rp-statement:0.13.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.registry.ActionsRegistryImpl.applyImportAction(ActionsRegistryImpl.java:314) ~[231:org.opendaylight.bgpcep.bgp-openconfig-rp-spi:0.13.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.registry.StatementRegistry.applyImportStatement(StatementRegistry.java:82) ~[231:org.opendaylight.bgpcep.bgp-openconfig-rp-spi:0.13.0.SNAPSHOT]

Change-Id: I6f604e8abdb223fe09e44ac92a752bb6e410ed7f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMigrate Gauge64 parsing 31/85131/1
Robert Varga [Tue, 15 Oct 2019 17:32:59 +0000 (19:32 +0200)]
Migrate Gauge64 parsing

64-bit Guage is fixed-length entity, hence use ByteBufUtils's simple
readUint64() without resorting to going through byte arrays.

Change-Id: Iec3303606f5ffc96c66ef7ed184ab57b3a2ed1d3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMigrate LspDbVersion parsing to ByteBufUtils 30/85130/1
Robert Varga [Tue, 15 Oct 2019 17:31:19 +0000 (19:31 +0200)]
Migrate LspDbVersion parsing to ByteBufUtils

This is a simple fixed-length field, there is no point in going
through byte arrays.

Change-Id: Iff5ed97f5539f24f3016612fe1befa25bd26a02c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoAnother round of deprecated constructor migrations 23/85123/2
Robert Varga [Tue, 15 Oct 2019 14:47:55 +0000 (16:47 +0200)]
Another round of deprecated constructor migrations

This migrates another batch of tests to new setters.

Change-Id: Icc5633d480296316019b2c4acf7a8da7d6c809df
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMake PCEPErrors work on Uint8 20/85120/7
Robert Varga [Tue, 15 Oct 2019 14:02:54 +0000 (16:02 +0200)]
Make PCEPErrors work on Uint8

These values are unsinged bytes, make sure we operate on them
rather than forcing conversion to short.

Change-Id: I9c77ad81a7832e74dad8301518fdd727956a48c7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFurther migration of test code from legacy setters 19/85119/10
Robert Varga [Tue, 15 Oct 2019 12:07:48 +0000 (14:07 +0200)]
Further migration of test code from legacy setters

This continues the migration of test code from legacy setters
and cosntructors to explicitly-typed ones.

Change-Id: Iaf3f969ad92a1581a3aab3b3b2a68d8144359cb6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMake BGPError operate on Uint8 17/85117/8
Robert Varga [Tue, 15 Oct 2019 10:06:48 +0000 (12:06 +0200)]
Make BGPError operate on Uint8

Error codes are unsigned bytes, use the proper encapsulation.

Change-Id: I8706fdcd3b87ac45609a08ce6acdf634ddbe90b4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMigrate away from legacy setters 15/85115/7
Robert Varga [Tue, 15 Oct 2019 07:09:57 +0000 (09:09 +0200)]
Migrate away from legacy setters

This migrates away from deprecated setters.

Change-Id: I50acf46d1d13ff88deb46b838a5e524cd89e203a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoAdd ByteBufUtils 00/85100/15
Robert Varga [Mon, 14 Oct 2019 08:56:20 +0000 (10:56 +0200)]
Add ByteBufUtils

This adds ByteBufUtils, which are an evolution of ByteBufWriteUtils,
covering reads of Uint types as well as writing using various approaches
to nullness.

We also migrate all uint reading tasks to these utility methods, fixing
deprecation warnings in the process.

Change-Id: I8466dbff77f8469278df4eb92a2aaebcbdeeb6b8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFix LeafNode conversions 01/85101/4
Robert Varga [Mon, 14 Oct 2019 09:29:29 +0000 (11:29 +0200)]
Fix LeafNode conversions

This hunts down the remaining conversions where we assume widened
uint types.

Change-Id: I2db0a10ca207fad90fa1c71ac1b5981b664aa272
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMigrate DTO builders 89/85089/7
Robert Varga [Sat, 12 Oct 2019 15:51:01 +0000 (17:51 +0200)]
Migrate DTO builders

This migrates trivial cases where we use constants to initialize
DTO builders via deprecated methods.

Change-Id: Ib7ade52cca2a4e0c59379bb8c700e5fb1a111ff7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove use of commons-io 91/85091/2
Robert Varga [Sun, 13 Oct 2019 07:30:16 +0000 (09:30 +0200)]
Remove use of commons-io

We are using commons-io only for reading a resource file, which
we can do equally well with Guava's Resources.toString(URL, Charset).

Change-Id: Ife9f9b4e7fc616156c24a86dae56cecff1c7c4ba
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoUpgrade maven-jxr-plugin 95/85095/1
Robert Varga [Sun, 13 Oct 2019 08:23:19 +0000 (10:23 +0200)]
Upgrade maven-jxr-plugin

Version 3.0.0 has been ouot for some time, upgrade to it.

Change-Id: I1a0da64f8ad32c0e7a42274aebffee09216f25e5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove jdepend-plugin-version declaration 93/85093/1
Robert Varga [Sun, 13 Oct 2019 08:18:57 +0000 (10:18 +0200)]
Remove jdepend-plugin-version declaration

odlparent is defining this at 2.0, do not override to lower
version.

Change-Id: I9d3bc1d244bcd25637439f7ec4464891170514df
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoApply modernization 88/85088/2
Robert Varga [Sat, 12 Oct 2019 15:46:25 +0000 (17:46 +0200)]
Apply modernization

This eliminates modernizer warnings by addressing them or, in the case
of HashTable, concentrates functionality in a method with
@SuppressModernizer.

Change-Id: Ia0ae0ef80aa37025ffbef81fea2f4b3d405e2f8b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoUse java.util.Base64 instead of Guava 87/85087/2
Robert Varga [Sat, 12 Oct 2019 15:36:00 +0000 (17:36 +0200)]
Use java.util.Base64 instead of Guava

Just as pointed out by modernizer, Java provides a built-in alternative
for Base64 encoding.

Change-Id: I2f6e53b695d445e7d61cac3427ac4e0c66557b11
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoclean pcep/impl from most checkstyle errors 11/84911/14
guillaume.lambert [Fri, 4 Oct 2019 08:01:23 +0000 (10:01 +0200)]
clean pcep/impl from most checkstyle errors

and spot with TODO comments the code pieces that need to be modernized.

JIRA: BGPCEP-715
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I84efd98d518a0d615a7762ce5ba29c1e6feef3ba
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoBump mdsal to 5.0.3 65/85065/1
Robert Varga [Fri, 11 Oct 2019 14:11:39 +0000 (16:11 +0200)]
Bump mdsal to 5.0.3

This bumps mdsal to 5.0.3 to workaround issues with Blueprint
injection.

Change-Id: I848c9220ce06ec7b4af304ab64948bdc30257dbd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoUse singleton NodeIdentifierWithPredicates 37/84237/27
Robert Varga [Fri, 6 Sep 2019 06:47:50 +0000 (08:47 +0200)]
Use singleton NodeIdentifierWithPredicates

We do not need to go through SharedSingletonMapTemplate anymore,
as there is a specialized singleton class, which is more efficient.

Change-Id: I21149ec7480a9540d217905a5f65db3b096bbbc6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoSuppress ScheduleException warning 51/85051/1
Robert Varga [Fri, 11 Oct 2019 08:27:16 +0000 (10:27 +0200)]
Suppress ScheduleException warning

The Failure object is not marked as serializable. Suppress the
spotbugs warning and mark a fixme to clean up serialization.

Change-Id: I56c84a06060183e9e5851e3a21d85529f5b9551b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoBump mdsal to 5.0.2 28/84228/26
Robert Varga [Thu, 5 Sep 2019 16:48:14 +0000 (18:48 +0200)]
Bump mdsal to 5.0.2

This bumps mdsal to 5.0.2 as part of Magnesium MRI.

Change-Id: Id9ab45edf28477dca8acf8f7538cfd26f237f6f4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoBump yangtools to 4.0.1 27/84227/24
Robert Varga [Thu, 5 Sep 2019 16:47:50 +0000 (18:47 +0200)]
Bump yangtools to 4.0.1

This bumps yangtools to 4.0.1 as part of Magnesium MRI.

Change-Id: I6228c73d31721c8427e7f456afd5ab3ff715c88b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>