Claudio D. Gasparini [Mon, 19 Dec 2016 19:16:29 +0000 (20:16 +0100)]
BUG-5032: Introduce BGP Operational State
Introduce interfaces for expose BGP Operational State for:
-RIB
-PeerGroup
-Neighbor
-BGPState Collector
Change-Id: Ib6b053f4e7e734eb3f4525f7de4643c9b89c9a31
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Mon, 19 Dec 2016 22:36:09 +0000 (23:36 +0100)]
Replace UnsignedInt32Counter by LongAdder
Replace UnsignedInt32Counter, which is not
efficient and only provides of logs which are of
not use for a more suitable counter(LongAdder).
Change-Id: Iaad4879c9c3a783ac45f21d47f3379b22f22e3e4
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Igor Foltin [Wed, 4 Jan 2017 11:31:10 +0000 (12:31 +0100)]
Fix invalid YANG 1.0 leafrefs
Two YANG 1.0 models contain leafrefs with require-instance substatements
which is not valid for YANG 1.0 version. Comment out these substatements
for now. In the future, when YANG 1.1 support for such substatements
will be available, they can be uncommented.
Change-Id: I59cc7bd8f3fdcd14d96ee672fbceaf1d48f5836d
Signed-off-by: Igor Foltin <ifoltin@cisco.com>
Vratko Polak [Wed, 4 Jan 2017 09:06:31 +0000 (10:06 +0100)]
BUG-7251: Remove pcepy
remove no longer required pcepy code
Change-Id: Ib99682fc221b33b17ef972f1309dab43506cfa08
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Robert Varga [Thu, 22 Dec 2016 18:38:20 +0000 (19:38 +0100)]
BUG-7159: eliminate use of CrossSourceStatementReactor
We have YangParserTestUtils which are more convenient, use them
instead.
Change-Id: Ia7810aec6f7a6c66a71a1523993b45d274c57606
Signed-off-by: Robert Varga <rovarga@cisco.com>
Claudio D. Gasparini [Thu, 24 Nov 2016 13:59:00 +0000 (14:59 +0100)]
Fix Sonar complains
Fix naming convention, etc..
Change-Id: I2048e319bcef7bf41c47631413e0e9c9468c499d
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Wed, 30 Nov 2016 10:14:58 +0000 (11:14 +0100)]
BUG-7215: Fix App Peer ModifiedNodeDoesNotExistException
If Rib is reconfigured with different Family than the
previous supported one, application peer will be
reconfigured. In the case there are some routes or,
family table configured on Config DS, when restarting
App peer with new configuration will end on
ModifiedNodeDoesNotExistException.
Fix by:
-Make Application peer more defensiveness by ingore changes
on config DS for non supported Families.
- Register Change Listener once AdjRibIn has been
succesfully initialized.
Change-Id: I25b08b057fad02df365070c0a6d5177b9e0392a0
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Tue, 8 Nov 2016 08:12:09 +0000 (09:12 +0100)]
BUG-7028: Migrate BGP Benchmark App to BP wiring
Migrate BGP Benchmark App to BP wiring
Change-Id: I5632a5ec3afde41862004e172e451fc358c53eab
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Mon, 28 Nov 2016 10:46:33 +0000 (11:46 +0100)]
BUG-7222: Fix clustering BGPPeer NPE
Fix NPE: Any call to rib should be done
during singleton service instantiation or after.
Any call before can cause a NPE since RIB might be
on undefined status yet.
Change-Id: Ia1ebbc334f07362f325ac599f39f9d601e717321
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Vratko Polak [Tue, 22 Nov 2016 15:05:54 +0000 (16:05 +0100)]
Pcepy: Address pep8 violations
Newer libraries used in verification are more sensitive to
"E305 expected 2 blank lines after class or function definition".
Change-Id: I3f94115bb70b069f3eb417429bbc457c73048a7a
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Claudio D. Gasparini [Thu, 10 Nov 2016 12:59:51 +0000 (13:59 +0100)]
BUG-7003: Remove Thread.sleep() calls in tests
Partial improvement under Additional Paths tests.
The time spent has been reduced.
Change-Id: I8ebfd19af9147a10f1d5856b5478501f2ab890ab
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Iveta Halanova [Thu, 19 Nov 2015 09:27:55 +0000 (10:27 +0100)]
Misspelled method name correction
Change-Id: Ic6d803b6853324efa9e7868d142cf184fda47f58
Signed-off-by: Iveta Halanova <ihalanov@cisco.com>
Claudio D. Gasparini [Thu, 3 Nov 2016 10:53:33 +0000 (11:53 +0100)]
BUG-7006: Unit-tests sometimes hangs during execution
Fix sporadically hangs during unit-tests execution
Change-Id: Ia339af6d9181a7be8e4b3e6335bba250aaecd822
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Mon, 7 Nov 2016 08:24:10 +0000 (09:24 +0100)]
BUG-7098: Fix Sonar complains
Fix duplicate code
Naming conventions
Change-Id: I2425fc111b5890100cda942913b0d617b4029f2c
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Fri, 4 Nov 2016 13:02:30 +0000 (14:02 +0100)]
BUG-7003: Introduce CheckUtil
Introduce CheckUtil for replace Thread.sleep on tests
Change-Id: I6a74b7dc9563594424c8b1a0b03ca39890d3e803
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Fri, 4 Nov 2016 10:18:06 +0000 (11:18 +0100)]
BUG-7088: pcep-pcc-mock fails to start
Fix by exclude the signatures otherwise
we get an SecurityException.
Change-Id: I4eb8a6d945e6c0ff4e5d9612e59d93ea95044d03
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Robert Varga [Tue, 1 Nov 2016 12:58:31 +0000 (13:58 +0100)]
Fix wrong config version
This break autorelease, fix the version declaration.
Change-Id: I50ac84924ff4eaae47b8891485310df351d6ed56
Signed-off-by: Robert Varga <rovarga@cisco.com>
Milos Fabian [Thu, 27 Oct 2016 15:33:50 +0000 (17:33 +0200)]
Remove openconfig-impl module
This module's code is no longer used in project.
The modules funtionality has been moved to rib-impl an openconfig-spi.
Change-Id: I25a7d3f7da7326abe8dea915cfb62515e394f8e5
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Thu, 27 Oct 2016 15:29:04 +0000 (17:29 +0200)]
Do not install openconfig-impl bundle
This bundle is not longer used, remove it from BGP's features.
Change-Id: I4c919468966dc96c8498148eafd3b407649defee
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Thu, 27 Oct 2016 15:14:56 +0000 (17:14 +0200)]
Use BGPTableTypeRegistryConsumer instead of BGPOpenConfigMappingService
The BGPTableTypeRegistryConsumer is providing access to the map supported AFI/SAFI.
Remove BGPOpenConfigMappingService in a next step.
Change-Id: I837fe90446da983a4bad1f91fed871052ca67ef6
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Thu, 27 Oct 2016 12:18:59 +0000 (14:18 +0200)]
Register L2VPN EVPN AFI/SAFI
Change-Id: If2f3c18606053df53c9e5c1c69e976c3b8ea16df
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Thu, 27 Oct 2016 12:04:21 +0000 (14:04 +0200)]
Register IP L3VPN AFI/SAFI
Change-Id: If084f0b653af09d7729c038077ef908621840e2b
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Thu, 27 Oct 2016 11:01:02 +0000 (13:01 +0200)]
Register IP Labeled Unicast AFI/SAFI
Change-Id: I0b17e3bd205122a84b2c7f22adc1e71ac2a7fa3a
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Thu, 27 Oct 2016 10:41:34 +0000 (12:41 +0200)]
Register Link-state AFI/SAFI
Change-Id: I7c5c6ccafa23e555d10a0f8461513200c4173d6d
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Thu, 27 Oct 2016 09:57:08 +0000 (11:57 +0200)]
Register Flowspecs AFI/SAFI
Change-Id: I6394e921688ebcdf163e129ff01ebdc251dfd0df
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Claudio D. Gasparini [Tue, 25 Oct 2016 11:34:15 +0000 (13:34 +0200)]
BUG-6857: Network topology configuration file loader test
Network topology configuration file loader
implementation test
Change-Id: I243aac6f2de35b8f867c766116fa6b0a9d6278bd
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Milos Fabian [Wed, 26 Oct 2016 11:19:49 +0000 (13:19 +0200)]
Register IP Unicast AFI/SAFI in inet extension
Change-Id: I53c4cfeca8cc81c2ebd6b067b287366850f5cbe2
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Claudio D. Gasparini [Tue, 25 Oct 2016 11:28:51 +0000 (13:28 +0200)]
BUG-6857: Protocol config loader tests
Protocol config loader tests
Change-Id: I0dfb4db04b23cab700ee7dd41a59734bfd4ce690
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Milos Fabian [Wed, 26 Oct 2016 10:02:20 +0000 (12:02 +0200)]
Define OpenConfig API feature
In order to register AFI/SAFI suppport in BGP-MP extension,
define new OpenConfig API feature carrying API and SPI bundles.
Change-Id: I9f91639bf91b98924cb80fe4f8bbbd4903ff1d5d
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Wed, 26 Oct 2016 09:49:07 +0000 (11:49 +0200)]
Introduce BGPTableType Registry
The registry is holding supported AFI/SAFI in form of BGPTableType and OpenConfig AfiSafiType.
Currenlty, this two AFI/SAFI representations mapping is held in static map, which lacks of extensibility.
The registry provider context is supposed to be activated in BGP-MP extensions.
The registry would be consumed in BGP configuration mapping procedures.
Change-Id: Ib34147f56d85bf418b29924d6d1f805d4ed1a757
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Thu, 27 Oct 2016 08:59:36 +0000 (10:59 +0200)]
OpenConfig IMPL clean-up
Move all mapping utilities from OpenConfig IMPL to RIB-IMPL.
Next step - get rid of the static map (BgpTableType<->AfiSafiType) - extensibility is essenatial here.
Change-Id: Id88b8564d89138e78803bc7a6cf7d7b1ed5b879f
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Claudio D. Gasparini [Tue, 25 Oct 2016 11:27:24 +0000 (13:27 +0200)]
BUG-6857: Config file loader test
+ config file loader test implementation
Change-Id: I5035d333d0eb5a57be19cca0ebd2e4a57de5bd40
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Tue, 25 Oct 2016 11:35:54 +0000 (13:35 +0200)]
BUG-6857: Migrate from CSS initial config
Migrate from CSS initial config to Config Loader.
Change-Id: I8b2cb0e1cbcab62b2a50f94c3011ca0b8e70677f
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Robert Varga [Thu, 20 Oct 2016 18:24:13 +0000 (20:24 +0200)]
Derive aggregators from odlparent-lite
There is no point in inheriting from parent,
just use odlparent-lite. Should speed up the build
process.
Change-Id: Iecdf1b5d7c44d7f5f1c84a2107bf51c7011b6f23
Signed-off-by: Robert Varga <rovarga@cisco.com>
Claudio D. Gasparini [Tue, 25 Oct 2016 11:31:45 +0000 (13:31 +0200)]
BUG-6857: Network Topology Config Loader
- Create NetworkTopologyConfigFileProcessors
Serialize Topology normalized node to BI
and notifies Deployer, loading new configuration.
- network-topology-config.xml Contains Ipv4 topology,
Ipv6 topology, Linkstate Topology.
Change-Id: I7f0a607f43586e54952ff623ac1250bb55e33b54
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Tue, 25 Oct 2016 11:22:22 +0000 (13:22 +0200)]
BUG-6857: ConfigLoader rework
ConfigLoader rework. Split Watchservice.
Change-Id: If0a07f03b3f923d940eb0c8dc31acc691870cb0b
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Tue, 25 Oct 2016 21:01:29 +0000 (23:01 +0200)]
BUG-6857: ProtocolsConfigFileProcessor fix
sort registration
Change-Id: I852def5a937d55580b4cb9d9c54a2f5938854bc3
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Milos Fabian [Mon, 17 Oct 2016 13:34:13 +0000 (15:34 +0200)]
Bug 6622 - ClusterSingletonService registration race condition
This is a hot fix for a race condition issue which can happen during a service lifecycle.
An application which manages services in not aware when the unregistration is finished, hence
service close is followed by immendiate service registration which may fail consequently.
This condition is handled by reatempting service regsiration after 10 ms.
Also fixes RIBImpl - create TX chain in #instantiateServiceInstance and asynchronously clean operatoinal DS.
Change-Id: I110badc8bfb482a5b7cb6545b882cda2d0c661ae
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Ajay [Wed, 19 Oct 2016 06:37:57 +0000 (06:37 +0000)]
Bug-6781: Inbound and outbound connection attempts from controller are not synchronized
- created new peer session listener registry in BGPPeerRegistry for the
outbound connection establishment logic to get notified when new peer
session is created or destroyed
- updated outbound connection establishment logic to attempt a connection
only when no existing session is present
- updated unit-tests
Change-Id: Ie6afb79e290c1a3c98d82af87febd6851ad200c2
Signed-off-by: Ajay <ajayl.bro@gmail.com>
(cherry picked from commit
81050d598744b6d5fab63302f747c70ff03c366f)
Ajay [Fri, 21 Oct 2016 23:32:57 +0000 (23:32 +0000)]
Bug-6737: bgp:show-stats Karaf CLI causes NPE
Change-Id: I2006c119d1213b0a69ca11c0cb557dd503d69cc6
Signed-off-by: Ajay <ajayl.bro@gmail.com>
(cherry picked from commit
40a2e9a540863b5bfefdd8d252dadf7e7a1ec741)
Ajay [Thu, 20 Oct 2016 21:28:25 +0000 (21:28 +0000)]
Bug-7004: NPE when configuring BGP peer using OpenConfig API twice
- handle scenario where peer not having AFI-SAFI info is
reconfigured using OpenConfig API
- updated unit-test
Change-Id: Ib9dd4550814fe861ab60efc3276cb91b45692078
Signed-off-by: Ajay <ajayl.bro@gmail.com>
(cherry picked from commit
7309aa7129e23dda57754ce786a2f330ec914331)
Ajay [Wed, 19 Oct 2016 22:55:55 +0000 (22:55 +0000)]
Bug-6889: BGPCEP Boron Autorelease Breaking
- if server is not ready when client connects, wait for client reconnection
before checking for test pass/fail criteria
Change-Id: I172d3e829f70081f0d943458dd43c6139381bf61
Signed-off-by: Ajay <ajayl.bro@gmail.com>
(cherry picked from commit
617ca03430bde5614118d514204a086a9300b1d1)
Alexis de Talhouët [Tue, 18 Oct 2016 21:30:19 +0000 (17:30 -0400)]
Do not wrap Guava as a bundle in features' definition
As it will refresh the bundle when the feature is loaded,
because it will certainly be already installed,and hence
will refresh all bundles depending on Guava.
Also, this is not necessary.
This patch is not directly tied to BUG-6956 but it's a result of it
Change-Id: If2fff1c6326fb8b53786d59e94c364cf0f3292c3
Signed-off-by: Alexis de Talhouët <adetalhouet@inocybe.com>
Alexis de Talhouët [Thu, 20 Oct 2016 15:57:29 +0000 (11:57 -0400)]
Add missing dependency
see: https://git.opendaylight.org/gerrit/#/c/47166/2/features/bgp/src/main/features/features.xml
Change-Id: I5044b6a084678bd3dfc2128db74a9b06cb8cd177
Signed-off-by: Alexis de Talhouët <adetalhouet@inocybe.com>
Claudio D. Gasparini [Thu, 6 Oct 2016 12:45:08 +0000 (14:45 +0200)]
BUG-6857 - Initial configuration file loader for BGP
- Create BGP Config Loader service,
Takes care of load files under etc/bgp/ and notifies
ConfigFileProcessors when files matches patter.
Pattern is created based on schema name
eg. Procotols Schema requires files protocols-*.xml
- Create ProtocolsConfigFileProcessors
Serialize Protocols normalized node to BI and notifies
Deployer, loading new configuration.
- protocols-config.xml
Contains BGP initial configuration ( Rib + Peer)
Change-Id: Ic350584c84f90653fe970748a6a05e7b30286835
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Alexis de Talhouët [Wed, 24 Aug 2016 19:43:41 +0000 (15:43 -0400)]
Remove reference to sal-inmemory-datastore config system file
It was deprecated here: https://git.opendaylight.org/gerrit/#/c/44882/
thus no need to keep the config file namespace around.
Change-Id: I304e8df8370cc86c253f39f4e40db7760eaa57ae
Signed-off-by: Alexis de Talhouët <adetalhouet@inocybe.com>
Stephen Kitt [Wed, 19 Oct 2016 07:51:45 +0000 (09:51 +0200)]
BUG-6980: rename commons.opendaylight.version
Just for coherence, this patch renames commons.opendaylight.version to
odlparent.version.
Change-Id: Ic74f8ec405a3806208f1b517f8ee91e09e581eff
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Claudio D. Gasparini [Mon, 17 Oct 2016 11:30:19 +0000 (13:30 +0200)]
BUG-6955: Fix BGP TestTool
Register BGP Extensions
Change-Id: I1fd1874d580ad922afa776d45c195118b694286f
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Mon, 17 Oct 2016 10:04:07 +0000 (12:04 +0200)]
BUG-6954: Create Application Peer with Route Counter
Create Application Peer with Route Counter
Change-Id: I41faaa0dedebb158139987617a1106ddd9c584a5
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Tue, 11 Oct 2016 14:00:38 +0000 (16:00 +0200)]
BUG-6844: Remove BGP Peer Acceptor Module
Remove BGP Peer Acceptor Module and corresponding
yang models, since they are not longer required.
Change-Id: If0ad806c25b040051e299061b28022c0bf4ebc6d
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Mon, 3 Oct 2016 10:39:21 +0000 (12:39 +0200)]
BUG-6844: Wire BGP server with blueprint
- Wire BGP server with blueprint
- Support multiple instances of BGP server
- Creation of bgp-peer-acceptor-config
- BGPPeerAcceptor test
Change-Id: I7b1b57d4e7572d021884f55ad96693035cad9d04
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Wed, 28 Sep 2016 09:24:25 +0000 (11:24 +0200)]
BUG-6257: Implement PMSI tunnel attribute handler
-Fix pmsi tunnel attibute yang model
-Implement PMSI tunnel attribute handler
-Implement test
Change-Id: Iffc1750724c3e97d1694fba8360007741ad08d80
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Ajay [Thu, 6 Oct 2016 18:33:12 +0000 (18:33 +0000)]
Bug-6889: BGPCEP Boron Autorelease Breaking
Increased timeout in BmpMockTest using Mockito#timeout
(it waits till timeout only if needed)
Change-Id: I8151757aa29a46c30b674398efeddc711189ac93
Signed-off-by: Ajay <ajayl.bro@gmail.com>
(cherry picked from commit
bf9d2ba0f80146b8ded3cc61c2472d89ade35f3d)
Milos Fabian [Mon, 26 Sep 2016 14:21:55 +0000 (16:21 +0200)]
Bug 6788: peer singleton service closed just after initialization
In case of HA failover scenario, configured peer is not getting initiated on
new singleton group master node, as the neighbor is removed from configuration when
default example-rib-impl is initiated (OpenConfig BGP configuration written to config DS).
To avoid overriding neighbors configuration after failover, minimize scope of rib-impl
representation from "protocol" to "global" node.
Change-Id: If4df2a070e0cbceae1c42cbe0d0c5a2258388092
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Thu, 29 Sep 2016 09:21:43 +0000 (11:21 +0200)]
Bug 6809: PMSI attribute's mandatory leaves are always enforced
The PMSI Tunnel is an optional BGP path attribute.
Enforce the attribute's leaves presence only if the attribute is present in route's attributes.
Change-Id: Ifadf68ac30791614ed7695b940d3042cdca6aeb7
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Thu, 29 Sep 2016 10:59:17 +0000 (12:59 +0200)]
Bug 6811: wrong namespace for binding-codec-tree-factory
Set correct type of binding-codec-tree-factory in initial BGP configuration.
Change-Id: Ic35a0089157f02be9d5d45bc08e23f377c2dd649
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Fri, 30 Sep 2016 09:28:27 +0000 (11:28 +0200)]
Bug 6835: Missing "simple-routing-policy" knob in OpenConfig BGP Neighbor configuration
Enables to configure simple routing policy (learn-none/advertise-none) via OpenConfig BGP API.
Change-Id: I1de260e57e603d5abf09f891a5fc971861217e0d
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Wed, 28 Sep 2016 10:57:49 +0000 (12:57 +0200)]
Bug 6675: add missing cluster-id configuration knob
Enables global cluster identifier configuration for local RR.
Change-Id: I810ffcd097795ea4296a89a624f762863fea6526
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Claudio D. Gasparini [Tue, 27 Sep 2016 09:37:36 +0000 (11:37 +0200)]
BUG-6616: BGP synchronization can happen after the session was closed
Fix by handle message only when session is up.
-Handle exception in synchronation mode.
-Sort close of the session, removal of the peer
and send close reason message.
Change-Id: I21328f9a63d5360603f219cd3699b08874da318b
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Tue, 20 Sep 2016 14:20:21 +0000 (16:20 +0200)]
BUG-6799: IllegalAccessException on install bgp
Fix by remove final on reflected #close method of
TopologyReferenceSingletonServiceImpl
Change-Id: I0cca40aa1925348812a573d61022253243f731aa
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Tue, 27 Sep 2016 07:59:24 +0000 (09:59 +0200)]
BUG-6734: Generate correct L3VPN route key
VPN label should no be a part of the L3VPN route key
Change-Id: I004be87834f60bd4d10d7d2f64d9775a1d06bd3c
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Tue, 20 Sep 2016 09:23:38 +0000 (11:23 +0200)]
BUG-6747: Race condition on peer connection
Race condition is observed under Loc rib when new peer is connected.
There is a chance that Eff-rib-in changes are notified before
than changes under supported tables, therefore none existing route
is announced to the peer.
Fix by implement a unique ExportPolicyPeerTrackee per TableType and
per Rib.
On session stablished, peer will register itself to supported tables,
and remove himself when session down. This allow us to remove
CacheDisconnected peer, since it wont be longer required.
Also LocRib will be exclusively updated only related routes.
-Implement Base Path selection test
-Implement ExportPolicyPeerTrackerImpl test
Change-Id: I38b72f0ac9db09c64c4acdfeeb8eabade6ed046c
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Thu, 22 Sep 2016 11:48:09 +0000 (13:48 +0200)]
BUG-6784 - Failed to fully assemble schema context for ..
Failed to fully assemble schema context for ..
when installing odl-bgpcep-bgp-linkstate
Fix by sort bundle import of the feature
Change-Id: Ie9398dfab8500a06cddd38f0761d68f1e6971658
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Sun, 18 Sep 2016 14:00:34 +0000 (16:00 +0200)]
BUG-6647 Increase code coverage and clean up IV
-Implemet Rib-impl test
Change-Id: Idc952503dddae027e5a48d7b866ed8e94771287f
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Ajay [Fri, 16 Sep 2016 05:07:32 +0000 (05:07 +0000)]
Bug-6662: On connection reset by peer, sometimes re-connection attempt stops after HoldTimer expired error
This issue happens when the neighbor config is removed from peer router while retaining the BGP router config.
Under this scenario, since BGP router config is still present, router is listening on BGP port. So when ODL
tries to connect, the connection succeeds. However the BGP negotiation fails as neighbor config has been removed
from router.
BGPReconnectPromise.ClosedChannelHandler#channelInactive triggers the reconnect, but the actual connection
retries as per the connection stragegy are done from BGPProtocolSessionPromise.BootstrapConnectListener#operationComplete
In failure scenario, since connection succeeds but negotiation fails, failure is not detected in BGPProtocolSessionPromise.BootstrapConnectListener#operationComplete
and so no reconnection attempts are made.
When negotiation fails, AbstractBGPSessionNegotiator#negotiationFailedCloseChannel is called, which causes BGPReconnectPromise.ClosedChannelHandler#channelInactive
to get called. Fix involves detecting negotiation failure here, and calling BGPProtocolSessionPromise#reconnect.
The scheduled job in AbstractBGPSessionNegotiator to detect hold-timer expiry during negotiation is also being cancelled
from AbstractBGPSessionNegotiator#negotiationFailedCloseChannel as the job is not needed when channel is closed.
Change-Id: Ie4aecd1f99312476abd75f008c0a3ee4ce1d44a6
Signed-off-by: Ajay <ajayl.bro@gmail.com>
Claudio D. Gasparini [Wed, 7 Sep 2016 17:55:51 +0000 (19:55 +0200)]
BUG-6647 Increase code coverage and clean up III
-Implement Openconfig Tests
-Implement testtool-util tests
-Implemet Rib-spi test
Change-Id: I85d45ef84f37b8e00249e3a462c8ee9c9c5f5a60
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Kevin Wang [Tue, 13 Sep 2016 20:02:08 +0000 (13:02 -0700)]
BUG-6701 Change name of link-state to linkstate-attribute
- There are two groupings in bgp-linkstate.yang, link-state and linkstate;
Despite the fact the meaning of the twos names are unclear, it causes
compiling issue in OSes that are filename case-insensitive, such as OS X.
This patch renames link-state to linkstate-attribute
Change-Id: I2e67f456523455109e0c0b2d6e326bf54cea397c
Signed-off-by: Kevin Wang <kevixw@gmail.com>
Milos Fabian [Thu, 21 Jul 2016 11:50:53 +0000 (13:50 +0200)]
Remove unused BGP OpenConfig provider implementation
Since BGP configuration is now exposed to config DS,
there is no need to have this service duplicated.
Hence remove all pieces of unused BGP OpenConfig
provider service.
Also remove netconf dependencies, that are no longer needed.
Change-Id: I31cd505c59a605f966fc61bc55c8e26850d20d2c
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Mon, 5 Sep 2016 21:59:40 +0000 (23:59 +0200)]
OpenConfig BGP more defensive
Add null checks and set default values to allow to configure BGP with
minimalistic configuration.
Change-Id: Id7f4c4014832054100e9148f575e215d493c3bb7
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Tue, 16 Feb 2016 08:49:30 +0000 (09:49 +0100)]
Bug 4827 - BGP add-path unit tests
N Paths selection mode test
All Paths selection mode test
Change-Id: Ide97bea2e8af21aba82305e0422038e7552e0df8
Signed-off-by: Brian Freeman <bf1936@att.com>
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Claudio D. Gasparini [Wed, 7 Sep 2016 09:55:04 +0000 (11:55 +0200)]
BUG-6647 Increase code coverage and clean up II
Remove unused methods, parameters.
Change-Id: I14fdf71afc08a5c85fd86ea4a40c9b15993157e1
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Wed, 7 Sep 2016 08:43:33 +0000 (10:43 +0200)]
BUG-6647 Increase code coverage and clean up I
-Remove unused imports
Change-Id: Ib930f52f961a262acc33e720c51c2e5bbe8792bc
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Tue, 6 Sep 2016 16:35:56 +0000 (18:35 +0200)]
BUG-6651: Route Advertisement improvement
When N/All Paths
-advertise only the new best path selected.
When Best Paths selected are updated
-Don't send a withdrawal for removed path from the best ones.
-Only send thew withdrawal when route is removed by owner
Change-Id: Ia5051ac97e26cfe7cf9f28a5bc6ddb21cf87670a
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Milos Fabian [Wed, 31 Aug 2016 15:40:49 +0000 (17:40 +0200)]
Bug 6585: BGP ChannelOutputLimiter waits forever
After a while (when an output buffer reach upper bound),
BGP's ChannelOutputLimiter handler get stacked waiting for the channel to become writable again.
The writability change never happen, however socket flush is invoked,
so the session peer dies on holdtimer expiration.
Looks like calling #flush when writability changes to non-writable has no effect.
Invoking #flush in #ensureWritable makes the expected action.
Change-Id: I95681d87c30aff82ec360a2d13fc01fe35873507
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Ajay [Fri, 2 Sep 2016 06:10:59 +0000 (06:10 +0000)]
Bug-6621: ModifiedNodeDoesNotExistException encountered while building Linkstate topology
- added null check in BGP topology builder removeObject() method to
gracefully handle issue created by BUG-6577
- when destroying operational topology to recover from a failure,
flush the internally stored topology info as well so that both are in sync
Change-Id: Id239d74738d43dd63177aa3b2ba1d3d9136c3338
Signed-off-by: Ajay <ajayl.bro@gmail.com>
Milos Fabian [Thu, 1 Sep 2016 08:39:52 +0000 (10:39 +0200)]
Bug 6604 - Fix NPE in AbstractBgpTopologyProvider#topologyTypeFilter
The BGP topology provider is not the only ODL component which is writing to
config DS network-topology node (i.e. netconf-topology).
Make the code more defensive to avoid NPE when filtering topologies' configuration
without topology-type container.
Change-Id: I493759ce23277ac6b4c5f15653708c853426e56b
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Thu, 1 Sep 2016 14:04:39 +0000 (16:04 +0200)]
Bug 6497 - Wrong augmentations used in BGP
Fix BGP OpenConfig augmentations usage after changes in
yangtools parser.
Change-Id: Idfe474f6e2fd345934d3d7e74e581d8fb9547868
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Robert Varga [Thu, 1 Sep 2016 14:20:16 +0000 (16:20 +0200)]
BUG-6497: fixup for shifted augmentations
With the numbering scheme fixed in yangtools, this patch
adjusts the code to use correct augmentation.
Change-Id: I50a9fa058bbff9d58a52eff39c0a750410b5fe8b
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Wed, 31 Aug 2016 21:41:05 +0000 (23:41 +0200)]
BUG-6497: fixup augmentation lookup
This fixes the augmentations being looked up so they correspond
to the model. It also makes sure we squash them to minimum required
interface, as that is all we require.
Change-Id: I227e35a3cba596d41bcedaddf3b0196c18b0874b
Signed-off-by: Robert Varga <rovarga@cisco.com>
Ajay [Mon, 29 Aug 2016 20:56:34 +0000 (20:56 +0000)]
Bug-6468: Duplicate cleanup and connected-peer-counter decrement during BGP session cleanup
1. Add synchronized to BGPPeer#releaseConnection to avoid race condition
2. Add check to BGPSessionImpl#closeWithoutMessage so that it's body does not
get executed twice, even if it does get called twice during session cleanup
Change-Id: I78d89de2c9c0fa8968bbb6a019d568a539a8c5f7
Signed-off-by: Ajay <ajayl.bro@gmail.com>
Robert Varga [Wed, 31 Aug 2016 12:01:42 +0000 (14:01 +0200)]
Remove duplicate dependencies
These trigger maven warnings, remove them.
Change-Id: I775653ed89f3052952adb1832671573c29161110
Signed-off-by: Robert Varga <rovarga@cisco.com>
Milos Fabian [Wed, 27 Jul 2016 10:27:14 +0000 (12:27 +0200)]
Bug 5685: Integate BGP topology provider with cluster singleton service.
The BgpTopologyDeployer service is responsible for a topology builder instances creation.
In clustered environment, this service is running on all three nodes, consuming the same
configuration, create the same topology builder instance and register it to the cluster singleton service
provider on all nodes, but only one instance become active.
This integration allows fail-over scenarios and avoids confilicting datastore modifications for
topology builders with the same topology-id.
Provide backwards compatility for CSS modules, where instance is created and configuration
is written to DS when instance become active.
Change-Id: Id1af5368f5d9fad04243e2ab909c5948632626d7
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Fri, 26 Aug 2016 19:54:01 +0000 (21:54 +0200)]
Bug 6530 - ApplicationPeer's CSS configuration not visible in OpenConfig BGP
Write Neighbor, representing application peer module configuration, when
singleton service is initiated.
Added missing "group name" augmentation of neighbor's configuration.
Change-Id: I7dd558648c3ec275e05ec3245309c7f3473b721c
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Milos Fabian [Mon, 29 Aug 2016 12:41:04 +0000 (14:41 +0200)]
Bug 6568 - Termination Point Type is never set in BGP-LS topology
Change-Id: Ic7695b821f34c93826b8cde78921122222725e65
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Claudio D. Gasparini [Wed, 22 Jun 2016 07:07:30 +0000 (09:07 +0200)]
BUG-6020: FlowspecL3vpn RIBSupportTest
FlowspecL3vpn RIBSupportTest
Change-Id: Ia3c057b9e0e2166eb9771ee05f4a9891d6dd053c
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Sat, 13 Aug 2016 13:34:27 +0000 (15:34 +0200)]
BUG-6409: Fix L3vpn flowspec routes model
Fix L3vpn flowspec routes model to fit with
corresponding destination route model.
Change-Id: I4c60d4550b423b42848912da6acde787ebe17661
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Om Prakash [Tue, 16 Aug 2016 13:24:54 +0000 (09:24 -0400)]
BUG-4808: Improve caching of effective attributes
Instead of reusing effective attributes for a particular update, maintain a cache for the duration of peer's role.
This way attributes are cached across multiple messages, maintaining memory efficiency in face of fragmented updates.
The cache maintains weak references only, hence does not prevent garbage collection of stale entries.
Change-Id: I625d2b129814772030ff478b4ec99b71e9b98d37
Signed-off-by: Om Prakash <op317q@att.com>
Omair [Sun, 28 Aug 2016 00:48:21 +0000 (17:48 -0700)]
BUG 6541: Switch the Epoll mode in PCEP and PCC-mock to level-triggered
PCEP and PCC-mock are depending on round-robin processing of incoming messages.
Therefore when using epoll native transport, switch the mode to "level-triggered".
Change-Id: I51537b7b0ecf9465f21186e78ca8c37e1433bf19
Signed-off-by: Omair <of8826@att.com>
Milos Fabian [Mon, 25 Jul 2016 15:48:25 +0000 (17:48 +0200)]
Bug 5061: Move BGP topology providers configuration to config DS
Allow to configure BGP topology provider from config DS Topology subtree.
The BGP topology provider configuration consists of topology-id,
rib-id (where topology provider is listening) and topology-type (identifies the type
of the BGP topology provider - IPv4/6 reachability, linkstate).
Services are wired with Blueprint, while CSS module based configuration
is still preserved.
Change-Id: I94e27c6cdf7f3f5c55b6972324ddb486d2ac185d
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Ajay [Thu, 25 Aug 2016 03:10:34 +0000 (03:10 +0000)]
Bug-5922: inbound IPv6 connection fails if address has zero groups in it
- Convert the remote IPv6 address to normalized notation (full-form and leading 0s removed)
so that comparision with configured BGP Peer address works
- BGP Peer address is converted to this form in BGPPeerModule#getNormalizedHost
Change-Id: I9ce0b5a925a0599e7cca52adf2ec2f2a331026c5
Signed-off-by: Ajay <ajayl.bro@gmail.com>
(cherry picked from commit
2074c9147bd3eed95865de32ad6531993423acd3)
Milos Fabian [Tue, 23 Aug 2016 09:33:02 +0000 (11:33 +0200)]
Bug 6442: Keepalive not send by BGP ODL
When ODL BGP is reading a bigger amount of data using
native epoll transport, scheduled KA hndler task is getting executed.
As a result, remote peer's holdtimer expires -> connection is dropped.
Switch the Epoll mode to "level-triggered", as we want to use MAX_MESSAGES_PER_READ
channel option (round-robin processing).
Ref.: https://netty.io/4.0/api/io/netty/channel/epoll/EpollChannelConfig.html#setEpollMode(io.netty.channel.epoll.EpollMode)
Change-Id: If4a6ac3e3fc9d006cd6ba54c1606731add8bfa2c
Signed-off-by: Milos Fabian <milfabia@cisco.com>
(cherry picked from commit
efba83b67ddbb7fe2fe054907a1fe0fb8f96ed0a)
Milos Fabian [Thu, 18 Aug 2016 12:18:57 +0000 (14:18 +0200)]
Bug 6442: Use pingpong DOM data broker in BGP
Missed when converting to blueprint wiring.
Change-Id: I199ef90bdecbb74cb740e4141763d1ff7bb798d2
Signed-off-by: Milos Fabian <milfabia@cisco.com>
Kevin Wang [Thu, 11 Aug 2016 22:23:51 +0000 (15:23 -0700)]
BUG-6470 Fix deadlock in BGP session creation
- Fix intermittent error in BGPDispatcherImplTest. In AbstractBGPSessionNegotiator,
handleMessage() was able to be invoked by channel.pipeline().replace(..) recursively.
So when handling a BGP message, it could happen that this.state gets out of sync
and exception got thrown.
Change-Id: I346ab56fc85d1705099a69084cb89d660d8e1f61
Signed-off-by: Kevin Wang <kevixw@gmail.com>
Ajay [Wed, 17 Aug 2016 18:44:42 +0000 (18:44 +0000)]
Bug-6453: NPE reported in RibImpl class during controller shutdown when debugs enabled
- Log message before calling RIBImpl#close()
- Add null check to RIBImpl#toString()
Change-Id: I5eb4bd834f346bec379d888615cb2c522af923a8
Signed-off-by: Ajay <ajayl.bro@gmail.com>
(cherry picked from commit
6becb697ad881e0cfb7331a543a00f7c8bcb0b30)
Claudio D. Gasparini [Wed, 17 Aug 2016 10:09:56 +0000 (12:09 +0200)]
BUG-6437: Fix race condition when closing singleton group I
Fix
- sort when singleton instances are registered.
- remove configuration when App module close
Change-Id: I5547acb36285c56793564451fcb678ed4e047414
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Wed, 17 Aug 2016 10:09:56 +0000 (12:09 +0200)]
BUG-6460: Fix Neighbor Comparison
Fix comparison of neighbor by fix
-Neighbors can have same AfiSafi but with different sort.
-Also add default values to Neighbour builder fromBgpPeer.
Change-Id: I0f3118741aae2448ec980ada14dc58be59a4c2c9
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Wed, 10 Aug 2016 12:53:28 +0000 (14:53 +0200)]
BUG-5685: Register BGP Application Peer Cluster Singleton Service
Register BGP Application Peer Cluster Singleton Service.
When running on clustering, it was need it to have different
configuration per instance to avoid conflicts.
Now all instance can have same configuration,
since cluster service provider take cares of make active
the one is running on Leader Cluster. If Leader goes down,
the instance from the new Leader will become active.
Change-Id: I5316a50b5ceaf54c838018860baefc5ae326465b
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Wed, 10 Aug 2016 12:51:42 +0000 (14:51 +0200)]
BUG-5685: Register BGP Peer Cluster Singleton Service
Register BGP Peer Cluster Singleton Service.
When running on clustering, it was need it to have
different configuration per instance to avoid conflicts.
Now all instance can have same configuration,
since cluster service provider take cares of make active
the one is running on Leader Cluster. If Leader goes down,
the instance from the new Leader will become active.
Change-Id: Ia4a95123e50fcb962c217b21967acf5a8820727d
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Claudio D. Gasparini [Tue, 16 Aug 2016 09:33:55 +0000 (11:33 +0200)]
BUG-6427: Application peer doesnt announce routes II
Fix get Peer Destination role
Change-Id: If3f8a5e29105b36c793022aea0a7ed716d31f4b9
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
Milos Fabian [Wed, 27 Jul 2016 16:00:13 +0000 (18:00 +0200)]
Bug 5061: Support remote port number configuration
Augment OpenConfig Neighbor transport configuraton to
support remote port configuration (default 179).
Change-Id: I0ab2f34aa5faa522d343a168e7c164696b31177f
Signed-off-by: Milos Fabian <milfabia@cisco.com>