bgpcep.git
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>
5 years agoInherit common extensions families dependencies 92/73192/2
Claudio D. Gasparini [Tue, 19 Jun 2018 12:09:48 +0000 (14:09 +0200)]
Inherit common extensions families dependencies

from extensions parent

Change-Id: Ic115f76bd184142d15e9b42f69f80dfd12fa375a
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoCreate common parent for extensions families 90/73190/2
Claudio D. Gasparini [Tue, 19 Jun 2018 12:00:47 +0000 (14:00 +0200)]
Create common parent for extensions families

Change-Id: I9aff6bb41e565df54fcbcfb660ac014b7547c334
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoCode clean up 72/73072/1
Claudio D. Gasparini [Sat, 16 Jun 2018 14:35:19 +0000 (16:35 +0200)]
Code clean up

- remove unnecesary returns
- simplify asserts
- remove unnecesary casts

Change-Id: I5f1410b35bcb6552e6ecd94d08a155dfbc295d9a
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoSimplify assertions 71/73071/1
Claudio D. Gasparini [Sat, 16 Jun 2018 14:33:43 +0000 (16:33 +0200)]
Simplify assertions

Change-Id: I119df17bdb5a7bbb54245c52b6927ba05f853c0e
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoRemove unused imports 70/73070/1
Claudio D. Gasparini [Sat, 16 Jun 2018 14:33:05 +0000 (16:33 +0200)]
Remove unused imports

Change-Id: I5ee0880720e5aee4ddb695d7d4d57010fee67ff3
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoEnforce fail on maven-dependency-plugin warning 40/73040/2
Claudio D. Gasparini [Fri, 15 Jun 2018 09:37:30 +0000 (11:37 +0200)]
Enforce fail on maven-dependency-plugin warning

- fix complains

Change-Id: I2917adc88b3251f39afceff371996d26a6501dbc
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoProvide Empty table instead of empty route container 39/73039/1
Claudio D. Gasparini [Thu, 14 Jun 2018 16:18:57 +0000 (18:18 +0200)]
Provide Empty table instead of empty route container

by ribSupport.

Change-Id: Ie75c0005484caf749425551779e6e6a413c72f13
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoUse Peer transport group config 91/69791/4
Claudio D. Gasparini [Thu, 22 Mar 2018 07:40:33 +0000 (08:40 +0100)]
Use Peer transport group config

Change-Id: Ibd1caba31db4b95dcdf9f93f91e5e875cab9c25b
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoImprove Attribute serializer/parser Interfaces 07/73007/1
Claudio D. Gasparini [Thu, 14 Jun 2018 14:56:18 +0000 (16:56 +0200)]
Improve Attribute serializer/parser Interfaces

use Attribute interface as parameter instead of
DataObject. Removing all redundant cast and validations

Change-Id: I97aa58e71cf27a38daf618839d8070ef6dcec48a
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoCache Instance identifier to table/(choice routes)/(map of route) 06/73006/1
Claudio D. Gasparini [Thu, 14 Jun 2018 13:47:15 +0000 (15:47 +0200)]
Cache Instance identifier to table/(choice routes)/(map of route)

Change-Id: I7e765f53410b17100a5ff1790c1a038ce66140a3
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoFix multiple checkstyle complains 01/73001/1
Claudio D. Gasparini [Thu, 14 Jun 2018 11:45:06 +0000 (13:45 +0200)]
Fix multiple checkstyle complains

Change-Id: Ie499dd6a81262bd5e09823099ce8b6c91ddc9065
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoMove MVPN extended community to concepts 99/72999/2
Claudio D. Gasparini [Wed, 13 Jun 2018 15:50:21 +0000 (17:50 +0200)]
Move MVPN extended community to concepts

since they are shared by differents family extensions.

Change-Id: Idf1b37946fd3088f4513aaeefa3df31ca8e90639
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoL3VPN MULTICAST 82/72482/8
Claudio D. Gasparini [Mon, 28 May 2018 10:54:42 +0000 (12:54 +0200)]
L3VPN MULTICAST

