bgpcep.git
5 years agoRelease Fluorine release/fluorine-sr2
jenkins-releng [Mon, 4 Feb 2019 02:41:20 +0000 (02:41 +0000)]
Release Fluorine

5 years agoFix AS number comparison 65/79965/2
Robert Varga [Mon, 28 Jan 2019 18:18:42 +0000 (19:18 +0100)]
Fix AS number comparison

Squashing AS number to an integer makes it possible for it to be
interpreted as a negative number -- which we then fail to squash
to AS_TRANS.

Fix this by forcing the comparison to happen on longs, which does
not suffer from this.

JIRA: BGPCEP-860
Change-Id: Iee10264aef22be70f34b2f122a063331bd0ec142
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 951271e2931d9f3a01fc6a9e3914573018dde2a1)

5 years agoBump to yangtools-2.0.16 36/79736/1
Robert Varga [Sat, 19 Jan 2019 12:29:58 +0000 (13:29 +0100)]
Bump to yangtools-2.0.16

This aligns with odlparent-3.1.6.

Change-Id: I4abebc1b2c34a0b123c495c3b675a69ed1984f32
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoBump to odlparent 3.1.6 33/79633/1
Stephen Kitt [Fri, 18 Jan 2019 09:19:19 +0000 (10:19 +0100)]
Bump to odlparent 3.1.6

Change-Id: I1cae96df64bd8033c464cf84125ad2088c9dfa13
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoBump yangtools to 2.0.15 51/78651/3
Robert Varga [Tue, 11 Dec 2018 13:40:01 +0000 (14:40 +0100)]
Bump yangtools to 2.0.15

This brings in the latest fixes.

Change-Id: I29ca8e0485f9c017cce0494cd7ab02c8ea396092
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix unit of BGP operational neighbor uptime in doc 04/78904/2
Ajay Lele [Tue, 27 Nov 2018 19:31:24 +0000 (11:31 -0800)]
Fix unit of BGP operational neighbor uptime in doc

Change-Id: I3873b68f23b57219d1f7b10170ae414c898bcb50
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
(cherry picked from commit 0e880be052362cf662f03e940d74937ee3d5169c)

5 years agoBump to odlparent 3.1.5 32/78932/1
Stephen Kitt [Fri, 21 Dec 2018 10:47:05 +0000 (11:47 +0100)]
Bump to odlparent 3.1.5

Change-Id: I054c69421a2ebe554b09df37cc73515a25a37d1d
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoDo not rebox pathId 67/78567/3
Robert Varga [Thu, 6 Dec 2018 17:30:14 +0000 (18:30 +0100)]
Do not rebox pathId

Path IDs are stored in boxed array, using a long temporary forces
it to be unboxed, only to be boxed again when we put it into the
list.

Change-Id: I591f1259c61a0bc2c4a410af3810222b4fe7dc87
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 8f4ca9f10562f34e496a32e432d4217f9130a2a8)

5 years agoRIBImpl.vpnTableRefresher should be final 65/78565/3
Robert Varga [Thu, 6 Dec 2018 14:41:01 +0000 (15:41 +0100)]
RIBImpl.vpnTableRefresher should be final

This field not updated from anywhere, make it final.

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

5 years agoSplit out EffectiveRibInWriter.processModifications() 66/78566/2
Robert Varga [Thu, 6 Dec 2018 14:34:59 +0000 (15:34 +0100)]
Split out EffectiveRibInWriter.processModifications()

If we have non-empty modifications, we know we will need a transaction,
separate that handling into a separate method, so we can side-step
null checks.

Change-Id: Ic391790c5ab55a8259849ce330d3af94db3cf6f6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 750f8bb39dc055774a0461797b9b0d95cb9b0cbb)

5 years agoSpeed up PeerSpecificParserConstraintImpl 68/78568/1
Robert Varga [Mon, 3 Dec 2018 10:34:19 +0000 (11:34 +0100)]
Speed up PeerSpecificParserConstraintImpl

This improves design by taking advantage of ClassToInstanceMap,
which provides a type-safe getInstance() method. Furthermore we
recognize that the this class is used mostly for lookups of a few
classes, we use an ImmutableClassToInstanceMap updated concurrently
via a compare-and-set.

This yields significantly faster lookups for the common cases, where
the map is empty or has a single entry. In other cases the speed up
is still there, although not as pronounced.

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

5 years agoOptimize path selectors 22/78522/3
Robert Varga [Thu, 6 Dec 2018 11:48:15 +0000 (12:48 +0100)]
Optimize path selectors

Creating multiple object just for the purposes of LOG.trace() is
utterly wasteful. Guard the LOG.trace() with isTraceEnabled() and
also expose a String-only formatter.

Change-Id: If6f3011e89772f82948816a975034a38a82a7922
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix RouteKey and surrounding code 21/78521/3
Robert Varga [Thu, 6 Dec 2018 11:39:20 +0000 (12:39 +0100)]
Fix RouteKey and surrounding code

