bgpcep.git
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 51/90551/11
Aman [Mon, 22 Jun 2020 09:42:19 +0000 (15:12 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/bgp/bgp-user-guide-linkstate-family.rst by adding JSON,XML examples with corresponding sphinx tab

Change-Id: I277e40fb90b1140d9c59ff492024db0361845468
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdd json examples for bgp-user-guide-pmsi-attribute.rst 09/92309/3
aman1403 [Thu, 27 Aug 2020 18:12:19 +0000 (23:42 +0530)]
Add json examples for bgp-user-guide-pmsi-attribute.rst

Change-Id: I76887817ca2f99ca510d8311910887110ce0a31c
Signed-off-by: aman1403 <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 32/90532/9
Aman [Sat, 20 Jun 2020 20:11:29 +0000 (01:41 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/bgp/bgp-user-guide-l3vpn-family.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: I277e40fb90b1140d9c59ff492024db0361845765
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with working RFC 8040 URL 50/90550/12
Aman [Mon, 22 Jun 2020 09:20:52 +0000 (14:50 +0530)]
Added JSON and XML payloads tabs with working RFC 8040 URL

Modified docs/bgp/bgp-user-guide-labeled-family.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: I277e40fb90b1140d9c59ff492024db0361845985
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 29/90529/8
Aman [Sat, 20 Jun 2020 19:07:34 +0000 (00:37 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/bgp/bgp-user-guide-graceful-restart-capability.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: I277e40fb90b1140d9c59ff492024db0361845718
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 54/90554/13
Aman [Mon, 22 Jun 2020 10:24:11 +0000 (15:54 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/bgp/bgp-user-guide-mvpn-family.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: I277e40fb90b1140d9c59ff492024db0361845432
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with working RFC 8040 Url 57/90457/14
Aman [Tue, 16 Jun 2020 07:31:18 +0000 (13:01 +0530)]
Added JSON and XML payloads tabs with working RFC 8040 Url

Modified docs/bgp/bgp-user-guide-additional-path-capability.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: Ic8aaa0728a43936cd4c6e1ed590e01ba8f0fbf6d
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with working RFC 8040 URL 82/90482/8
Aman [Sat, 20 Jun 2020 14:16:47 +0000 (19:46 +0530)]
Added JSON and XML payloads tabs with working RFC 8040 URL

Modified docs/pcep/pcep-user-guide-bgp-server.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: Iee56ba474335003e0091e8a2c85c68dbcd18d7f0
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 76/89076/26
Aman [Sat, 20 Jun 2020 18:00:53 +0000 (23:30 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/bgp/bgp-user-guide-flowspec-family.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: Ic8aaa0728a43936cd4c6e1ed590e01ba8f0fbf5b
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 73/90573/20
Aman [Mon, 22 Jun 2020 17:20:00 +0000 (22:50 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/bgp/bgp-user-guide-route-target-family.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: I277e40fb90b1140d9c59ff492024db0361485718
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 30/90530/17
Aman [Sat, 20 Jun 2020 19:30:13 +0000 (01:00 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/pcep/pcep-user-guide-evpn-family.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: I277e40fb90b1140d9c59ff492024db0361845624
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with working RFC 8040 URL 00/90500/15
Aman [Thu, 18 Jun 2020 19:10:41 +0000 (00:40 +0530)]
Added JSON and XML payloads tabs with working RFC 8040 URL

Modified docs/bgp/bgp-user-guide-bgp-peering.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: Ic8aaa0728a43936cd4c6e1ed590e01ba8f0fbf3f
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 61/90561/8
Aman [Mon, 22 Jun 2020 12:40:03 +0000 (18:10 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/bgp/bgp-user-guide-operational.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: I277e40fb90b1140d9c59ff492024db0361845915
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 77/90577/12
Aman [Mon, 22 Jun 2020 19:08:49 +0000 (00:38 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/bgp/bgp-user-guide-topology-provider.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: I277e40fb90b1140d9c59ff492024db0361845689
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 75/90575/7
Aman [Mon, 22 Jun 2020 18:06:58 +0000 (23:36 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/bgp/bgp-user-guide-test-tools.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: I277e40fb90b1140d9c59ff492024db0361845599
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 74/90574/11
Aman [Mon, 22 Jun 2020 17:35:48 +0000 (23:05 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/bgp/bgp-user-guide-running-bgp.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: I277e40fb90b1140d9c59ff492154db0361845718
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 67/90567/14
Aman [Mon, 22 Jun 2020 14:49:40 +0000 (20:19 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/bgp/bgp-user-guide-rib-config-policies.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: I277e40fb90b1140d9c59ff492024db0361846525
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 64/90564/8
Aman [Mon, 22 Jun 2020 13:43:13 +0000 (19:13 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/bgp/bgp-user-guide-revised-error-handling.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: I277e40fb90b1140d9c59ff492024db0361845152
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 63/90563/15
Aman [Mon, 22 Jun 2020 13:35:03 +0000 (19:05 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/bgp/bgp-user-guide-protocol-configurtion.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: I277e40fb90b1140d9c59ff492024db0361845218
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoBump conf.yaml versions to Silicon 57/92057/2
Thanh Ha [Tue, 11 Aug 2020 19:28:26 +0000 (15:28 -0400)]
Bump conf.yaml versions to Silicon

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

3 years agoPrevent deadlock in PCEP threads by using consistent locking order 70/89970/7
Ajay Lele [Tue, 26 May 2020 18:09:14 +0000 (11:09 -0700)]
Prevent deadlock in PCEP threads by using consistent locking order

Two threads take lock on ServerSessionManager and
Stateful07TopologySessionListener instances in opposite
order causing deadlock. Patch fixes this by ensuring same
order is followed while acquiring the locks (ServerSessionManager
followed by Stateful07TopologySessionListener).

JIRA: BGPCEP-901
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
Change-Id: I89f64be3ef69e8bc72504baf4d6a0bb0a6e8e581

3 years agoPropagate only negotiated afi/safi routes to adj-rib-out 97/90097/7
Vikram Singh Kalakoti [Fri, 29 May 2020 16:10:50 +0000 (21:40 +0530)]
Propagate only negotiated afi/safi routes to adj-rib-out

When BGP session comes, empty entries for negotiated afi/safi are
created in peer's adj-rib-out. If routes belonging to afi/safi
that were not negotiated for the peer are present in loc-rib,
those entries are being propagated to the peer, resulting in
ModifiedNodeDoesNotExistException. Patch prevents this by allowing
routes for only the negotiated afi/safi to be propagated from
loc-rib to peer's adj-rib-out.

If routes are written to non-existent afi/safi table in adj-rib-out,
it results in transaction chain failure which leads to a scenario
where multiple threads block to get a lock on BGPPeer but the
thread handling transaction failure is waiting for the submitted
futures to exit. Patch fixes this scenario by preventing wait on
the submtited futures when handling transaction failures.

JIRA: BGPCEP-906
Change-Id: I836d1828c3d552e4d62be0688040490ec3f36912
Signed-off-by: Vikram Singh Kalakoti <vikramskalakoti@gmail.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoPrevent deadlock between PCEP session mgmt and stats thread 66/89966/4
Ajay Lele [Tue, 26 May 2020 17:59:57 +0000 (10:59 -0700)]
Prevent deadlock between PCEP session mgmt and stats thread

Deadlock happens between 2 threads trying to acquire lock on
Stateful07TopologySessionListener and TopologyStatsProviderImpl
instance in reverse order. In AbstractTopologySessionListener#getDelegatedLspsCount(),
locking was added to avoid ConcurrentModificationException for
lspData map. Patch achieves same result without having to acquire
the lock by using thread-safe ConcurrentHashMap for lspData.

JIRA: BGPCEP-901
Change-Id: I74b5070c2e1c8075f5df9504d6eef4de541597fd
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
Signed-off-by: Deepthi V V <dvv@luminanetworks.com>
3 years agoBump versions by x.(y+1).z for next dev cycle 20/91920/2
Thanh Ha [Wed, 5 Aug 2020 21:02:26 +0000 (17:02 -0400)]
Bump versions by x.(y+1).z for next dev cycle

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

3 years agoNon ipv4 advertising peer causes BGP session flaps 49/90849/6
Vikram Singh Kalakoti [Wed, 1 Jul 2020 19:04:08 +0000 (00:34 +0530)]
Non ipv4 advertising peer causes BGP session flaps

During the session establishment phase, if a peer
doesn't advertise ipv4-unicast, controller
automatically adds ipv4-unicast as supported
family for the session to support classic BGP
sessions.

Currently, we are adding Ipv4 family in the
BGPPeer but not updating AdjRibInWriter which
causes the BGP session to not recover from
session flap. Patch fixes this issue by adding
ipv4 support before updating AdjRibInWriter.

JIRA: BGPCEP-910
Change-Id: I669104a17d603e0494f9ac7090a8fd671f67a3a5
Signed-off-by: Vikram Singh Kalakoti <vikramskalakoti@gmail.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove GraphModel Config init. in datastore 16/89316/4
Olivier Dugeon [Thu, 23 Apr 2020 13:34:53 +0000 (15:34 +0200)]
Remove GraphModel Config init. in datastore

Both Configuration and Operation GraphModels are initialized within
the same single transaction in ConnnectedGraphServer class. Remove
unnecessary initialization of GraphModel Configuration.

JIRA: BGPCEP-904
Change-Id: If5988b916a23d85c9e0b8a8c9c378bd5e6931fba
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
3 years agoUpdate to RFC 8664 (PCEP Segment Routing) 07/91507/5
Olivier Dugeon [Tue, 21 Jul 2020 13:48:15 +0000 (15:48 +0200)]
Update to RFC 8664 (PCEP Segment Routing)

As per RFC 8664, this commit introduces following changes:
 - Add Flags N & X to SR PCE Capability
 - Add Ipv6 Local Nai Type and rename SID Type to NAI Type (NT) in
   odl-pcep-segment-routing-yang
 - Change IANA type (=36) for SR-ERO and SR-RRO to be the default value in
   pcep-segment-routing-app-config.yang instead of Legacy Type values
 - Update yang model revision
 - Turn IANA Type as the defaut for Segement Routing parser registration
 - Mark deprecated all IANA Type configuration (this will be removed in next
   release after Aluminium)
 - Add extra verifications to AbstractSrSubobjectParser Java Class and support
   for Ipv6Local NAI
 - Update accordingly Segment Routing Junit Tests

JIRA: BGPCEP-882
Change-Id: Ic6dc01329af87a317154f742d7e698cc9d752df0
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 21/90921/7
Aman [Sun, 5 Jul 2020 10:20:59 +0000 (15:50 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/pcep/pcep-user-guide-running-pcep.rst by adding JSON,XML examples with corresponding sphinx tab

Change-Id: I63c308e723b7dbc79571128a405c2402b4cbe370
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoNew Committers Addition. 09/91609/8
Venkatrangan Govindarajan [Fri, 24 Jul 2020 06:53:11 +0000 (12:23 +0530)]
New Committers Addition.

- Ajay and Olivier have been approved as committers to bgpcep
- This Patch adds their details to INFO.yaml

Signed-off-by: Venkatrangan Govindarajan <vgovindarajan@luminanetworks.com>
Change-Id: I13a4c0085160ef860272465a221296338b38fcd1

3 years agoHandle the case of empty optional capabilities 85/91685/6
Robert Varga [Mon, 27 Jul 2020 17:02:56 +0000 (19:02 +0200)]
Handle the case of empty optional capabilities

Empty lists are being squashed to null, hence use nonnull to acquire
an empty list back.

JIRA: BGPCEP-915
Change-Id: I6483160e3637d3901e9a1f840cef03dd817b5523
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoProcess open mesage more defensively 61/91761/2
Robert Varga [Wed, 29 Jul 2020 15:52:04 +0000 (17:52 +0200)]
Process open mesage more defensively

We are already handling documented exceptions, but we may end up
ignoring a runtime exceptions. Add a defensive catch.

JIRA: BGPCEP-915
Change-Id: I921395d9a36fd7fcadfeef882d181abc10db2b13
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 53/91353/6
Aman [Fri, 17 Jul 2020 06:07:07 +0000 (11:37 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/pcep/pcep-user-guide-session-statistics.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: I6656b025b0693bfae5fbb9b1534deab70ce4daf4
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 19/90919/9
Aman [Fri, 3 Jul 2020 19:22:13 +0000 (00:52 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/pcep/pcep-user-guide-active-stateful-pce.rst by adding JSON,XML examples with corresponding sphinx tabs

Change-Id: I902e0799a9231cddb14fe225c31e3144acb49c8a
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoAdded JSON and XML payloads tabs with RFC 8040 URL 02/91402/6
Aman [Sat, 18 Jul 2020 06:34:10 +0000 (12:04 +0530)]
Added JSON and XML payloads tabs with RFC 8040 URL

Modified docs/pcep/pcep-user-guide-test-tools.rst by adding JSON,XML examples with corresponding sphinx tab

Change-Id: Iff6fba06627c8718b1584341532365b6da9590a1
Signed-off-by: Aman <170030039@iitdh.ac.in>
3 years agoUpdate Statefuful & Initiated yang models 99/91499/3
Olivier Dugeon [Tue, 21 Jul 2020 07:08:16 +0000 (09:08 +0200)]
Update Statefuful & Initiated yang models

Yang models pcep/ietf-stateful/src/main/yang/odl-pcep-ietf-initiated.yang
and pcep/ietf-stateful/src/main/yang/odl-pcep-ietf-stateful.yang have been
updated for conformity to RFC 8231 (Stateful) and RFC 8281 (Initiated).

The main modification concerns the replacement of the 'symbolic-path-name-tlv'
by the 'lsp-object' in the PcRep & PcReq message.

Revision number has been updated accordingly.

JIRA: BGPCEP-882
Change-Id: I4509384624fcdad8ffa93e2eb83697ac90556418
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
3 years agoPcep Stateful & Initiated renaming 72/91372/4
Olivier Dugeon [Fri, 17 Jul 2020 11:37:12 +0000 (13:37 +0200)]
Pcep Stateful & Initiated renaming

This is the first part of compliancy to RFC8231 (Stateful) & RFC8281
(Initiated). It removes mention to old draft in various package name,
class name, yange model name ... as follow:
 - Rename Stateful07 -> Stateful
 - Rename Initiated00 -> Initiated
 - CrabbeInitiated -> Initiated

JIRA: BGPCEP-882
Change-Id: I4a9a7faa08e1a681fda8a01ed28a9ccf61af6cc1
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
3 years agoBump odlparent/yangtools/mdsal/controller 72/91672/1
Robert Varga [Mon, 27 Jul 2020 00:10:57 +0000 (02:10 +0200)]
Bump odlparent/yangtools/mdsal/controller

Adopt upstream versions:
- odlparent-7.0.5
- yangtools-5.0.5
- mdsal-6.0.4
- controller-2.0.3

Change-Id: I670c67139a35dae446c378f376add25df84f499a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd an explanatory messages around TCP-MD5 16/91516/1
Robert Varga [Wed, 22 Jul 2020 08:33:11 +0000 (10:33 +0200)]
Add an explanatory messages around TCP-MD5

Just pointing to epoll unavailabality reason is not enough, we
should also explain that the user can get PCEP working without
TCP/MD5 keys.

JIRA: BGPCEP-916
Change-Id: I95d5d087f99a29a6d823041e40a841b2f0367be8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove use of ModuleInfoBackedContext 33/91433/1
Robert Varga [Sun, 19 Jul 2020 15:56:13 +0000 (17:56 +0200)]
Remove use of ModuleInfoBackedContext

We do not need this class anymore, remove uneeded operations on it.

Change-Id: I768d00c01c1d08d29452ea94083a115e46263305
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix translation warnings 17/91417/1
Robert Varga [Sat, 18 Jul 2020 13:49:22 +0000 (15:49 +0200)]
Fix translation warnings

Fixup use of deprecated methods a bit.

Change-Id: I8285748f517718cf9f512bc78dfcf35c8893e87b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAttach sources to test-jar 14/91414/1
Robert Varga [Sat, 18 Jul 2020 10:41:13 +0000 (12:41 +0200)]
Attach sources to test-jar

Building test-jars without also attaching sources make them painful
to use. Make sure we attach sources.

Change-Id: I2fc110cb8b7037c7b8b71251ca910fcf4c6be7ac
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix Path Computation Crashes 91/91091/4
Olivier Dugeon [Fri, 10 Jul 2020 12:28:57 +0000 (14:28 +0200)]
Fix Path Computation Crashes

If Path Computation is called with unknown graph, PCEP session crashes
due to path computation creation error. This patch checks that path
computation is valid and reply with PcErr message for PcReq or PcError
for RPC call.

JIRA: BGPCEP-911
Change-Id: I5fa6919db058c97ada4b69077630101d6f02c4f7
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix Unreserved Bandwidth verification in algo 03/91203/4
Olivier Dugeon [Fri, 10 Jul 2020 15:21:03 +0000 (17:21 +0200)]
Fix Unreserved Bandwidth verification in algo

Path Computation Algorithms assume that Unreserved Bandwidth values are
ordered by Class-Type priority which could be wrong. This patch set correct
this issue by searching the correct Unreserved Bandwidth value that corresponds
to the Class-Type instead of directly addressing the Unreserved Bandwidth list
with the Class-Type as index.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Change-Id: I02c03c18cfe2eee2451f05739bf6df9ce6995a38
(cherry picked from commit 0d9eadca7b948a6090130de51f80eac845afbf9d)

3 years agoFix wrong SR-NAI type for Path Computation 94/91094/3
Olivier Dugeon [Fri, 10 Jul 2020 13:53:02 +0000 (15:53 +0200)]
Fix wrong SR-NAI type for Path Computation

When computing a segment path for PcInitiate message, the Path Computation
Algorithms produce an SR-ERO composed by Node-SIDs (NAI Type = 1 or 2).
However, routers expect a SR-ERO composed by Adjacency-SIDs (NAI Type = 3 or 4)
with M-Flag set to 1. Indeed, Node SID NAI is only valid for loose path while
Path Computation determines strict path.

This patch set change NAI (1/2) by NAI (3/4) in the SR-ERO computed by the
Path Computation Algorithms.

JIRA: BGPCEP-913

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

3 years agoDo not fail on warnings for docs-linkcheck 90/91190/2
Thanh Ha [Fri, 10 Jul 2020 14:55:12 +0000 (10:55 -0400)]
Do not fail on warnings for docs-linkcheck

This is a workaround due to sphinx-tabs being incompatible with the
Sphinx linkchecker which throws a warning. We mainly use linkchecker
to catch broken links so we don't really need to fail on warnings as
the main "docs" builder will still fail for warning level issues so
this is a reasonable workaround.

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

3 years agoPrevent deadlock when updating PCEP stats when Tx chain fails 68/89968/4
Ajay Lele [Tue, 26 May 2020 18:05:10 +0000 (11:05 -0700)]
Prevent deadlock when updating PCEP stats when Tx chain fails

Multiple threads are blocked on TopologyStatsProviderImpl
instance lock which is held from TopologyStatsProviderImpl#unbind()
which in turn is waiting for delete transaction commit
future to complete. The transaction chain has failed but
the callback TopologyStatsProviderImpl#onTransactionChainFailed()
is blocked on lock held by earlier thread, thus creating a deadlock.
Patch avoids this by registering callback on delete transaction
commit future instead of the blocking call.

JIRA: BGPCEP-901
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
Change-Id: I4a65b3dd00fb6f1255bf6eeb8b5f1d03f3b3a182

3 years agoUse read 4 bytes in TE Metric case 09/90809/3
Robert Varga [Mon, 29 Jun 2020 14:25:11 +0000 (16:25 +0200)]
Use read 4 bytes in TE Metric case

https://tools.ietf.org/html/rfc7752#section-3.3.2.3 requires the
field to have 4 bytes. Do not allow smaller values by using exacting
ByteBufUtils.readUint32().

Change-Id: I2e3604d4717b77a66b037ed35369c1d195ad2c94
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd INFO.yaml for bgpcep 20/91220/1
Anil Belur [Sat, 11 Jul 2020 02:50:53 +0000 (12:50 +1000)]
Add INFO.yaml for bgpcep

Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Change-Id: I92186a421d53980b02242fa33f9b51954c77e189

3 years agoFix Graph documentation 81/91081/1
Olivier Dugeon [Fri, 10 Jul 2020 07:28:32 +0000 (09:28 +0200)]
Fix Graph documentation

Graph users guide references the wrong key 'graph-type' instead of
'domain-scope'.

JIRA: BGPCEP-912

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

3 years agoTake advantage of {Integer,Long}.BYTES 08/90808/1
Robert Varga [Mon, 29 Jun 2020 13:42:57 +0000 (15:42 +0200)]
Take advantage of {Integer,Long}.BYTES

Rather than diving ourselves, take advantage of Java 8+ constants
exposed as .BYTES.

Change-Id: Iac822ef173fe7f40abed754e26d6563feeeb912d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFurther deprecation removal 00/90800/2
Robert Varga [Mon, 29 Jun 2020 07:15:25 +0000 (09:15 +0200)]
Further deprecation removal

This makes another pass at warnings, eliminating unneeded conversions
in a few places.

Change-Id: I9b19289e104be890afbe0f0525b6efaba2bf4e55
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMigrate from legacy IetfInetUtils methods 99/90799/1
Robert Varga [Mon, 29 Jun 2020 07:07:57 +0000 (09:07 +0200)]
Migrate from legacy IetfInetUtils methods

Plain migration towards new types.

Change-Id: Iddbbe671b2eedd80cde4c8ab9fbc7c65869981eb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup deprecation warnings in pcep 98/90798/1
Robert Varga [Mon, 29 Jun 2020 05:20:47 +0000 (07:20 +0200)]
Cleanup deprecation warnings in pcep

Eliminate some leftovers from codegen change.

Change-Id: Ieecc76abeb58bd910893f5935c0ca99756d9177a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup deprecation warnings in bmp 97/90797/1
Robert Varga [Mon, 29 Jun 2020 04:44:00 +0000 (06:44 +0200)]
Cleanup deprecation warnings in bmp

Eliminate some leftovers from codegen change.

Change-Id: Iaeaa0a1d2ae1903865d13b9ba0ab1bb6fbecd6c9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUse predictable map in test 96/90796/1
Robert Varga [Mon, 29 Jun 2020 04:39:13 +0000 (06:39 +0200)]
Use predictable map in test

UnrecognizedAttributesSerializerTest fails sporadically due to
Map's order instability. Use ImmutableMap, which guarantees iteration
order.

Change-Id: Idb0a42e72e82975799ace19c56619d6c87364100
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup deprecation warnings in bgp/testtool 95/90795/1
Robert Varga [Sun, 28 Jun 2020 17:37:41 +0000 (19:37 +0200)]
Cleanup deprecation warnings in bgp/testtool

Eliminate some leftovers from codegen change.

Change-Id: I0c6ff683263500bf34e551c3b9c37ff81b2ba9b5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup deprecation warnings in bgp/rib-spi 94/90794/1
Robert Varga [Sun, 28 Jun 2020 17:37:32 +0000 (19:37 +0200)]
Cleanup deprecation warnings in bgp/rib-spi

Eliminate some leftovers from codegen change.

Change-Id: I14a8d2b32f0cdcab5fdbdcb81e9a2191b2aa992a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup deprecation warnings in bgp/rib-impl 93/90793/1
Robert Varga [Sun, 28 Jun 2020 15:32:16 +0000 (17:32 +0200)]
Cleanup deprecation warnings in bgp/rib-impl

Eliminate some leftovers from codegen change.

Change-Id: I9a6ab0a13e406c194c7267fd99ed77616a5c7815
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup deprecation warnings in bgp/parser-spi 92/90792/1
Robert Varga [Sun, 28 Jun 2020 15:11:45 +0000 (17:11 +0200)]
Cleanup deprecation warnings in bgp/parser-spi

Eliminate some leftovers from codegen change.

Change-Id: I2e7dfc74ef4639e52bfa8887836e9e6c2c9b290e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup deprecation warnings in bgp/parser-mock 91/90791/1
Robert Varga [Sun, 28 Jun 2020 15:08:43 +0000 (17:08 +0200)]
Cleanup deprecation warnings in bgp/parser-mock

Eliminate some leftovers from codegen change.

Change-Id: I4b9e46887d427a00f845b297618b86a5d2cd6f10
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup deprecation warnings in bgp/parser-impl 90/90790/1
Robert Varga [Sun, 28 Jun 2020 15:07:02 +0000 (17:07 +0200)]
Cleanup deprecation warnings in bgp/parser-impl

Eliminate some leftovers from codegen change.

Change-Id: I83b17bfd00475ea40bb5eab4bfa1d25f70d88cd2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup deprecation warnings in bgp/openconfig-state 89/90789/1
Robert Varga [Sun, 28 Jun 2020 04:08:26 +0000 (06:08 +0200)]
Cleanup deprecation warnings in bgp/openconfig-state

Eliminate some leftovers from codegen change.

Change-Id: I232ac497b2007a8a916b00ca6fe623e8d4f6e2fb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup deprecation warnings in bgp/extensions/linkstate 88/90788/1
Robert Varga [Sat, 27 Jun 2020 13:39:42 +0000 (15:39 +0200)]
Cleanup deprecation warnings in bgp/extensions/linkstate

Eliminate some leftovers from codegen change.

Change-Id: I4cf923b1e5c538f445892c68b46e78a12794daf4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup deprecation warnings in bgp/extensions/mvpn 87/90787/1
Robert Varga [Sat, 27 Jun 2020 13:28:04 +0000 (15:28 +0200)]
Cleanup deprecation warnings in bgp/extensions/mvpn

Eliminate some leftovers from codegen change.

Change-Id: I3c061694f3213de288a99ca95f71acddfb3698e5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup deprecation warnings in bgp/extensions/labeled-unicast 86/90786/1
Robert Varga [Sat, 27 Jun 2020 13:24:55 +0000 (15:24 +0200)]
Cleanup deprecation warnings in bgp/extensions/labeled-unicast

Eliminate some leftovers from codegen change.

Change-Id: I4599e8239c49e5b7d9c1f9643e7a14f58080e923
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup deprecation warnings in bgp/extensions/l3vpn 84/90784/1
Robert Varga [Sat, 27 Jun 2020 09:29:56 +0000 (11:29 +0200)]
Cleanup deprecation warnings in bgp/extensions/l3vpn

Eliminate some leftovers from codegen change.

Change-Id: I6f81e7a59020f512c68a9cddb84c78bd5c33d275
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup deprecation warnings in bgp/extensions/inet 83/90783/1
Robert Varga [Sat, 27 Jun 2020 09:21:28 +0000 (11:21 +0200)]
Cleanup deprecation warnings in bgp/extensions/inet

Eliminate some leftovers from codegen change.

Change-Id: I3bc180b1f965f9a5854e2d8b6454ed315cca72c8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup deprecation warnings in bgp/extensions/flowspec 82/90782/1
Robert Varga [Sat, 27 Jun 2020 09:17:17 +0000 (11:17 +0200)]
Cleanup deprecation warnings in bgp/extensions/flowspec

Eliminate some leftovers from codegen change.

Change-Id: Id91adbb2704739d3467ecb3f1a47894366798697
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup deprecation warnings in bgp/extensions/evpn 81/90781/1
Robert Varga [Sat, 27 Jun 2020 09:17:06 +0000 (11:17 +0200)]
Cleanup deprecation warnings in bgp/extensions/evpn

Eliminate some leftovers from codegen change.

Change-Id: I10a6898e73e85c8f7d1564651b90566237e231d1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup deprecation warnings in bgp/cli 80/90780/1
Robert Varga [Sat, 27 Jun 2020 08:56:57 +0000 (10:56 +0200)]
Cleanup deprecation warnings in bgp/cli

Eliminate some leftovers from codegen change.

Change-Id: I9eb2744f9b4dbc0d535c998d1e70048caca22d17
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoClean up MRI project references, take 2 03/90603/2
Robert Varga [Tue, 23 Jun 2020 09:54:29 +0000 (11:54 +0200)]
Clean up MRI project references, take 2

With most of the dependencies cleaned up, sweep the remaining
features to use version ranges to refer to MRI features.

Change-Id: I4af8d4b209a731d29219cdc0ed82edeca711047c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup MRI feature dependencies 07/89707/12
Robert Varga [Tue, 12 May 2020 15:28:44 +0000 (17:28 +0200)]
Cleanup MRI feature dependencies

Make sure we use ranged references to most MRI features. Also clean up
packaging of our artifacts, removing most bundle duplicates and unneeded
references.

Change-Id: I1524fce0b5ef18ad0ec8468af304dd6bf1cc98da
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix RIB activation 41/90441/1
Robert Varga [Sun, 14 Jun 2020 12:40:45 +0000 (14:40 +0200)]
Fix RIB activation

We now have a separate CodecsRegistry component, make sure we inject
that instead of codec/schema combo.

Change-Id: I277e40fb90b1140d9c59ff492024db0361845716
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoIntegrate controller-2.0.2 07/90407/1
Robert Varga [Thu, 11 Jun 2020 21:44:28 +0000 (23:44 +0200)]
Integrate controller-2.0.2

This bumps versions to the following:
- odlparent-7.0.3
- yangtools-5.0.3
- mdsal-6.0.2
- controller-2.0.2

Change-Id: I972cb3205f00e389e06a1fb53bc12bc8d8e6576a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove superfluous units specification 58/90358/1
Robert Varga [Tue, 9 Jun 2020 14:02:55 +0000 (16:02 +0200)]
Remove superfluous units specification

Units are defined in the base type, there is no need to define
them in the leaf.

JIRA: BGPCEP-907
Change-Id: I285db487de6807ccfe380914b88137f360d71e75
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUse IetfInetUtil for IpAddressNoZone formatting 24/90324/1
Robert Varga [Sun, 7 Jun 2020 10:28:34 +0000 (12:28 +0200)]
Use IetfInetUtil for IpAddressNoZone formatting

Rather than going through InetAddress.getHostAddress(), use
provided utilities to instantiate IpAddressNoZone more efficiently.
Fixes the following splat:

java.lang.IllegalArgumentException: Cannot create IpAddress from 2001:db8:1000:0:0:0:0:10%0
    at org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressNoZoneBuilder.getDefaultInstance(IpAddressNoZoneBuilder.java:26) ~[bundleFile:?]
    at org.opendaylight.bgpcep.pcep.topology.provider.AbstractTopologySessionListener.onSessionUp(AbstractTopologySessionListener.java:165) ~[bundleFile:?]
    at org.opendaylight.protocol.pcep.impl.PCEPSessionImpl.sessionUp(PCEPSessionImpl.java:377) [bundleFile:?]
    at org.opendaylight.protocol.pcep.impl.PCEPSessionImpl.handlerAdded(PCEPSessionImpl.java:425) [bundleFile:?]
    at io.netty.channel.AbstractChannelHandlerContext.callHandlerAdded(AbstractChannelHandlerContext.java:971) [bundleFile:4.1.48.Final]

Change-Id: Ifa13691b0487755de112cee7dea57cde50427972
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix NPE in BMP 39/90239/2
Robert Varga [Thu, 4 Jun 2020 03:07:37 +0000 (05:07 +0200)]
Fix NPE in BMP

Empty lists are being squashed to nulls now, make sure we account
for this this possiblity. Fixes the following splat:

java.lang.NullPointerException: null
at org.opendaylight.protocol.bmp.impl.app.BmpRouterPeerImpl.setPeerTables(BmpRouterPeerImpl.java:262) ~[bundleFile:?]
at org.opendaylight.protocol.bmp.impl.app.BmpRouterPeerImpl.<init>(BmpRouterPeerImpl.java:145) ~[bundleFile:?]
at org.opendaylight.protocol.bmp.impl.app.BmpRouterPeerImpl.createRouterPeer(BmpRouterPeerImpl.java:168) ~[bundleFile:?]
at org.opendaylight.protocol.bmp.impl.app.BmpRouterImpl.onPeerUp(BmpRouterImpl.java:249) ~[bundleFile:?]
at org.opendaylight.protocol.bmp.impl.app.BmpRouterImpl.onMessage(BmpRouterImpl.java:122) ~[bundleFile:?]
at org.opendaylight.protocol.bmp.impl.session.BmpSessionImpl.handleMessage(BmpSessionImpl.java:127) ~[bundleFile:?]
at org.opendaylight.protocol.bmp.impl.session.BmpSessionImpl.channelRead0(BmpSessionImpl.java:50) ~[bundleFile:?]
at org.opendaylight.protocol.bmp.impl.session.BmpSessionImpl.channelRead0(BmpSessionImpl.java:33) ~[bundleFile:?]

Change-Id: I303095aa30f296f0bb77d4d11b6a31ee77494abb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoIntegrate controller-2.0.1 68/90168/2
Robert Varga [Sun, 31 May 2020 12:14:02 +0000 (14:14 +0200)]
Integrate controller-2.0.1

This bumps versions to the following:
- odlparent-7.0.2
- yangtools-5.0.2
- mdsal-6.0.1
- controller-2.0.1

Change-Id: I392ee1604c693643d83008aef760db3eb9c772ae
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoReduce mdsal-binding-dom-adapter dependency 35/89735/1
Robert Varga [Wed, 13 May 2020 11:24:29 +0000 (13:24 +0200)]
Reduce mdsal-binding-dom-adapter dependency

We need the adapter only for testing purposes, lower the dependency
so as to clean up features.

Change-Id: I658827a7e3a3aa76c81faddcf8fb58b11fb2e95d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove bgp-rib-mock test-jar 00/89700/2
Robert Varga [Tue, 12 May 2020 11:28:17 +0000 (13:28 +0200)]
Remove bgp-rib-mock test-jar

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

Change-Id: I22e59e3967f3c92e3c0cd55d2fd627b64921bb92
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove bgp-config-example test-jar 99/89699/2
Robert Varga [Tue, 12 May 2020 11:26:00 +0000 (13:26 +0200)]
Remove bgp-config-example test-jar

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

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

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

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

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

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

4 years agoUpgrade compendium dependency 28/89328/1
Robert Varga [Thu, 23 Apr 2020 08:55:08 +0000 (10:55 +0200)]
Upgrade compendium dependency

We are using OSGi R6, the compendium reference should match.

Change-Id: Iafdf2f1ef31a90097a1205181924bacf0dd1a9e9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove duplicate dependency 27/89327/1
Robert Varga [Thu, 23 Apr 2020 08:54:37 +0000 (10:54 +0200)]
Remove duplicate dependency

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

Change-Id: I14d1c8faae01f2e88c49a685fdbf9c3685f05a44
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoHandle race-conditions in BGP shutdown code 61/88661/5
Ajay Lele [Tue, 24 Mar 2020 22:43:48 +0000 (15:43 -0700)]
Handle race-conditions in BGP shutdown code

JIRA: BGPCEP-900
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
Change-Id: Id50c83cd226f6786c9830b3b10d7e0eddda9653e

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

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

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

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

4 years agoRemove use of projectinfo property 77/88577/1
Robert Varga [Mon, 23 Mar 2020 10:29:21 +0000 (11:29 +0100)]
Remove use of projectinfo property

maven-project-info-reports-plugin is properly declared with a newer
version upstream, remove use of property-based version override.

Change-Id: I3f9e0b2f9f37b609b070cb3d3c79589fd3114244
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoUpdate PCEP Path Computation Documentation 18/88418/1
Olivier Dugeon [Fri, 13 Mar 2020 10:46:18 +0000 (11:46 +0100)]
Update PCEP Path Computation Documentation

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

JIRA: BGPCEP-898

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

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

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

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

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

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

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

JIRA: BGPCEP-897
JIRA: BGPCEP-896

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

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

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

Initial commit of Path Computation Server.

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

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

JIRA: BGPCEP-858

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

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

Initial commit of Path Computation Algorithms implementation.

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

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

JIRA: BGPCEP-858

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

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

Initial commit of Graph Model.

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

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

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

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

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

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

JIRA: BGPCEP-790 BGPCEP-895

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

4 years agoUse HashMap.computIfAbsent() in getNode() 70/87870/2
Robert Varga [Tue, 18 Feb 2020 18:14:57 +0000 (19:14 +0100)]
Use HashMap.computIfAbsent() in getNode()

There is no point in performing a lookup + store -- just perform
a conditional load, which saves a bucket lookup in the not-present
case.

Change-Id: Idacb1eba11da59fbb3c9554fa0d2f5fac92717d3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoBump versions by x.y.(z+1) 85/87985/1
jenkins-releng [Sat, 22 Feb 2020 04:30:15 +0000 (04:30 +0000)]
Bump versions by x.y.(z+1)

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