- RFC6513
- RFC6514

JIRA: BGPCEP-396
Change-Id: I7d4a7628d8a32f4b00b28a4ee4ad0f926a8f0070
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
5 years agoDo not fish for augmentation in getPort() 96/72996/2
Robert Varga [Thu, 14 Jun 2018 10:15:11 +0000 (12:15 +0200)]
Do not fish for augmentation in getPort()

Pass down the expected augmentation class rather than fishing for
it.

Change-Id: I987ef156e09c70b8de5c5269f43dd7eaf76505bc
JIRA: MDSAL-328
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoSplit Peer Ribout storage from loc rib 53/72953/1
Claudio D. Gasparini [Mon, 4 Jun 2018 11:23:56 +0000 (13:23 +0200)]
Split Peer Ribout storage from loc rib

Meanwhile loc rib is part of rib,
loc rib out is represented per peer.
Therefore loc rib should be updated
by rib transactions chains,
and peer shuld be on charge of
handling transaction for updating ribout.
Achieving a correct sync when closing session
and cleanin datastore Peer ribs.

JIRA: BGPCEP-785
Change-Id: I891a6842c68a1d017fff22a6c0f34c2090c140bc
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoUse ServiceTracker instead of WaitingServiceTracker 26/72726/5
Tom Pantelis [Wed, 6 Jun 2018 13:38:37 +0000 (09:38 -0400)]
Use ServiceTracker instead of WaitingServiceTracker

WaitingServiceTracker is in config-api which is going away.
WaitingServiceTracker is just a thin wrapper around ServiceTracker
so just use ServiceTracker directly.

Change-Id: I1a2742941db31ed98431fefee8310a4cb6735730
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoAccess augmentations only once 87/72687/4
Robert Varga [Tue, 5 Jun 2018 11:57:39 +0000 (13:57 +0200)]
Access augmentations only once

Cache the result, making the code simpler and faster.

Change-Id: Ib7f56ca8ec6d71633d76964af856d05367c9f212
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoMVPN Extension Clean up 31/72831/2
Claudio D. Gasparini [Mon, 11 Jun 2018 03:45:44 +0000 (05:45 +0200)]
MVPN Extension Clean up

- initialize Ipv6 Registry before start Ipv6Ribsupport Test
- remove unnecesary variables
- make final when possible variables

Change-Id: I6704d1ef732c6092b85c4fa3bae422a6ca2a10b4
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoBump yangtools to 2.0.5 60/72360/5
Robert Varga [Mon, 28 May 2018 10:18:41 +0000 (12:18 +0200)]
Bump yangtools to 2.0.5

Latest fixes.

Change-Id: I16db310fab811486942b90778d5beefedfa1679d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoAdd MDSAL Trace feature to distribution 45/72645/4
Claudio D. Gasparini [Mon, 4 Jun 2018 10:58:21 +0000 (12:58 +0200)]
Add MDSAL Trace feature to distribution

Change-Id: Ib3484c1ccfdddb567a11a2a578013211af228f29
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoRemove sal-dom-broker-config dependency 60/72660/2
Tom Pantelis [Mon, 4 Jun 2018 13:59:11 +0000 (09:59 -0400)]
Remove sal-dom-broker-config dependency

It's not needed and is going away.

Change-Id: Ie87ab33386017930e43c875695a3fe6adaf9c25f
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFixup Augmentable and Identifiable methods changing 59/71259/11
Robert Varga [Tue, 24 Apr 2018 14:52:26 +0000 (16:52 +0200)]
Fixup Augmentable and Identifiable methods changing

This is a fixup of the change in binding codegen, adjusting:
- getKey() -> key()
- setKey() -> withKey()
- getAugmentation() -> augmentation()

Change-Id: I0c43fd2ff1d7913718597ebf18d979842c4559c0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoFix more type safety warnings 48/72648/5
Robert Varga [Mon, 4 Jun 2018 11:03:39 +0000 (13:03 +0200)]
Fix more type safety warnings