This cleans up RouteKey to be a properly-designed and efficient
DTO:
- prevent useless boxing
- use proper prime in hashCode
- make sure nullness is propagated
- improve compareTo performance

Change-Id: Ibfa1f57fee8dbc4a0a4c1a0f0e47664b48f4d055
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoRemove unneeded casts 20/78520/3
Robert Varga [Thu, 6 Dec 2018 10:57:50 +0000 (11:57 +0100)]
Remove unneeded casts

We already are comparing longs, no need to cast.

Change-Id: I96b9bb5e4a85a96236295abb995bb8b421a57039
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoPrevent unnecessary boxing in AddPathBestPath 19/78519/3
Robert Varga [Thu, 6 Dec 2018 11:56:18 +0000 (12:56 +0100)]
Prevent unnecessary boxing in AddPathBestPath

The callers are of two varieties: boxed and unboxed. Unboxing is
inherently faster, hence force the single boxed callsite to unbox
allowing us to convert it when needed.

Change-Id: Ie4d80398724b2f98a186e500c73e33ed1775a406
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoPrevent boxing of AS in BasePathSelector 18/78518/3
Robert Varga [Thu, 6 Dec 2018 11:52:10 +0000 (12:52 +0100)]
Prevent boxing of AS in BasePathSelector

Superclass uses long, just as all callers. Ditch intermediate
boxing.

Change-Id: I67e8678ebbac4084460e69766686b0feb25ae3db
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoOptimize AbstractBestPathSelector 17/78517/3
Robert Varga [Wed, 5 Dec 2018 17:15:52 +0000 (18:15 +0100)]
Optimize AbstractBestPathSelector

There are inefficiencies in how we compare local preference, let's
refactor the code to have clear comparisons without unnecessary
boxing.

Also remove implicit boxing of AS numbers, as we are already getting
them as primitive longs.

Change-Id: I3cbba14fa2c2bd2add35c0f827da8ba4a06a0b4b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoMerge ActualBestPathRoutes and AdvertizedRoute 84/78484/5
Robert Varga [Wed, 5 Dec 2018 21:22:27 +0000 (22:22 +0100)]
Merge ActualBestPathRoutes and AdvertizedRoute

These two classes are almost identical, extract the common bits
to a common superclass, reducing complexity and allowing them
us to share codepaths.

Change-Id: Ib6bbf1e4285ed0f1376d932367c8cb0d3f6f2662
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoClean up PeerTrackerInformation 16/78516/3
Robert Varga [Wed, 5 Dec 2018 14:05:00 +0000 (15:05 +0100)]
Clean up PeerTrackerInformation

Fix documentation and add a final qualifier.

Change-Id: I19446071c07b1613629501f137b6db90cc9daeeb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoReduce use of newArrayList()/newHashSet() 14/78514/3
Robert Varga [Tue, 20 Nov 2018 12:10:44 +0000 (13:10 +0100)]
Reduce use of newArrayList()/newHashSet()

These methods are not needed with modern java, do not use them.

Change-Id: If6cb8780f2277c80ef84d72daa89f92833677e84
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoRequire Peer to return a FluentFuture 13/78513/3
Robert Varga [Tue, 20 Nov 2018 12:01:51 +0000 (13:01 +0100)]
Require Peer to return a FluentFuture

Rather than specifying ListenableFuture, make sure we get a FluentFuture.

Change-Id: I35999c0c7ae8c0c5fa64fdbf4391b6604c60f91c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoCorrect infinite loop in base parser 11/78511/2
Olivier Dugeon [Wed, 28 Nov 2018 13:15:28 +0000 (14:15 +0100)]
Correct infinite loop in base parser

When sending a PCReply message with more than one ERO object, as per RFC540,
the PCEP base parser start infinite loop and stop with a java heap exception.

The problem is located in PCEPReplyMessageParser.java (pcep-base-parser
package) at line 217 in handleEro() method. handleEro() is called with the first
ERO object and remaining object to parse metrics associated with this ERO. The
parsing is done by parserPath() method, but this method expect to find only
metrics object. When a second ERO follow the last metric of the first ERO,
parsePath() method do nothing and handleEro() method start infinite loop at line
220 as the object list is not empty and parsePath() will not empty it.

This patch replace handleEro() method by handleEros() in order to parse
correctly multiple ERO in PCReply message. It also add a new test in
PCEPValidatorTest.java class: testPCRepMsgWithTwoEros() in order to verify
that a PCPep Message with two EROs is correctly parse.

JIRA: BGPCEP-851 PCEP base parser is unable to handle multiple ERO

Change-Id: I194b7cbb347a3b377e7b3000f93ef1d21a86f39a
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
(cherry picked from commit 367772ab24152242563a16d120441b353315c49f)

