81 Commits
Author SHA1 Message Date
FUJITA Tomonori 36572f85fc server: fix ListPolicyAssignmet() with empty name
if the name isn't specified, the assignment of the global and route
server clients. Non route server client doesn't have the assignment.

Signed-off-by: FUJITA Tomonori <[email protected]>
2019-01-27 21:33:25 +09:00
FUJITA Tomonori 526bd67f5d server: dynamic neighbor deletion panic
https://github.com/osrg/gobgp/commit/318a91e31b8baed86bb66a3767525da68ae49a5d

The above commit added a bug to close a closed channel; after deleting
a dynamic neighbor, handleFSMMessage() must return. Otherwise
cleanInfiniteChannel() is called twice.

https://travis-ci.org/osrg/gobgp/jobs/483896487

Signed-off-by: FUJITA Tomonori <[email protected]>
2019-01-25 22:57:13 +09:00
Foivos Filippopoulos 318a91e31b Allow graceful restart for dynamic neighbors 2019-01-17 17:07:34 +00:00
Eiichiro Watanabe 61d7a5e90b server: Fix peer down reason code in BMP 2019-01-12 00:51:23 +09:00
FUJITA Tomonori 98d8925b82 server: fix wait time before active conneciton
also avoid unittest race.

Signed-off-by: FUJITA Tomonori <[email protected]>
2019-01-09 21:24:29 +09:00
FUJITA Tomonori 1d14b8ecfb silence staticcheck warnings
Signed-off-by: FUJITA Tomonori <[email protected]>
2019-01-09 14:36:48 +09:00
Hitoshi IrinoandFUJITA Tomonori 4e862fa8f0 zebra: Introducing MIN_ZAPIVER and MAX_ZAPIVER. And avoiding double close channel when sequential retry to connect zebra.
- Introducing MIN_ZAPIVER and MAX_ZAPIVER for avoiding editing files except for zapi.go when new ZAPI version will be supported in future.
- Fix a bug avoiding panic by double close for a channel.
- Changing algorithm for sequential retry to connect zebra.
2018-12-30 21:52:15 +09:00
Eiichiro Watanabe 67947eeda6 Fix incorrect values in BMP Statistics Report(type 7 and 8) 2018-12-30 08:49:05 +09:00
FUJITA Tomonori bbc85d46c3 server: kill getNeighbor()
Use ListPeer() instead.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-12-29 08:34:03 +09:00
FUJITA Tomonori d7e5bf22a6 fix bmp statistics
fix the regression of the adj counter due to
301b48532d

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-12-28 23:27:53 +09:00
FUJITA Tomonori 8e7741a0a8 api: rename ValidationDetail to Validation
Let's simply use 'validation' because there is no other validation
structure.

We could add validation results from other than rpki so drop rpki name.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-12-24 10:13:00 +09:00
FUJITA Tomonori 8d0a8b0ffa make the usage of type name in protobuf consistent
Signed-off-by: FUJITA Tomonori <[email protected]>
2018-12-23 23:40:37 +09:00
FUJITA Tomonori ababf3068c make Add/Delete/ListPath APIs symmetric
- AddPath() with an api.Path object then DeletePath() works with the same api.Path object.
- ListPath() returns an api.Path object then DeletePath() works with the same api.Path object.

The above is guaranteed with and without PeerInfo (SourceAsn and SourceId).

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-12-23 19:29:23 +09:00
FUJITA Tomonori 46e3754761 server: replace tomb with context
All what we need is cancelling. Let's use the standard way for it,
context.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-12-19 20:14:24 +09:00
FUJITA Tomonori 598bba9fb2 server: use Dialer Control method instead of hack to modify connection before dialing
Use the feature of go 1.11 to remove the hack.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-12-19 20:11:56 +09:00
FUJITA Tomonori 301b48532d support received, accepted, and advertised counters per family
Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-26 17:49:48 +09:00
FUJITA Tomonori a5763c20d4 api: remove AddPaths from Peer and PeerGroup
AddPaths in AfiSafi should be used; it can handle configuration per
family.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-25 23:27:02 +09:00
FUJITA Tomonori 7ec6a96962 api: move RouterId to PeerState from PeerConf
It's not configuration.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-25 20:15:04 +09:00
FUJITA Tomonori 79a461c147 api: move remote_cap and local_cap to PeerState from PeerConf
Both should be in PeerState like OpenConfig.

Also remove unused supported_capabilities.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-23 21:01:03 +09:00
FUJITA Tomonori dbd0c21d2e server: fix handleRouteRefresh and softResetOut
both assume that getBestFromLocal() returns filtered paths by policies
but it doesn't. Paths filtered by policies are returned as withdraw
paths.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-17 21:50:32 +09:00
FUJITA Tomonori 6b05d9db0f api: rename NlriAny in api.Path to Nlri
Also rename PathAttrsAny to PathAttrs. Both are the first choice
rather than the binary format members.