We can use proper arguments to make warnings go away.

Change-Id: I626a3ed5b90c00822e0f62381d995c720fcc7108
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoFix more potentially-static methods 47/72647/2
Robert Varga [Mon, 4 Jun 2018 10:57:21 +0000 (12:57 +0200)]
Fix more potentially-static methods

All these methods can easily be static, make it so. Also do not
access attributes/augmentations multiple times.

Change-Id: I784ce35ce9d6e9f86e51514c98d6432db9a0f4ff
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoAdd some RIBImpl.toString() attributes 46/72646/2
Robert Varga [Mon, 4 Jun 2018 10:50:17 +0000 (12:50 +0200)]
Add some RIBImpl.toString() attributes

This fixes a static method warning.

Change-Id: I9132a7cb1db588cddca38eea17dfc8bfea855cdf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoMake AbstractRIBSupportTest type-safe 41/72641/2
Robert Varga [Mon, 4 Jun 2018 08:59:52 +0000 (10:59 +0200)]
Make AbstractRIBSupportTest type-safe

Add generic arguments to bind types which the test needs.

Change-Id: Ie3c874dbcd30a8366ec342edb4e0ff24353e42cb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoFix a couple of warnings in l3vpn 40/72640/2
Robert Varga [Mon, 4 Jun 2018 08:50:01 +0000 (10:50 +0200)]
Fix a couple of warnings in l3vpn

- static method
- unnecessary if/else

Change-Id: I1efa627d7cd4ffcef239caac0244581921fae376
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoFix raw RIBSupport reference 51/72551/4
Robert Varga [Fri, 1 Jun 2018 10:40:42 +0000 (12:40 +0200)]
Fix raw RIBSupport reference

This should be properly parameterized.

Change-Id: Ie4a366d7f2f23b89ddffe37aa84da5503cd0d89d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoUse case-based addressing in RIBSupport 53/72553/4
Robert Varga [Fri, 1 Jun 2018 10:46:14 +0000 (12:46 +0200)]
Use case-based addressing in RIBSupport

This improves type safety of RIBSupport implementations by taking
advantage of ChoiceIn.

Change-Id: Icc75b1489a88e9526cf28af15fb2cbba61cee880
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoUse case-based addressing in BGP topology provider 52/72552/2
Robert Varga [Fri, 1 Jun 2018 10:41:54 +0000 (12:41 +0200)]
Use case-based addressing in BGP topology provider

This removes ambiguity and improves type safety around choice/case
classes.

Change-Id: If3d2ffb54061ccfe2e5916f5da03216c0556272c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoUse range to import yangtools features 44/72544/4
Robert Varga [Fri, 1 Jun 2018 08:43:01 +0000 (10:43 +0200)]
Use range to import yangtools features

This removes version-specific binding, allowing features to be
resolved against newer versions.

Change-Id: I62728a4aa1d3fd817c629bcd7057724b448379ab
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoMatch AfiSafi Policy implementation 15/72515/2
Claudio D. Gasparini [Wed, 30 May 2018 15:02:03 +0000 (17:02 +0200)]
Match AfiSafi Policy implementation

Change-Id: Iaea1cd7d6933a015282e1cb2f3e24a61f299d305
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoRework L3VPN Activators 79/72479/2
Claudio D. Gasparini [Wed, 30 May 2018 10:59:49 +0000 (12:59 +0200)]
Rework L3VPN Activators

Change-Id: Icc41267f190431ccb147276f6381df73a94e056a
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoCreate common API feature for Extensions familiy features 71/72471/2
Claudio D. Gasparini [Wed, 30 May 2018 08:35:02 +0000 (10:35 +0200)]
Create common API feature for Extensions familiy features

Change-Id: I31d8897aac5bdd14ddf3b79f95694c70646aee36
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoFix VrfImportRoute ext com registration 41/72441/2
Tomas Markovic [Tue, 29 May 2018 16:39:06 +0000 (18:39 +0200)]
Fix VrfImportRoute ext com registration