5 years agoDo not always update eff-rib-in attributes 23/78523/1
Robert Varga [Wed, 5 Dec 2018 19:08:56 +0000 (20:08 +0100)]
Do not always update eff-rib-in attributes

Check if the attributes changed before propagating the change,
reducing the number of operations executed.

Change-Id: I6435a50aefbaefabec86f8d6d7f220c9a1bfaa20
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 46f0711945e64a0184704aafded51e7576d32ddd)

5 years agoFix isFirstBestPath brain damage 83/78483/2
Robert Varga [Wed, 5 Dec 2018 21:26:28 +0000 (22:26 +0100)]
Fix isFirstBestPath brain damage

Using a List.indexOf() followed by equality to 0 is ... inefficient
to say the least.

Kill isFirstBestPath() and use a simple check against the first path,
if the list is non-empty.

Also optimize list allocation and remove useless copying while we're
at it.

Change-Id: Ia1a48736ff363ab15776b9f188207720f23169e2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix eclipse nullness warnings 74/78474/1
Robert Varga [Wed, 5 Dec 2018 16:49:56 +0000 (17:49 +0100)]
Fix eclipse nullness warnings

Eclipse does not understand that Attributes is expected to be
immutable, hence it emits warnings about items being potentially
null.

Since normally we get attributes from the datastore, it is actually
helpful to store them in local variables, preventing roundtrips
to LazyDataObject -- fixing warnings as well.

Change-Id: I82fc82a69b07c739af566a069d225bbf18db98ae
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoBGP Stats collector 83/77683/5
Claudio D. Gasparini [Mon, 12 Nov 2018 07:12:03 +0000 (08:12 +0100)]
BGP Stats collector

simplify synchronization of stats

JIRA: BGPCEP-846
Change-Id: I55d30f9cddb33006fb8d2519ddbe9f8b330de71b
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
(cherry picked from commit 25edf1985a1cbd50dd042a98525398569fefd420)

5 years agoDecouple and create features per each topology bundle 95/78395/2
Claudio D. Gasparini [Mon, 3 Dec 2018 08:17:08 +0000 (09:17 +0100)]
Decouple and create features per each topology bundle

Change-Id: I06e914041d48b4aefb6d234094f6c2af0f94b55b
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoUse features instead od bundles 44/78344/1
Claudio D. Gasparini [Sun, 2 Dec 2018 20:26:45 +0000 (21:26 +0100)]
Use features instead od bundles

under existent features. Avoid duplication

Change-Id: Ia7503d65e7b63d82de114c8d9485028ba6de8984
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoUse templates for predicates 79/78179/3
Robert Varga [Mon, 26 Nov 2018 09:48:50 +0000 (10:48 +0100)]
Use templates for predicates

This speeds up instantiation slightly.

Change-Id: I325ff2e7ffe197553d922abd0169d5b21e15e483
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoBump yangtools to 2.0.13 39/78139/1
Robert Varga [Mon, 26 Nov 2018 09:04:02 +0000 (10:04 +0100)]
Bump yangtools to 2.0.13

This bumps yantools to latest 2.0.x release.

Change-Id: If2c6edb882e0258dfc50c198b3e80144c49592a2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoEncode with Base64 Linkstate route key 59/77659/2
Claudio D. Gasparini [Fri, 9 Nov 2018 15:03:11 +0000 (16:03 +0100)]
Encode with Base64 Linkstate route key

Change-Id: Ib9e9803d6c8287dffb97e9c89b5e975db60bc979
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoSolve deadlock 54/77554/2
Claudio D. Gasparini [Tue, 6 Nov 2018 12:26:37 +0000 (13:26 +0100)]
Solve deadlock

JIRA: BGPCEP-841
Change-Id: I9daaa786e9d1b1cf7aa74141d346f1bd86b36452
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoFix application peer handling of DISAPPEARED / APPEARED case 30/77630/2
Claudio D. Gasparini [Thu, 8 Nov 2018 16:36:53 +0000 (17:36 +0100)]
Fix application peer handling of DISAPPEARED / APPEARED case

JIRA: BGPCEP-843

Change-Id: I82368d8cf029ffe83391333c6e11633511688b69
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agouse multi thread executor in unit tests 80/77780/3
Matej Perina [Wed, 14 Nov 2018 11:11:16 +0000 (12:11 +0100)]
use multi thread executor in unit tests

- instantiatie AbstractConcurentDataBroker the way to use
  CachedThreadPoolExecutor instead of DirectExecutor
- with new executor we are not in sync with .get() on transaction
  future, so timers continuos verification with timeout is used
  in tests where needed

JIRA: BGPCEP-847

Change-Id: I86cbe54a17e65d4ac7bdc7ca447ac58f345c473a
Signed-off-by: Matej Perina <matej.perina@pantheon.tech>
(cherry picked from commit 99daf02ad6b9f722e581cadaf101e1bff31366f1)