Support SortType member to ListPathRequest to add an option to return
unordered paths.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-16 16:49:49 +09:00
FUJITA Tomonori 8856dd599a server: fix handleRouteRefresh()
Can't modify a Path object in a table.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-16 14:51:46 +09:00
FUJITA Tomonori c1bca25559 use google/protobuf/timestamp.proto
use google/protobuf/timestamp.proto instead of our own way to
represent time.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-16 12:23:18 +09:00
Eiichiro WatanabeandFUJITA Tomonori fa387c9065 Fix Statistics Report in BMP 2018-11-14 19:32:24 +09:00
FUJITA Tomonori 99b2724386 server: change List API design
https://github.com/osrg/gobgp/issues/1763#issuecomment-437594975

Follow Chris's proposal; more consistent with gRPC streaming API.

Also supports context properly.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-13 14:06:55 +09:00
FUJITA Tomonori 91dd60676b server: fix inconsistent receiver name warnings
fix 'receiver name ss should be consistent with previous receiver name s for BgpServer'.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-13 13:56:12 +09:00
FUJITA Tomonori b3191fc7a2 server: unexport BgpServer's Listeners()
Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-13 13:56:12 +09:00
jack 528f75164c add anyNlri toPathApi when path.IsWithdraw 2018-11-13 11:45:05 +08:00
Eiichiro WatanabeandFUJITA Tomonori f0aaac4f64 server: Fix wrong value of RouteMonitoringPolicy from grpc 2018-11-13 07:11:27 +09:00
Eiichiro WatanabeandFUJITA Tomonori 0eb3dcede5 Fix intervals for MRT 2018-11-12 21:32:07 +09:00
Eiichiro Watanabe 4cc7a81e8f Support AdminDown from config 2018-11-12 14:41:58 +09:00
FUJITA Tomonori 99556f9cfc server: change monitor API design
https://github.com/osrg/gobgp/issues/1763#issuecomment-437594975

Follow Chris's proposal; consistent with the rest of the APIs.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-12 09:30:20 +09:00
Eiichiro Watanabe 289fc39deb server: avoid deadlock
peer.configuredRFlist() uses lock in itself.
2018-11-10 18:40:14 +09:00
Eiichiro Watanabe eebc7291ce server: avoid deadlock
toConfig() uses lock in itself.
2018-11-10 18:37:17 +09:00
Eiichiro Watanabe 360f72818b server: avoid deadlock
peer.ID() uses lock in itself.
2018-11-10 18:35:17 +09:00
FUJITA Tomonori 076d019b75 make gRPC server private
No need to be exported.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-09 19:10:43 +09:00
FUJITA Tomonori 061c946997 server: fix deadlock regression
introduced by 433440067d

Reported-by: Eiichiro Watanabe <[email protected]>
Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-09 16:04:58 +09:00
Eiichiro WatanabeandFUJITA Tomonori 345b848330 server: Fix some values are all off by one in MRT TABLEDUMP_V2 2018-11-09 08:49:36 +09:00
Eiichiro Watanabe 52c6ef31b4 server: Fix timestamp when msg is nil 2018-11-08 13:30:15 +09:00
FUJITA Tomonori b48c5613dd server: Add PeerTable API
go native API that corresponds to MonitorTable gRPC API.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-08 10:44:02 +09:00
FUJITA Tomonori d4e04188ce server: Add PeerMonitor API
go native API that corresponds to MonitorPeer gRPC API.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-08 10:09:18 +09:00
FUJITA Tomonori df8ad76b5c server: unexported Watcher stuff
Replace it with the new API using api/.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-07 20:19:23 +09:00
FUJITA Tomonori 433440067d server: fix isIBGPPeer() to handle local-as configuration
Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-07 17:29:07 +09:00
FUJITA Tomonori a88d5611d2 server: unexport const
No need to export

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-10-30 10:08:14 +09:00
FUJITA Tomonori 5a2985e52f server: unexport fsm stuff
No need to export the bgp peer internals.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-10-30 07:22:47 +09:00
FUJITA Tomonori c8694bc8a7 server: unexport Peer adn PeerGroup
No need to export them. Also fixed golint errors.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-10-29 18:27:37 +09:00
FUJITA Tomonori 0b4d946298 server: unexport TCPDialer/TCPListener/TCPSockopt stuff
No need to export them. Also fixed golint errors.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-10-29 18:24:58 +09:00
FUJITA Tomonori 4cd45f42f9 server: unexport NewRoutingPolicyFromApiStruct()
Signed-off-by: FUJITA Tomonori <[email protected]>
2018-10-29 18:20:28 +09:00
FUJITA Tomonori d91fb3d35f server: remove collector support
After removing the doc about collector support, nobody has complained
or asked a question.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-10-29 18:20:23 +09:00
FUJITA Tomonori f362cb2b21 server: unexport prki
rpki code really needs refactoring for cleaning the APIs. Until then,
let's unexport it.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-10-29 18:20:20 +09:00