Change-Id: If5e7ddef019f76e4f762f2bdc3fd786443cd9917
Signed-off-by: Tomas Markovic <tomas.markovic@pantheon.tech>
6 years agocreate L3pn unicast package 27/72427/2
Claudio D. Gasparini [Tue, 29 May 2018 11:12:27 +0000 (13:12 +0200)]
create L3pn unicast package

for split new implementation for
multicast l3von support.

Change-Id: I00596dac87b99bd32d8921b8ab8ccebe5bdbcc10
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoFix Uppercase under model name 23/72423/2
Claudio D. Gasparini [Tue, 29 May 2018 11:50:38 +0000 (13:50 +0200)]
Fix Uppercase under model name

- remove unnecesary import from mvpn models

Change-Id: I140c472df80c9f2fd644393db90366ec51242444
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoCode clean up 56/72356/1
Claudio D. Gasparini [Fri, 25 May 2018 07:16:54 +0000 (09:16 +0200)]
Code clean up

- check style
- Qname generation
- functional style
- java language migration
- mvn duplication

Change-Id: I0c7757c8cadead5e988cde6d3fa0e607c4cad72c
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoImprove bmp synchronization 55/72355/1
Claudio D. Gasparini [Sat, 26 May 2018 21:07:57 +0000 (23:07 +0200)]
Improve bmp synchronization

Change-Id: If5d90f32d6f72b0f1c07a7ff63db4afeb4391772
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoSimplify some of the new Mvpn attributes models 06/72306/1
Claudio D. Gasparini [Fri, 25 May 2018 10:17:50 +0000 (12:17 +0200)]
Simplify some of the new Mvpn attributes models

Change-Id: Ie850e304705dff3bb19c7d7bec616d0c09698782
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoMigrate deprecated submit() to commit() under PCEP 31/72231/3
Claudio D. Gasparini [Thu, 24 May 2018 12:29:53 +0000 (14:29 +0200)]
Migrate deprecated submit() to commit() under PCEP

Change-Id: Id3136e3bcac708e0c04e35ee2bc673f8dd424d36
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoRework MVPN Routes Model as workaround for MDSAL-310 47/72247/2
Claudio D. Gasparini [Thu, 24 May 2018 12:23:37 +0000 (14:23 +0200)]
Rework MVPN Routes Model as workaround for MDSAL-310

JIRA: BGPCEP-396
Change-Id: Ia56252bf08593b35bcda56580baef6293ceb3d84
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoFix Pmsi tunnel type model name typo 42/72242/2
Claudio D. Gasparini [Thu, 24 May 2018 16:18:53 +0000 (18:18 +0200)]
Fix Pmsi tunnel type model name typo

Change-Id: Ie374f97383095090280fd261d484986f879c85c5
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoFix Mvpn Model choice container 94/72194/4
Claudio D. Gasparini [Wed, 23 May 2018 10:49:37 +0000 (12:49 +0200)]
Fix Mvpn Model choice container

Choice case are not allowed to
share a common container as case;

JIRA: BGPCEP-396
Change-Id: Icb51b2c23d5cf5bc8dbe9ea316e200eb0ecd3596
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoMigrate deprecated submit() to commit() for BGP/BMP 20/72220/2
Claudio D. Gasparini [Thu, 10 May 2018 11:34:15 +0000 (13:34 +0200)]
Migrate deprecated submit() to commit() for BGP/BMP

Change-Id: Id22bb9d50c40e94bb616272d018a376cecc1705a
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoAdjust to RPC method signature update 27/71227/9
Robert Varga [Mon, 23 Apr 2018 16:51:39 +0000 (18:51 +0200)]
Adjust to RPC method signature update

Input/Output structures are always present and we need to return
ListenableFuture.

Change-Id: Idf91f4321be2c339a7752c177bb000ffdd2e5021
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoPartial submit() migration to commit() 58/72158/1
Claudio D. Gasparini [Tue, 22 May 2018 10:15:50 +0000 (12:15 +0200)]
Partial submit() migration to commit()