5 years agoRemove duplicate message type check 83/77983/2
Robert Varga [Tue, 20 Nov 2018 11:59:44 +0000 (12:59 +0100)]
Remove duplicate message type check

Rather than performing two instanceof checks, use an if/else
construct to dispatch message.

Change-Id: I4ce5aba7e1c826fe343b279c9767193d0ba83154
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix an eclipse nullness warning 39/77839/2
Robert Varga [Wed, 14 Nov 2018 21:14:43 +0000 (22:14 +0100)]
Fix an eclipse nullness warning

Eclipse (rightfully) flags this access as potentiall null. Since
we are invoking an interface getter, it is not statically known that
the two invocations will return the same value.

Cache the second field access in a local variable, which ensures
we access the property exactly once, which keeps eclipse happy.

In case the implementation LazyDataObjectModification, this has
the benefit of not deserializing twice.

Change-Id: Idfb8c631bc0267a63710c2cb650e6bda1c227df3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 440ffab6b7f7f1e5148641c2202aff6eed827c93)

5 years agoBump versions by x.y.(z+1) 94/77994/1
jenkins-releng [Tue, 20 Nov 2018 23:48:13 +0000 (23:48 +0000)]
Bump versions by x.y.(z+1)

Change-Id: I22fa38d2a00ccaf0984c7b66e5d661d96c68c4f4
Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
5 years agoRemove unnecesary feature 68/77468/1
Claudio D. Gasparini [Fri, 2 Nov 2018 17:11:45 +0000 (18:11 +0100)]
Remove unnecesary feature

from config loaader feature

Change-Id: I48b767c52265f50072bb82afde7df8b1c5dede97
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
(cherry picked from commit 8597ba2ad92ffeb5ed9644fcd691880e567fcb9f)

5 years agoFix handleDeletions 66/77466/1
Claudio D. Gasparini [Fri, 2 Nov 2018 16:50:05 +0000 (17:50 +0100)]
Fix handleDeletions

JIRA: BGPCEP-840
Change-Id: Icef3407608e526f95621ae786524b70c0358d3d1
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
(cherry picked from commit 8f2d7c68510198b33f93185094a065abc18ed863)

5 years agoremove redundant ImmutableMap call 71/77171/3
Matej Perina [Mon, 22 Oct 2018 11:05:06 +0000 (13:05 +0200)]
remove redundant ImmutableMap call

Change-Id: Idfbbfa44a0835a9caaf0c094b89a2c841224bb09
Signed-off-by: Matej Perina <matej.perina@pantheon.tech>
5 years agouse thread-safe list in ConfigLoaderImplTest 81/77381/1
Matej Perina [Wed, 31 Oct 2018 10:22:13 +0000 (11:22 +0100)]
use thread-safe list in ConfigLoaderImplTest

- to prevent ConcurrentModificationException in
  situation when List.stream() is called at same
  time as List.clear()

JIRA: BGPCEP-829

Change-Id: I9e69971de5ec75ca515e81e2b95fe44e50489fda
Signed-off-by: Matej Perina <matej.perina@pantheon.tech>
5 years agoFix LEAK: ByteBuf.release() 93/77293/2
Claudio D. Gasparini [Fri, 26 Oct 2018 08:36:24 +0000 (10:36 +0200)]
Fix LEAK: ByteBuf.release()

JIRA: BGPCEP-839
Change-Id: I07692d26e7b8cbb3b1134a61f2ea0c5947b8bd81
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoFix LinkstateTopologyBuilder NPE 41/77241/1
Claudio D. Gasparini [Wed, 24 Oct 2018 06:16:56 +0000 (08:16 +0200)]
Fix LinkstateTopologyBuilder NPE

JIRA: BGPCEP-838

Change-Id: Ie5ba13434245195d77e3c29850cf54ef973e3441
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoBump to odlparent 3.1.4 and yangtools 2.0.12 49/76849/5
Stephen Kitt [Thu, 11 Oct 2018 09:47:01 +0000 (11:47 +0200)]
Bump to odlparent 3.1.4 and yangtools 2.0.12

Also add jaxb-api to dependencies, as we are using DataTypeConverter
from this package.

Change-Id: Id1007af6d0052f65d1105514a14d08bf1398ab3d
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoInclude Routes Node when generating route path 54/77054/1
Claudio D. Gasparini [Wed, 17 Oct 2018 06:40:04 +0000 (08:40 +0200)]
Include Routes Node when generating route path

Given that it is common node, therefore
duplicate code can removed and is easier for user.

Change-Id: I5babaf17c9b70258aa7772e7cd5c443dcad9a442
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoRemove unneeded references to yang-maven-plugin 84/76984/1
Robert Varga [Sun, 14 Oct 2018 01:48:40 +0000 (03:48 +0200)]
Remove unneeded references to yang-maven-plugin

