ISHIDA Wataru
e849b95b11
cli/server: fix address family handling
...
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-02-02 12:47:35 +09:00
ISHIDA Wataru
21b7301e04
server: fix soft-reset-in to handle in-policy change properly
...
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-02-01 23:11:12 +09:00
ISHIDA Wataru
866edbb8d6
server: don't handle soft-reset-out for non-established peer
...
handling soft-reset-out for non-established peer causes filling
adj-rib-out with routes not actually advertised
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-29 23:34:35 +09:00
ISHIDA Wataru
7c341b9f79
server: apply filterpath and export-policy to new best paths
...
dropPeerAllRoutes doesn't always produce withdrawals.
When there are alternative routes, new best paths will be advertised.
We must apply filterpath and export-policy to these routes.
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-29 23:34:32 +09:00
ISHIDA Wataru
498400adad
api: fix typo s/advertized/advertised
...
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-29 16:44:21 +09:00
ISHIDA Wataru
2adf4c392e
fsm: remove FSM.confedCheck
...
no need to make this FSM's field.
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-29 11:38:27 +09:00
ISHIDA Wataru
b05da5ddc9
server: add negotiated holdtime/keepalive-interval in api struct
...
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-29 11:38:27 +09:00
ISHIDA Wataru
0ce9409f17
server: remove a redundant FSM negotiatedHoldtime field
...
use config.TimerState struct instead
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-29 11:38:24 +09:00
FUJITA Tomonori
8285553257
rpki: make monitor API's reason explicit about manual validate
...
Signed-off-by: FUJITA Tomonori <[email protected] >
2016-01-25 05:26:45 -08:00
ISHIDA Wataru and FUJITA Tomonori
d94f5d2c03
config: add openconfig identity structs in bgp_configs.go
...
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-25 04:57:11 -08:00
ISHIDA Wataru and FUJITA Tomonori
3817b82f9d
fsm: add type FsmStateReason to track reason of state transition
...
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-25 04:57:11 -08:00
ISHIDA Wataru and FUJITA Tomonori
38bd31856b
fsm: remove redundant connection close
...
we don't need to close here because we are signaling through h.errorCh
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-25 04:57:11 -08:00
ISHIDA Wataru and FUJITA Tomonori
f2ceaa0cf9
server: log received notification
...
fsm doesn't pass notification messages to peer since
5c835fcc4f
log received notifications in fsmhandler.
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-25 04:57:11 -08:00
ISHIDA Wataru and FUJITA Tomonori
cca91da0df
config: add go type of embeded enums defined in openconfig
...
these types are embeded enums of openconfig and were left uint32
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-25 04:57:11 -08:00
FUJITA Tomonori
4ad751b4f0
rpki: remove unintented debug code
...
Signed-off-by: FUJITA Tomonori <[email protected] >
2016-01-24 08:50:50 -08:00
FUJITA Tomonori
c955e325d3
rpki: implement roa life timeout
...
Signed-off-by: FUJITA Tomonori <[email protected] >
2016-01-24 08:29:47 -08:00
FUJITA Tomonori
bc025e40a5
rpki: softreset delete all related ROAs
...
Signed-off-by: FUJITA Tomonori <[email protected] >
2016-01-24 06:15:31 -08:00
FUJITA Tomonori
0986a67e07
rpki: improve statistics API
...
Signed-off-by: FUJITA Tomonori <[email protected] >
2016-01-20 07:09:11 -08:00
Eiichiro Watanabe
b42e8d9a9f
server: fix cache reset handling
2016-01-20 10:35:31 +09:00
FUJITA Tomonori
70fae5c8cc
rpki: add reason to rpki monitor api
...
tells a reason why notificaiton was sent, withdraw, peer down, and others
Signed-off-by: FUJITA Tomonori <[email protected] >
2016-01-17 09:26:56 -08:00
FUJITA Tomonori
7a5cf6a2b9
rpki: add rpki validate API
...
$ gobgp rpki validate
validates all the paths in the table with the current ROAs.
Signed-off-by: FUJITA Tomonori <[email protected] >
2016-01-17 07:46:35 -08:00
FUJITA Tomonori
f4c4099418
update rpki monitor API
...
- handle withdraw
- added some new info (peer address, timestamp, aspath attribute)
Signed-off-by: FUJITA Tomonori <[email protected] >
2016-01-17 06:21:23 -08:00
ISHIDA Wataru
6403c80663
server: reduce number of path.Clone() call to reduce memory footprint
...
the result of memory profile (500 route-server-clients each of them
advertises 100 routes)
before:
(pprof) top5
3913.02MB of 3978.69MB total (98.35%)
Dropped 148 nodes (cum <= 19.89MB)
Showing top 10 nodes out of 11 (cum >= 21MB)
flat flat% sum% cum cum%
2970.30MB 74.66% 74.66% 2975.80MB 74.79% github.com/osrg/gobgp/server.filterpath
810.09MB 20.36% 95.02% 810.59MB 20.37% github.com/osrg/gobgp/table.(*AdjRib).Update
115.60MB 2.91% 97.92% 119.10MB 2.99% github.com/osrg/gobgp/table.createUpdateMsgFromPath
10MB 0.25% 98.17% 1878.02MB 47.20% github.com/osrg/gobgp/server.(*BgpServer).propagateUpdate
4.50MB 0.11% 98.29% 144.60MB 3.63% github.com/osrg/gobgp/table.CreateUpdateMsgFromPaths
after:
(pprof) top5
1259.49MB of 1284.27MB total (98.07%)
Dropped 175 nodes (cum <= 6.42MB)
Showing top 10 nodes out of 26 (cum >= 36.51MB)
flat flat% sum% cum cum%
975.81MB 75.98% 75.98% 976.31MB 76.02% github.com/osrg/gobgp/table.(*AdjRib).Update
198.67MB 15.47% 91.45% 208.17MB 16.21% github.com/osrg/gobgp/table.createUpdateMsgFromPath
22MB 1.71% 93.16% 22MB 1.71% github.com/osrg/gobgp/packet.(*IPAddrPrefix).Serialize
20MB 1.56% 94.72% 707.19MB 55.07% github.com/osrg/gobgp/server.(*BgpServer).propagateUpdate
13.50MB 1.05% 95.77% 13.50MB 1.05% github.com/osrg/gobgp/table.NewPath
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-16 18:25:35 +09:00
ISHIDA Wataru
0cf8045e99
policy: introduce policy option infra
...
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-16 18:25:18 +09:00
ISHIDA Wataru
40ce51137a
table: remove unnecessary copy of path attributes
...
the result of memory profile (500 route-server-clients each of them advertises
100 routes)
before:
(pprof) top5
9330.48MB of 9367.53MB total (99.60%)
Dropped 157 nodes (cum <= 46.84MB)
Showing top 10 nodes out of 17 (cum >= 9334.17MB)
flat flat% sum% cum cum%
6163.04MB 65.79% 65.79% 6163.04MB 65.79% github.com/osrg/gobgp/table.NewPath
1155.05MB 12.33% 78.12% 7302.59MB 77.96% github.com/osrg/gobgp/table.(*Path).Clone
986.31MB 10.53% 88.65% 1388.81MB 14.83% github.com/osrg/gobgp/table.(*AdjRib).Update
402.51MB 4.30% 92.95% 402.51MB 4.30% fmt.Sprintf
402.51MB 4.30% 97.24% 402.51MB 4.30% net.parseIPv4
after:
(pprof) top
3913.02MB of 3978.69MB total (98.35%)
Dropped 148 nodes (cum <= 19.89MB)
Showing top 10 nodes out of 11 (cum >= 21MB)
flat flat% sum% cum cum%
2970.30MB 74.66% 74.66% 2975.80MB 74.79% github.com/osrg/gobgp/server.filterpath
810.09MB 20.36% 95.02% 810.59MB 20.37% github.com/osrg/gobgp/table.(*AdjRib).Update
115.60MB 2.91% 97.92% 119.10MB 2.99% github.com/osrg/gobgp/table.createUpdateMsgFromPath
10MB 0.25% 98.17% 1878.02MB 47.20% github.com/osrg/gobgp/server.(*BgpServer).propagateUpdate
4.50MB 0.11% 98.29% 144.60MB 3.63% github.com/osrg/gobgp/table.CreateUpdateMsgFromPaths
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-16 18:22:13 +09:00
ISHIDA Wataru
b344eb3777
table: kill unused field medSetByTargetNeighbor
...
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-16 16:25:24 +09:00
FUJITA Tomonori
49ec4a328f
rpki: fix serial notify handling
...
Signed-off-by: FUJITA Tomonori <[email protected] >
2016-01-14 22:26:54 -08:00
FUJITA Tomonori
3f0fc3ccc9
server: fix fixed timeout for write
...
using 30 secs is a bad idea. Let's use negotiated holdtime
instead. But I think that we should not use timeout for write. when a
timeout for write expires, we shuld just check:
a) if the conneciton is still valid
b) a peer is not de-configured
a) nor b) is not the case, we should try write again.
Signed-off-by: FUJITA Tomonori <[email protected] >
2016-01-13 05:06:24 -08:00
ISHIDA Wataru and FUJITA Tomonori
af2703af93
server: don't assume the existence of multiprotocol capability
...
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-12 11:00:34 +09:00
ISHIDA Wataru
d94bb930dc
api: support bmp configuration
...
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-09 22:52:15 +09:00
ISHIDA Wataru
aff1c244ad
bmp: use watcher infra to implement bmp feature
...
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-09 22:51:23 +09:00
ISHIDA Wataru
f4c07da881
server: add REQ_BMP_NEIGHBORS api for internal bmp use
...
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-09 22:43:01 +09:00
ISHIDA Wataru and FUJITA Tomonori
cc8d0fd748
config: refactor config structure
...
- change config variable name to chaincase from camelcase
- remove unnecessary wrapper structs which only contain one slice field
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-09 05:17:57 -08:00
ISHIDA Wataru and FUJITA Tomonori
b0fbcc6b1b
config: change enum value type to string for ease of configuration
...
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-09 05:17:57 -08:00
ISHIDA Wataru and FUJITA Tomonori
26c03bb779
tools: avoid adding a new option to bgpyang2golang.py and fix gobgp.yang
...
pyang has an internal flag "multiple_modules" to handle multiple yang modules.
use it instead of introducing a new option --augment
also, fix warnings and errors in gobgp.yang which were there but not has been
detected for a while due to the usage of --augment.
by using "multiple_modules" flag, pyang detected them.
most notable error is wrong usage of list, which needs a key in its
substatement.
this patch adds key to some of them, and for others uses leaf-list
instead.
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-09 05:17:57 -08:00
ISHIDA Wataru and FUJITA Tomonori
43610ebc6c
server: fix storing received open msg
...
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-06 14:15:42 +09:00
FUJITA Tomonori
302632715c
rpki: add monitor command support
...
monitor the change of rpki validation results:
$ gobgp monitor rpki
Signed-off-by: FUJITA Tomonori <[email protected] >
2016-01-06 12:40:17 +09:00
FUJITA Tomonori
784578ec55
rpki: fix withdraw
...
Signed-off-by: FUJITA Tomonori <[email protected] >
2016-01-05 07:33:03 -08:00
FUJITA Tomonori
dd64daeade
rpki: preparation for stream API
...
Signed-off-by: FUJITA Tomonori <[email protected] >
2016-01-05 07:13:38 -08:00
FUJITA Tomonori
1df56b0786
rpki: handle withdraw
...
Signed-off-by: FUJITA Tomonori <[email protected] >
2016-01-04 05:26:31 -08:00
ISHIDA Wataru
5c835fcc4f
server: don't put keepalive & notification to incoming ch
...
these msgs are garbage for server's main loop and just wasting channel
buffer.
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-04 16:46:28 +09:00
ISHIDA Wataru
afcd2e72fb
server: introduce fastpath for fsm state change
...
for robust fsm handling
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-04 16:46:28 +09:00
ISHIDA Wataru
ce1d27ba8c
server: handle open message only in fsm
...
we don't need to spread this handling to peer.go and server.go
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-04 16:46:28 +09:00
ISHIDA Wataru
013c912285
server: randomize trigger of active connect
...
fix connectivity issue when both bgpd is gobgpd
Signed-off-by: ISHIDA Wataru <[email protected] >
2016-01-04 16:46:28 +09:00
ISHIDA Wataru
84c164a89c
bmp: detect bmp connection lost earlier and recover earlier
...
Signed-off-by: ISHIDA Wataru <[email protected] >
2015-12-30 01:42:46 +09:00
ISHIDA Wataru
30a072030d
server: just send global rib once when bmp connection is initialized
...
Signed-off-by: ISHIDA Wataru <[email protected] >
2015-12-30 01:42:46 +09:00
ISHIDA Wataru
d01c1586b9
config: use viper and support multiple configuration formats
...
// toml by default
$ gobgpd -f gobgpd.toml
// use -t to change configuration type
$ gobgpd -t yaml -f gobgpd.yaml
Signed-off-by: ISHIDA Wataru <[email protected] >
2015-12-29 14:47:06 +09:00
ISHIDA Wataru
58946b7924
config: make config/state variable name simple
...
Signed-off-by: ISHIDA Wataru <[email protected] >
2015-12-28 21:02:03 +09:00
FUJITA Tomonori
7a2b395116
add MOD_PATH API
...
Handle only one route unlike MOD_PATHS API. When the API returns an
uuid when a route is created. The uuid can be used to remove the route
later.
Signed-off-by: FUJITA Tomonori <[email protected] >
2015-12-26 19:24:46 -08:00
FUJITA Tomonori
01157e466a
rename ModPath to ModPaths
...
ModPath API to modify multiple paths so let's use more an appropriate name.
Signed-off-by: FUJITA Tomonori <[email protected] >
2015-12-25 20:58:18 -08:00