Change-Id: I4610af88fe7cbce2259b90ca19842ee30d0952a7
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoFix MVPN 54/72154/1
Claudio D. Gasparini [Tue, 22 May 2018 09:24:12 +0000 (11:24 +0200)]
Fix MVPN

- Remove unnecesary prefix under mvpn route model
- register mvpn routes cases under CacheableNlriObjects
- correct registration of ribsupport with corresponding family

JIRA: BGPCEP-396
Change-Id: Ibf83e013b53dbda6120621990dc84781565ff70d
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoMVPN Support 14/72114/1
Claudio D. Gasparini [Tue, 15 May 2018 11:36:45 +0000 (13:36 +0200)]
MVPN Support

- Nlri Handlers
- RIB Supports
- Add supported family to default RIB/Peer config
- BGP/RIB Activator
- Increment test coverage

JIRA: BGPCEP-396
Change-Id: Ib020247ab87aa7baa303703c552cfecf1c7314d9
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoProvide codec Serializer via RibSupport 44/72044/1
Claudio D. Gasparini [Tue, 15 May 2018 11:36:45 +0000 (13:36 +0200)]
Provide codec Serializer via RibSupport

- provide access to BindingToNormalizedNodeCodec
under ribsupport
- clean up

Change-Id: Ibee3e1550211c9d88c24eb9ae2e741ee77f7d948
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoMVPN Routes PArser/Serializer 09/72009/4
Claudio D. Gasparini [Tue, 15 May 2018 08:25:30 +0000 (10:25 +0200)]
MVPN Routes PArser/Serializer

JIRA: BGPCEP-396
Change-Id: I02535dd90ae1cd3563a44980df016d10ce33ebed
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoRemove IpAddress handler duplicated code 08/72008/2
Claudio D. Gasparini [Tue, 15 May 2018 08:11:59 +0000 (10:11 +0200)]
Remove IpAddress handler duplicated code

- create util for parse, serialize IpAddress

Change-Id: I4eec0ad9658c28b4ff238eb24266d9a2303fb9f0
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoImprove chain transaction fail handling 86/71986/2
Claudio D. Gasparini [Mon, 14 May 2018 06:29:20 +0000 (08:29 +0200)]
Improve chain transaction fail handling

under Data change counter.
- Migrate submit to commit.

Change-Id: If2149bdf87ca8a94e4d74f379424ff36f934a52f
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoRegister MVPN TableType 11/71511/4
Claudio D. Gasparini [Fri, 11 May 2018 11:14:13 +0000 (13:14 +0200)]
Register MVPN TableType

- minor fixups

JIRA: BGPCEP-396
Change-Id: Ibd87a1230817c3e09c352ec2a230944dd2d1f8d4
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoRemove migrated PMSI Tunnel Attributes 46/71246/9
Claudio D. Gasparini [Tue, 24 Apr 2018 09:11:17 +0000 (11:11 +0200)]
Remove migrated PMSI Tunnel Attributes

JIRA: BGPCEP-396
Change-Id: Ie86e68fca156f0e50e76744ecb5e7b4d93f45278
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoAugment Server connection timeout for BMP tests 85/71985/1
Claudio D. Gasparini [Mon, 14 May 2018 05:51:38 +0000 (07:51 +0200)]
Augment Server connection timeout for BMP tests

Change-Id: I3947d797a54b8e152a86022e97a4d1ddb23964c4
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoMVPN Attributes Handlers 66/71966/1
Claudio D. Gasparini [Fri, 11 May 2018 10:19:36 +0000 (12:19 +0200)]
MVPN Attributes Handlers

- PMSI Tunnel Attributes
- PE Distinguisher Labels

JIRA: BGPCEP-396
Change-Id: I243f325260a46c16f6f9412282b83b8f415b0ea2
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoRemove duplicated code for Route Entry 03/71903/1
Claudio D. Gasparini [Sat, 21 Apr 2018 21:36:47 +0000 (23:36 +0200)]
Remove duplicated code for Route Entry