This artifacts do not contain a yang model, there is no point
in invoking the plugin.

Change-Id: I8f9dc452e61542310bd28afc3dc024551f754c28
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 225040a646751901e50597dabfd8128161cfe188)

5 years agofix concurrent access to config file 98/76798/2
Matej Perina [Tue, 9 Oct 2018 10:28:27 +0000 (12:28 +0200)]
fix concurrent access to config file

- calling handleConfigFile from two differrent threads was
  causing ConncurentModificationException in ConfigLoaderImpl
  test

JIRA: BGPCEP-829

Change-Id: I9ada792c98aafc06daa8971b75df22b85b3ff4c1
Signed-off-by: Matej Perina <matej.perina@pantheon.tech>
5 years agoHandle RT removal at different level 16/76716/1
Claudio D. Gasparini [Fri, 5 Oct 2018 19:50:28 +0000 (21:50 +0200)]
Handle RT removal at different level

under eff-rib-in.

JIRA:BGPCEP-830

Change-Id: Id0539fe1334a03847c1cfeb66dfb074821e8b6ae
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoBump yangtools-2.0.11 40/76140/1
Robert Varga [Mon, 17 Sep 2018 09:02:01 +0000 (11:02 +0200)]
Bump yangtools-2.0.11

This brinsg in the latest fixes.

Change-Id: I488d974f26b8478b6d60381f48c54e6a85f14c59
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoMigrate bgpcep docs to the bgpcep project 69/75869/1
Thanh Ha [Sun, 9 Sep 2018 00:36:10 +0000 (20:36 -0400)]
Migrate bgpcep docs to the bgpcep project

Issue: DOCS-69
Change-Id: I855bbc445316b0b0fef428666cd31eb56f7bac12
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
5 years agoBootstrap bgpcep documentation 68/75868/1
Thanh Ha [Sun, 9 Sep 2018 00:30:30 +0000 (20:30 -0400)]
Bootstrap bgpcep documentation

Issue: DOCS-69
Change-Id: Ia94987eddf0ce52e73b1244770a97f43555e4a8b
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
5 years agoBGPCEP-826: Add route target extension StatementActivator service 87/75687/1
Claudio D. Gasparini [Mon, 3 Sep 2018 14:23:45 +0000 (16:23 +0200)]
BGPCEP-826: Add route target extension StatementActivator service

to META-INF.services

Change-Id: Iab969af474936dd226d255d5bf6d618d0b3845ba
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoReturn Set instead of Iterable in test setup 63/75563/2
Robert Varga [Mon, 20 Aug 2018 18:02:27 +0000 (20:02 +0200)]
Return Set instead of Iterable in test setup

This allows us to define equality in superclass, hence return
proper Set.

Change-Id: Ic37c3283ff234181320201f18e14047d6aa92d37
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 3ac945ff239a96c6e9a814e900ada0258ccbbe47)

5 years agoFix findbugs warnings 62/75562/2
Robert Varga [Mon, 20 Aug 2018 15:29:30 +0000 (17:29 +0200)]
Fix findbugs warnings

These bugs are reported by upgraded findbugs, fix them prior
to the actual upgrade.

Change-Id: I0c21059a289abec1631f3a7b324c771091930804
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 4ab0ad7fd8743175737b390dae5d13d0736f6ecc)

5 years agoBump versions by x.y.(z+1) 75/75575/1
jenkins-releng [Thu, 30 Aug 2018 16:51:19 +0000 (16:51 +0000)]
Bump versions by x.y.(z+1)

Change-Id: I212f6e70526d8e8611677502d3922c9c03818256
Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
5 years agoUpdate .gitreview to stable/fluorine 68/74968/1
Anil Belur [Thu, 9 Aug 2018 12:12:24 +0000 (17:42 +0530)]
Update .gitreview to stable/fluorine

Change-Id: Ie124ca1eb155de44e2076e17aba9cac3b84b04eb
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
5 years agoBump yangtools to 2.0.10 84/74884/1
Robert Varga [Mon, 6 Aug 2018 15:48:24 +0000 (17:48 +0200)]
Bump yangtools to 2.0.10

This fixes an issue with actions, hence we need it in Fluorine.

Change-Id: Ie12ee96d9659441d45a144cc99ef46af912dab76
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoUse newly-introduced type-safe methods 24/74724/2
Robert Varga [Wed, 1 Aug 2018 09:47:52 +0000 (11:47 +0200)]
Use newly-introduced type-safe methods

New methods allow us to precisely target specific case items.

Change-Id: I22c3df0c9bb94767b769020e3d87cad9b4cf7f2d
JIRA: MDSAL-342
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoWorkaround for jenkins Route target test 41/74741/1
Claudio D. Gasparini [Wed, 1 Aug 2018 14:48:48 +0000 (16:48 +0200)]
Workaround for jenkins Route target test

