bgpcep.git
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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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

6 years agoSupport Local AS only when configured as eBGP 60/70960/3
Claudio D. Gasparini [Mon, 16 Apr 2018 05:57:04 +0000 (07:57 +0200)]
Support Local AS only when configured as eBGP

Change-Id: Iac5d463fdf3849148e5845aa9265806e25c8ba76
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoBump to odlparent 3.1.0 and yangtools 2.0.3 01/69901/9
Stephen Kitt [Thu, 22 Mar 2018 17:24:33 +0000 (18:24 +0100)]
Bump to odlparent 3.1.0 and yangtools 2.0.3

Change-Id: I89ac7aec458dd9b567697bd2449bacb92e192369
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoFix findbug complains 47/70947/1
Claudio D. Gasparini [Sat, 14 Apr 2018 12:10:25 +0000 (14:10 +0200)]
Fix findbug complains

Change-Id: Ifeb808d6890c6150057ade9693b0730e9bf515fd
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoMigrate deprecated OsgiCommandSupport 73/70773/1
Claudio D. Gasparini [Wed, 11 Apr 2018 10:57:42 +0000 (12:57 +0200)]
Migrate deprecated OsgiCommandSupport

Change-Id: I3fabc2af08746b2690a8e1ca8cb87e6ec84ad411
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoRework Cluster-Id config 60/70760/2
Claudio D. Gasparini [Tue, 10 Apr 2018 18:35:42 +0000 (20:35 +0200)]
Rework Cluster-Id config

BGPCEP-564
Change-Id: I96557eca0c599e0934b7fada91bfc35162eae7bc
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoDelete routes under eff-rib-in 22/70722/2
Claudio D. Gasparini [Tue, 10 Apr 2018 15:47:25 +0000 (17:47 +0200)]
Delete routes under eff-rib-in

only if there are present.

Change-Id: I7c863999b54a16dec2bcaddd256c6ff7121b0cb5
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoRework OffsetMap.remove() and share empty arrays 02/70702/4
Claudio D. Gasparini [Tue, 10 Apr 2018 09:46:04 +0000 (11:46 +0200)]
Rework OffsetMap.remove() and share empty arrays

Empty arrays are immutable, hence we can share those instances,
reducing overheads. Also updates OffsetMap.remove() to take an
empty array argument, which will be used when the map would become
empty.

Change-Id: I58116eddce3d8b1a1f7d049c0c1f12fcd9f79966
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoProvide Add Path support for all AFI/SAFI 47/70447/7
Claudio D. Gasparini [Fri, 6 Apr 2018 13:25:50 +0000 (15:25 +0200)]
Provide Add Path support for all AFI/SAFI

Updade code according to models change.
Path Id and Route Key(string) leaf added
to route.
Route Key and Path Id are now the common
route-key for all routes list.

BGPCEP-781
Change-Id: I45bb53c939a2ecca57d2e11ec5e317e8164c7182
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoProvide Add Path support for all AFI/SAFI 46/70446/5
Claudio D. Gasparini [Fri, 6 Apr 2018 08:41:03 +0000 (10:41 +0200)]
Provide Add Path support for all AFI/SAFI

Update route model, adding by default path-id
and route-key to be used as key for routes lists.

BGPCEP-781
Change-Id: Ie62c2f304976cb275ede8f52ad6d07812f46f15a
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoFix Peer Identifier used per Rib creation. 10/70710/2
Claudio D. Gasparini [Tue, 10 Apr 2018 12:05:26 +0000 (14:05 +0200)]
Fix Peer Identifier used per Rib creation.

Use the provided by peer when session goes up.

BGPCEP-783
Change-Id: I7cd497df649be689a25dd67eed3903b42def8d28
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoFix findbug NP_NONNULL_PARAM_VIOLATION complains 58/70658/3
Claudio D. Gasparini [Mon, 9 Apr 2018 13:25:00 +0000 (15:25 +0200)]
Fix findbug NP_NONNULL_PARAM_VIOLATION complains

Change-Id: I359f4a8c626753e9d5eeb6eb4b2cbd906b28e984
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoMigrate ShellTable to non-deprecated class 45/70645/3
Robert Varga [Sat, 7 Apr 2018 11:16:04 +0000 (13:16 +0200)]
Migrate ShellTable to non-deprecated class

org.apache.karaf.shell.support.table.ShellTable is the new location,
use that.

Change-Id: I85b6adc2ae01a47236217676f78cce9e0f81237e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoUse byte[].clone() 67/70667/2
Robert Varga [Sat, 7 Apr 2018 12:05:27 +0000 (14:05 +0200)]
Use byte[].clone()

BGPDocumentedException can be made more efficient by using
byte[].clone() instead of Arrays.copyOf(). Also pre-cache empty
data and return it when needed.

Change-Id: Ib4e36522f0d3a734621349c1b62865496d330009
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoUse dedicated executor for BGPCEP Stats 53/70653/3
Claudio D. Gasparini [Mon, 9 Apr 2018 12:59:30 +0000 (14:59 +0200)]
Use dedicated executor for BGPCEP Stats

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

6 years agoMigrate to karaf shell api 46/70646/1
Robert Varga [Sat, 7 Apr 2018 11:22:26 +0000 (13:22 +0200)]
Migrate to karaf shell api

org.apache.felix.gogo.commands is deprecated, migrate to
org.apache.karaf.shell.api.action equivalents.

Change-Id: I22d1714f4bff6acfecb0fdd87c595e32af5d9a8c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoAdd Karaf build profile 97/70497/1
Thanh Ha [Sat, 7 Apr 2018 02:39:57 +0000 (22:39 -0400)]
Add Karaf build profile

Project local Karaf distros are handy for devs to test their work
however is unneeded by autorelease builds and should not be released
as part of the Simultanious Release. Add a profile that is active by
default so that default behaviour is unchanged however allows the
autorelease project to disable building this module.

Issue: RELENG-86
Change-Id: I0b1d31b051223a8a1c22494da08bd72eb585198b
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
6 years agoRemove obsolete Maven Site configuration 96/70496/1
Thanh Ha [Sat, 7 Apr 2018 02:38:31 +0000 (22:38 -0400)]
Remove obsolete Maven Site configuration

Change-Id: I31d7a0f8c709797cd927fd1eae266f2cbf6418f5
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
6 years agoBGPCEP-578: Add additional path config 67/70367/3
Claudio D. Gasparini [Thu, 5 Apr 2018 09:01:02 +0000 (11:01 +0200)]
BGPCEP-578: Add additional path config

to afis/safis peer group

Change-Id: I2a4776d7566d79fd15c799c0c3d7613c01638e9e
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoFix missing return under AbstractBestPathSelector 61/70361/4
Claudio D. Gasparini [Thu, 5 Apr 2018 06:54:42 +0000 (08:54 +0200)]
Fix missing return under AbstractBestPathSelector

Change-Id: I0156a2be5a7772ecdbd55de5f5308092656b38eb
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
6 years agoBGPCEP-740: Fix logic for MED comparison in BGP best path selection 57/70257/2
Claudio D. Gasparini [Wed, 4 Apr 2018 15:35:19 +0000 (17:35 +0200)]
BGPCEP-740: Fix logic for MED comparison in BGP best path selection

New better path should be selected only if new MED is lower than
actual best path MED.

Change-Id: I8bd07dc8b42e575cebcc4e1ea4b55d9c2c842f42
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>