Change-Id: Ia962719cbca89d7092e040506d125ead2106d8cb
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoImprove TopologyStatsProvider transaction chain failure 97/71897/1
Claudio D. Gasparini [Sun, 6 May 2018 10:59:08 +0000 (12:59 +0200)]
Improve TopologyStatsProvider transaction chain failure

Create new chain when onTransactionChainFailed
for TopologyStatsProvider.

Change-Id: Ib3ff3b7b1c9381efa8f35cbb5ed88195320f06c9
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoFix IllegalStateException in StateProviderImpl 70/71670/3
Tom Pantelis [Wed, 2 May 2018 17:25:54 +0000 (13:25 -0400)]
Fix IllegalStateException in StateProviderImpl

If a transaction fails, the StateProviderImpl can get stuck in
a perpetual cycle of subsequent transactions failing due to:

java.lang.IllegalStateException: Previous transaction odl2-1-datastore-operational-fe-3-chn-44-txn-1-0 is not ready yet
        at org.opendaylight.controller.cluster.datastore.TransactionChainProxy$Allocated.checkReady(TransactionChainProxy.java:85)[315:org.opendaylight.controller.sal-distributed-datastore:1.6.0.ODL_7_0_0_0]
        at org.opendaylight.controller.cluster.datastore.TransactionChainProxy.allocateWriteTransaction(TransactionChainProxy.java:187)[315:org.opendaylight.controller.sal-distributed-datastore:1.6.0.ODL_7_0_0_0]
        at org.opendaylight.controller.cluster.datastore.TransactionChainProxy.newReadWriteTransaction(TransactionChainProxy.java:166)[315:org.opendaylight.controller.sal-distributed-datastore:1.6.0.ODL_7_0_0_0]
        at org.opendaylight.controller.cluster.databroker.DOMBrokerReadWriteTransaction.createTransaction(DOMBrokerReadWriteTransaction.java:52)[315:org.opendaylight.controller.sal-distributed-datastore:1.6.0.ODL_7_0_0_0]
        at org.opendaylight.controller.cluster.databroker.DOMBrokerReadWriteTransaction.createTransaction(DOMBrokerReadWriteTransaction.java:22)[315:org.opendaylight.controller.sal-distributed-datastore:1.6.0.ODL_7_0_0_0]
        at org.opendaylight.controller.cluster.databroker.AbstractDOMBrokerTransaction.getSubtransaction(AbstractDOMBrokerTransaction.java:57)[315:org.opendaylight.controller.sal-distributed-datastore:1.6.0.ODL_7_0_0_0]
        at org.opendaylight.controller.cluster.databroker.AbstractDOMBrokerWriteTransaction.merge(AbstractDOMBrokerWriteTransaction.java:102)[315:org.opendaylight.controller.sal-distributed-datastore:1.6.0.ODL_7_0_0_0]
        at org.opendaylight.controller.md.sal.dom.spi.ForwardingDOMDataReadWriteTransaction.merge(ForwardingDOMDataReadWriteTransaction.java:54)[314:org.opendaylight.controller.sal-core-spi:1.6.0.ODL_7_0_0_0]
        at org.opendaylight.controller.md.sal.binding.impl.BindingDOMWriteTransactionAdapter.ensureParentsByMerge(BindingDOMWriteTransactionAdapter.java:67)[302:org.opendaylight.controller.sal-binding-broker-impl:1.6.0.ODL_7_0_0_0]
        at org.opendaylight.controller.md.sal.binding.impl.AbstractWriteTransaction.put(AbstractWriteTransaction.java:41)[302:org.opendaylight.controller.sal-binding-broker-impl:1.6.0.ODL_7_0_0_0]
        at org.opendaylight.protocol.bgp.state.StateProviderImpl.storeOperationalState(StateProviderImpl.java:151)[252:org.opendaylight.bgpcep.bgp-openconfig-state:0.8.0.ODL_7_0_0_0]
        at org.opendaylight.protocol.bgp.state.StateProviderImpl.lambda$updateBGPStats$1(StateProviderImpl.java:124)[252:org.opendaylight.bgpcep.bgp-openconfig-state:0.8.0.ODL_7_0_0_0]