JIRA: BGPCEP-817
Change-Id: I4bb5bbc0c39388669bb811ad85b12df2394a21f6
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoAdjust for API change 07/74607/2
Robert Varga [Sat, 28 Jul 2018 09:50:45 +0000 (11:50 +0200)]
Adjust for API change

Returned collection type changed slightly, fix that up.

Change-Id: Ib0fede6f8646692d8a9c06740572f51063ba8ccf
JIRA: MDSAL-342
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoBump yangtools to 2.0.9 70/74570/1
Robert Varga [Fri, 27 Jul 2018 12:06:00 +0000 (14:06 +0200)]
Bump yangtools to 2.0.9

This patch bumps yangtools to latest release.

Change-Id: Ie31438a7ce35a149f72a8b024ac2e19e4b736bcd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agofix timing issue in server creation for BmpMockTest 90/74390/6
Matej Perina [Tue, 24 Jul 2018 10:55:24 +0000 (12:55 +0200)]
fix timing issue in server creation for BmpMockTest

- add wait unitl server is created

Change-Id: Id217822e57be8c7df1139341af9ade2517dad516
JIRA: BGPCEP-815
Signed-off-by: Matej Perina <matej.perina@pantheon.tech>
5 years agoBump to odlparent 3.1.3 91/74191/3
Stephen Kitt [Wed, 18 Jul 2018 16:06:37 +0000 (18:06 +0200)]
Bump to odlparent 3.1.3

Change-Id: I10266e55e95d2697ab8c92c47ac0f08c05a31d71
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoUse moved BindingReflections 67/74367/8
Robert Varga [Tue, 24 Jul 2018 01:02:46 +0000 (03:02 +0200)]
Use moved BindingReflections

BindingReflections is moving away, make sure we are using the new
version.

Change-Id: I972cad0c094457519a12dba058d43836b045a78c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoReduce use of waitFutureSuccess utility 72/74272/3
Claudio D. Gasparini [Fri, 20 Jul 2018 08:21:31 +0000 (10:21 +0200)]
Reduce use of waitFutureSuccess utility

Change-Id: I5c24101645c592052155402cc3835e63dfc690d1
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoRework BmpMockDispatcherTest 67/74267/4
Claudio D. Gasparini [Fri, 20 Jul 2018 06:51:43 +0000 (08:51 +0200)]
Rework BmpMockDispatcherTest

- Use test timeout instead of waitFutureSuccess utility
- use blocking futures

JIRA: BGPCEP-814
Change-Id: If21621f2e0aaf3c903671f395d051d6dfca0daa0
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoFix calculation and roll-over of BGP operational neighbor uptime value. 58/74158/3
Ajay Lele [Tue, 17 Jul 2018 21:09:14 +0000 (14:09 -0700)]
Fix calculation and roll-over of BGP operational neighbor uptime value.

Change-Id: I15211d925664f275f1980df863cf6cefce8c0ba4
JIRA: BGPCEP-813
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
5 years agoCleanup feature dependencies 39/74239/1
Robert Varga [Thu, 19 Jul 2018 13:21:57 +0000 (15:21 +0200)]
Cleanup feature dependencies

Some of our basic features do a rather massive over-inclusion,
fix that.

Change-Id: I483d6b9d83b60087c64589abb19d7fa13e3ff75c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoRemove powermock dependency 85/74185/1
Robert Varga [Wed, 18 Jul 2018 11:31:39 +0000 (13:31 +0200)]
Remove powermock dependency

powermock is not used anywhere, remove the dependency declaration.

Change-Id: I475eda21b1448cbab46837796f03bdaef409fbfb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoMinimize model dependencies 90/74090/1
Robert Varga [Mon, 16 Jul 2018 21:17:03 +0000 (23:17 +0200)]
Minimize model dependencies

Change-Id: I829e2411b605963ad642b8a9255297ed1b7cd208
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoUse union stringValue() 51/74051/2
Robert Varga [Sun, 15 Jul 2018 22:39:22 +0000 (00:39 +0200)]
Use union stringValue()

getValue() is going away, use stringValue(), which is its replacement.

Change-Id: I1112f5417bb41bd21b7a53913b615afc4c34c190
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoRevert "Add mdsal-dom-api dependency" 87/73987/1
Claudio David Gasparini [Thu, 12 Jul 2018 16:32:53 +0000 (16:32 +0000)]
Revert "Add mdsal-dom-api dependency"

This reverts commit cb0fe804f72ec0c8fb7a002dcf2c64d6b097d489.

Change-Id: I106d1d102fc3b1c9a611cfe05d691aa319131c03
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoAdd mdsal-dom-api dependency 58/73958/2
Robert Varga [Wed, 11 Jul 2018 21:13:05 +0000 (23:13 +0200)]
Add mdsal-dom-api dependency

We are now getting mdsal-dom-api, make sure we account for that.