The root cause is due to attempitng to continue to use a failed
transaction chain. It should close the failed chain and create a new
on as is required by the API contract.

For the UT, I used the RememberingLogger from infrautils to indirectly
verify the tx chain is rest on failure by checking logged errors. The
RememberingLogger is wired via static binding in infrautils which
supplants logback as the backing impl.

Change-Id: Ie26f047c2320ff812d796a25f2e3721b59b73ba0
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoMVPN Extended communities Handlers 53/71253/5
Claudio D. Gasparini [Tue, 24 Apr 2018 08:52:30 +0000 (10:52 +0200)]
MVPN Extended communities Handlers

- Source AS (2 Oct/4 Oct) Extended community
- Vrf Route Import Extended community

Change-Id: I853b17d0e10362c45aa80b7edfaa8e63a37f2dda
JIRA: BGPCEP-396
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoMVPN Models 52/71252/8
Claudio D. Gasparini [Tue, 24 Apr 2018 08:46:23 +0000 (10:46 +0200)]
MVPN Models

JIRA: BGPCEP-396
Change-Id: Iea02ed31c11ab68e162cb7d83ca56fdae8b9299b
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoHandle Path Id under Evpn nlri 59/71359/1
Claudio D. Gasparini [Wed, 25 Apr 2018 19:48:56 +0000 (21:48 +0200)]
Handle Path Id under Evpn nlri

Change-Id: Id28defea49d0d444ce2313a90652e4cd0074c255
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoHandle path Id under L3vpn 11/71311/1
Claudio D. Gasparini [Wed, 25 Apr 2018 12:39:53 +0000 (14:39 +0200)]
Handle path Id under L3vpn

Change-Id: Ibaf99870f2c2d775315471cb62a48a65deb2acf3
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoRemove deprecated method 66/71166/6
Claudio D. Gasparini [Fri, 20 Apr 2018 11:41:14 +0000 (13:41 +0200)]
Remove deprecated method

Change-Id: I076db42eb6737d9712fe400958b4c9f56476fb93
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoAdd path Id under l3vpn destination 91/71291/1
Claudio D. Gasparini [Wed, 25 Apr 2018 08:30:59 +0000 (10:30 +0200)]
Add path Id under l3vpn destination

Change-Id: I6e87bf8c24649382eaf596b497f0385cb4cb539d
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoFix NPE 62/71262/1
Claudio D. Gasparini [Tue, 24 Apr 2018 16:05:05 +0000 (18:05 +0200)]
Fix NPE

Remove wrong null assignment for effRibInWriter

BGPCEP-792
Change-Id: Ie3df9b0b98e2cd6578554c53b0e6c3a1979677bf
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoRemove unnecesary tests 51/71251/2
Claudio D. Gasparini [Tue, 24 Apr 2018 11:11:58 +0000 (13:11 +0200)]
Remove unnecesary tests

Change-Id: Ic4e22341bc7b65b2eb6d90f22793eec1e9548666
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoRemove duplicated code 18/71218/3
Claudio D. Gasparini [Tue, 17 Apr 2018 12:27:40 +0000 (14:27 +0200)]
Remove duplicated code

- extension ribsupports should use
  provided routeKeyQname and routeQname
  method provided by abstract rib support.
- fix email contact address

Change-Id: I74200558d7bf1d8300c83e7c48e047b674908ba8
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoReturn ListenableFuture from RPCs 28/71228/1
Robert Varga [Mon, 23 Apr 2018 16:49:35 +0000 (18:49 +0200)]
Return ListenableFuture from RPCs

This future-proofs a couple of places, so we do not need to change
them when RPC methods change.

Change-Id: I8eba6f27377c683184d7b2ce539b37393b8d1b3a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoRemove duplicated code 98/71198/2
Claudio D. Gasparini [Sat, 21 Apr 2018 21:09:45 +0000 (23:09 +0200)]
Remove duplicated code

by implementing default behaviour under
interface.

Change-Id: Ida088bc8d78df7d5cc4bb04fe94fb7946b50073b
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoFix linkstate Route Distinguishers model 60/71160/4
Claudio D. Gasparini [Fri, 20 Apr 2018 09:32:17 +0000 (11:32 +0200)]
Fix linkstate Route Distinguishers model

actual model do no correspond with
https://tools.ietf.org/html/rfc4364#section-4.2.
- Fix by use correct existent model.
- Remove duplicated grouping models

Change-Id: I870d100d3ce441aa2d7c197be3fb4243ab1846d8
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoMVPN RFC6514 Extendend communities 52/71152/3
Claudio D. Gasparini [Fri, 20 Apr 2018 05:42:46 +0000 (07:42 +0200)]
MVPN RFC6514 Extendend communities

Implement parser/serializer for new
extended communities

JIRA: BGPCEP-396
Change-Id: I3e5dd62e906d40ef4cd8239256539010acfb83d0
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoRevert "Fix compilation issues related to IpAddress" 87/71187/2
Robert Varga [Sat, 21 Apr 2018 13:19:36 +0000 (13:19 +0000)]
Revert "Fix compilation issues related to IpAddress"

This reverts commit b673aa2e43295f2d4359f39982574c323c1f16e4.

Change-Id: Ib3749d1a852de67b5a22efff2623a6c84608bf2f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoFix BmpMockTest random failing 54/71154/2
Claudio D. Gasparini [Fri, 20 Apr 2018 09:23:47 +0000 (11:23 +0200)]
Fix BmpMockTest random failing

Change-Id: I13761faf48e210bbfb7310ce02a044a5c17bfb7a
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoMVPN RFC6514 Extendend communities 51/71151/1
Claudio D. Gasparini [Fri, 20 Apr 2018 05:33:31 +0000 (07:33 +0200)]
MVPN RFC6514 Extendend communities

Update imports generate revision date

JIRA: BGPCEP-396
Change-Id: Id99f5ffac750a278b8f966b682c1f8659765afe5
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoMVPN RFC6514 Extendend communities 50/71150/1
Claudio D. Gasparini [Thu, 19 Apr 2018 16:36:43 +0000 (18:36 +0200)]
MVPN RFC6514 Extendend communities

- Source AS
- VRF Route Import

JIRA: BGPCEP-396
Change-Id: Ib19270ad50c30d805008497e35b33fbcf7030aac
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoRemove no longer required karaf.shell imports 40/71140/3
Claudio D. Gasparini [Thu, 19 Apr 2018 21:08:56 +0000 (23:08 +0200)]
Remove no longer required karaf.shell imports

Change-Id: I8157504ba60b9fe8ccd9c49a39b7029b11d5a119
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoRemove duplicated Peer code 59/70959/5
Claudio D. Gasparini [Thu, 12 Apr 2018 18:44:08 +0000 (20:44 +0200)]
Remove duplicated Peer code

- improve tx synchronization

Change-Id: I6a87b0e90aa53f8f3a224535b988da08229d873b
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoFix compilation issues related to IpAddress 71/71071/8
Robert Varga [Wed, 18 Apr 2018 07:40:43 +0000 (09:40 +0200)]
Fix compilation issues related to IpAddress

Use IpAddress containing Ipv4/Ipv6, instead
of the IpAddress containing *nozone generated by
IetfInetUtil.

Change-Id: I4537b31e9561cb645881400358d54bfecd643bc1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoInitialize effective rib in for App Peer 64/70964/2
Claudio D. Gasparini [Mon, 16 Apr 2018 08:26:13 +0000 (10:26 +0200)]
Initialize effective rib in for App Peer

Effective Rib in has splitted constructor and
initializer. Add missing initialization under
AppPeer

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