Change-Id: Ib736e51b4ca833b7748d2b2741408d1695386018
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoConvert rsvp-api to use ip-address-no-zone 65/72765/11
Robert Varga [Thu, 7 Jun 2018 15:28:52 +0000 (17:28 +0200)]
Convert rsvp-api to use ip-address-no-zone

First step in conversion, more to follow.

Change-Id: I94c7efcdb5fdb6248797105e73e4cacd5b7f5816
JIRA: BGPCEP-790
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoAdd required mdsal-dom-api test dependency 65/73965/1
Claudio D. Gasparini [Thu, 12 Jul 2018 06:42:56 +0000 (08:42 +0200)]
Add required mdsal-dom-api test dependency

Change-Id: If7dbb7302d25c09ae5b4b4c839632fbb2b817371
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoHandle no present ext community for VpnNonMemberHandler 66/73866/2
Claudio D. Gasparini [Tue, 10 Jul 2018 06:51:34 +0000 (08:51 +0200)]
Handle no present ext community for VpnNonMemberHandler

avoiding possible NPE

JIRA: BGPCEP-811
Change-Id: I1a597d712bb847ca5708345248c2b06766ecd002
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoFix invalid models 54/73854/2
Robert Varga [Mon, 9 Jul 2018 17:18:04 +0000 (19:18 +0200)]
Fix invalid models

These models do not contain correct import stanzas and were resolved
accidentally via prefixes declared in modules thy are importing.

JIRA: YANGTOOLS-889
Change-Id: Ia94e3f78ed4a9aec8b55743b821373738b4e6c54
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix invalid tests 60/73760/1
Robert Varga [Wed, 4 Jul 2018 18:06:00 +0000 (20:06 +0200)]
Fix invalid tests

Generated unions are enforcing length/range of included types,
which means unit tests which use illegal values need to be fixed
up.

Change-Id: Ieb6ff3b2dca42cef5f104ac976e1e54835fba06c
JIRA: MDSAL-360
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoSwitch pce-id to a simple type 59/73759/1
Robert Varga [Wed, 4 Jul 2018 18:11:03 +0000 (20:11 +0200)]
Switch pce-id to a simple type

Union of binary with different lengths does not really make sense,
use length alternatives instead.

Change-Id: I76cd4ad77b51d3e6e6a0522aa5457e7ce56fd590
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoRoute Target Constrain Default Routing Policies Config 23/73723/3
Claudio D. Gasparini [Wed, 27 Jun 2018 15:31:27 +0000 (17:31 +0200)]
Route Target Constrain Default Routing Policies Config

JIRA: BGPCEP-527
Change-Id: Ic59614fd81015a66d2ee4d7d9659f273457f21db
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoFollow common singleton pattern 96/73696/2
Claudio D. Gasparini [Tue, 3 Jul 2018 10:39:52 +0000 (12:39 +0200)]
Follow common singleton pattern

for condition handlers.

Change-Id: Id8568ca0231565e509ce741c9a4fb91f7a6355ff
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoRoute Constrain policies 89/73689/1
Claudio D. Gasparini [Mon, 2 Jul 2018 11:02:32 +0000 (13:02 +0200)]
Route Constrain policies

Actions
 - Prepend client attribute

JIRA: BGPCEP-527
Change-Id: I24719e1c6a41c11165437539cc8a7714240da798
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoImplement Set Next Hop Type Self 02/73602/5
Claudio D. Gasparini [Fri, 29 Jun 2018 09:19:02 +0000 (11:19 +0200)]
Implement Set Next Hop Type Self

remove duplicated route policy, using
openconfig one.

Change-Id: I04fc6167956134bb2769cedbc04df48fb3d4c943
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoImprove CSS logs 07/73607/2
Claudio D. Gasparini [Fri, 29 Jun 2018 12:52:12 +0000 (14:52 +0200)]
Improve CSS logs

Change-Id: I263d506fb7ba340ecf84c541a08367f458b8ec92
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoFix checkstyle complains 05/73605/2
Claudio D. Gasparini [Fri, 29 Jun 2018 12:25:19 +0000 (14:25 +0200)]
Fix checkstyle complains

Change-Id: If6d289edfc8eaab6946fb5c5b3d379909fdbaf98
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoBump yangtools to 2.0.7 10/73510/8
Robert Varga [Thu, 28 Jun 2018 06:58:02 +0000 (08:58 +0200)]
Bump yangtools to 2.0.7

This patch brings in the latest yangtools release.

Change-Id: Ib25415ef91d228abb3b0c0674452078d4d3377d3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix checkstyle complains 70/73570/1
Claudio D. Gasparini [Thu, 28 Jun 2018 17:04:25 +0000 (19:04 +0200)]
Fix checkstyle complains

Change-Id: I692780c68bc2d57e497fac10e5595550f020b5cf
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoHandle correctly peer group name 66/73566/1
Claudio D. Gasparini [Thu, 28 Jun 2018 16:19:59 +0000 (18:19 +0200)]
Handle correctly peer group name

when removing peer

JIRA: BGPCEP-804
Change-Id: I11b1e6d222900be5f2986274ad7c0f92c4ba2c35
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoRib Out Route Paths re evaluation. 34/73534/2
Claudio D. Gasparini [Mon, 25 Jun 2018 12:17:10 +0000 (14:17 +0200)]
Rib Out Route Paths re evaluation.

Allow to perfom a reevaluation of one specific table,
and update rib out for an specific peer.
This will allow to re evaluate paths advertized
for an specific peer when two families are interconnected
like RT and VPN, reducing the volume of message it can
produce to reevaluate the full table for all peers.

JIRA: BGPCEP-527
Change-Id: I3056aa2e4a2e9b94fb9c4a1c99a09fe972500f4f
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoReduce duplicated code 33/73533/2
Claudio D. Gasparini [Thu, 28 Jun 2018 11:45:25 +0000 (13:45 +0200)]
Reduce duplicated code

- reduce noisy log TRACE

Change-Id: I46fc307441f0ca3226f63a0e13c3084c2ed930e8
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoRoute Constrain policies 49/73349/6
Claudio D. Gasparini [Fri, 22 Jun 2018 06:03:58 +0000 (08:03 +0200)]
Route Constrain policies

Conditions
- afi-safi-not-in

Actions
- set-local-address-as-next-hop
- set-originator-id-to-advertizer-router-id

JIRA: BGPCEP-527
Change-Id: I9f784175440fa6f5ab7e7d33cd1d9a72e4bf1ad5
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoFix invalid rsvp model 19/73519/2
Robert Varga [Thu, 28 Jun 2018 09:21:14 +0000 (11:21 +0200)]
Fix invalid rsvp model

Augmenting the same choice with equally-named containers from
a single model is data tree namespace violation. Fix that.

Change-Id: I36eea127a33ade8dec108042bd43dac12e97e64e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix invalid flowspec model 15/73515/1
Robert Varga [Thu, 28 Jun 2018 07:30:06 +0000 (09:30 +0200)]
Fix invalid flowspec model

Augmenting the same choice with equally-named containers from
a single model is data tree namespace violation. Fix that.

Change-Id: Icb5f1580c23fd53365481c89111888566eb04747
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoUpdate supported afi/safi for bgp testtool 44/73444/3
Claudio D. Gasparini [Tue, 26 Jun 2018 14:03:23 +0000 (16:03 +0200)]
Update supported afi/safi for bgp testtool

Change-Id: I954354918f7d8a0d3433c6a9068cdca870550345
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoFix Route target nlri default route serialization 81/73481/1
Claudio D. Gasparini [Wed, 27 Jun 2018 13:29:23 +0000 (15:29 +0200)]
Fix Route target nlri default route serialization

Change-Id: Ic9b16ad72415631efd7814992e99e6b98f1d98f0
JIRA: BGPCEP-802
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoBump odlparent to 3.1.2 92/72492/5
Stephen Kitt [Wed, 30 May 2018 13:45:17 +0000 (15:45 +0200)]
Bump odlparent to 3.1.2

Change-Id: Ib8005701ca2b775ff14431c0667be1dafc709cfb
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoRoute Target constrains Extension 62/73262/10
Claudio D. Gasparini [Mon, 18 Jun 2018 14:24:26 +0000 (16:24 +0200)]
Route Target constrains Extension

https://tools.ietf.org/html/rfc4684

JIRA: BGPCEP-527
Change-Id: Idcb79c3072caa19775a48fbf6980cc8b89504eea
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoImprove handling for protocols config changes 11/73311/1
Claudio D. Gasparini [Thu, 21 Jun 2018 13:51:30 +0000 (15:51 +0200)]
Improve handling for protocols config changes

Given the dependency of Peers of Rib.
When delete
 - remove first peers
 - then remove Rib
when modification
 - update rib
 - then update peers

JIRA: BGPCEP-799

Change-Id: I582398dab191842473f7cbbd1010b76fe9a9d9fd
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoHandle trailing bits under L3vpn mcast 05/73305/2
Claudio D. Gasparini [Thu, 21 Jun 2018 10:00:56 +0000 (12:00 +0200)]
Handle trailing bits under L3vpn mcast

deserialization.

Change-Id: Ib46b269ec0d6138a0234e4478e7d62420814a3bd
JIRA: BGPCEP-800
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoMove route target ext comm container 42/73142/10
Claudio D. Gasparini [Wed, 20 Jun 2018 06:12:09 +0000 (08:12 +0200)]
Move route target ext comm container

outside extendend communities cases.
 Allowing to reuse the models.

Change-Id: I9faab101f4b5ed0613fe26646be9da2fad58b942
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>