Age | Commit message (Collapse) | Author |
|
$ gobgp global rib
Network Next Hop AS_PATH Age Attrs
*> 10.0.0.0/24 0.0.0.0 65000 00:10:17 [{Origin: IGP}]
*> 10.0.0.0/25 0.0.0.0 65000 00:10:16 [{Origin: IGP}]
*> 10.0.0.0/26 0.0.0.0 65000 00:10:15 [{Origin: IGP}]
*> 10.0.1.0/24 0.0.0.0 65000 00:10:21 [{Origin: IGP}]
*> 10.0.2.0/24 0.0.0.0 65000 00:10:20 [{Origin: IGP}]
$ gobgp global rib 10.0.0.0/24
Network Next Hop AS_PATH Age Attrs
*> 10.0.0.0/24 0.0.0.0 65000 00:10:54 [{Origin: IGP}]
$ gobgp global rib 10.0.0.10
Network Next Hop AS_PATH Age Attrs
*> 10.0.0.0/26 0.0.0.0 65000 00:11:16 [{Origin: IGP}]
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
add empty default case to avoid blocking
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
$ gobgp monitor neighbor
[NEIGH] 192.168.10.5 fsm: BGP_FSM_IDLE admin: ADMIN_STATE_UP
[NEIGH] 192.168.10.5 fsm: BGP_FSM_ACTIVE admin: ADMIN_STATE_UP
[NEIGH] 192.168.10.3 fsm: BGP_FSM_OPENSENT admin: ADMIN_STATE_UP
[NEIGH] 192.168.10.3 fsm: BGP_FSM_OPENCONFIRM admin: ADMIN_STATE_UP
[NEIGH] 192.168.10.3 fsm: BGP_FSM_ESTABLISHED admin: ADMIN_STATE_UP
[NEIGH] 192.168.10.4 fsm: BGP_FSM_OPENSENT admin: ADMIN_STATE_UP
[NEIGH] 192.168.10.4 fsm: BGP_FSM_OPENCONFIRM admin: ADMIN_STATE_UP
[NEIGH] 192.168.10.4 fsm: BGP_FSM_ESTABLISHED admin: ADMIN_STATE_UP
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
$ gobgp monitor global rib
[ROUTE] 10.0.1.0/24 via 192.168.10.3 aspath [65001] attrs [{Origin: IGP} {Med: 0}]
[ROUTE] 10.0.2.0/24 via 192.168.10.4 aspath [65002] attrs [{Origin: IGP} {Med: 0}]
[ROUTE] 10.0.3.0/24 via 192.168.10.5 aspath [65003] attrs [{Origin: IGP} {Med: 0}]
[ROUTE] 10.0.4.0/24 via 192.168.10.6 aspath [65004] attrs [{Origin: IGP} {Med: 0}]
[DELROUTE] 10.0.4.0/24 via 192.168.10.6 aspath [65004] attrs [{Origin: IGP} {Med: 0}]
[DELROUTE] 10.0.2.0/24 via 192.168.10.4 aspath [65002] attrs [{Origin: IGP} {Med: 0}]
[DELROUTE] 10.0.3.0/24 via 192.168.10.5 aspath [65003] attrs [{Origin: IGP} {Med: 0}]
[ROUTE] 10.0.3.0/24 via 192.168.10.5 aspath [65003] attrs [{Origin: IGP} {Med: 100}]
[ROUTE] 10.0.6.0/24 via 192.168.10.5 aspath [65003 65005] attrs [{Origin: IGP} {Med: 100}]
[ROUTE] 10.0.2.0/24 via 192.168.10.4 aspath [65002] attrs [{Origin: IGP} {Med: 200}]
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
another performance improvement.
[before]
$ time gomrt -i rib.20150617.2000
gomrt -i /vagrant/rib.20150617.2000 48.98s user 149.40s system 97% cpu
3:24.30 total
[after]
$ time gomrt -i rib.20150617.2000
gomrt -i /vagrant/rib.20150617.2000 30.57s user 99.59s system 96% cpu
2:15.27 total
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
|
|
|
|
the cobra library
|
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
original code assumes locally generated path's source is nil, which is
not true. use isLocal() instead.
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
this patch fixes the wrong behavior shown below
$ gobgp global rib add 10.0.0.0/24
$ gobgp global rib del 10.0.0.0/24
$ gobgp global rib
Network Next Hop AS_PATH Age Attrs
*> 10.0.0.0/24 0.0.0.0 65000 00:05:48 [{Origin: IGP}]
since we used to compare path's source by PeerInfo's pointer, locally
originated routes is considered as a different route even if they have
same prefix.
this patch introduce Equal() method to compare PeerInfo's content and
fix this wrong behavior.
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
cut useless grpc communication and improve performance
simple performance test result.
rib.20150617.2000 is taken from http://archive.routeviews.org/
[before]
$ time gomrt -i rib.20150617.2000
gomrt -i /vagrant/rib.20150617.2000 45.96s user 171.73s system 86% cpu
4:11.87 total
[after]
$ time gomrt -i rib.20150617.2000
gomrt -i /vagrant/rib.20150617.2000 11.95s user 76.17s system 74% cpu
1:58.38 total
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
$ gomrt -i <mrt rib file> -c <number of routes to inject>
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
currently TABLE_DUMPV2 and BGP4MP message is supported
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
we use this function later in mrt code
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
BGP_ATTR_FLAG_PARTIAL flag can be set even for the valid path attributes.
Nessesary validation related to BGP_ATTR_FLAG_PARTIAL is all done before
here.
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
also add more meaningful debug message to ValidateFlags()
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
|
|
|
|
|
|
|
|
- fix bug that del all command can not be used
- fix bug that can enter the option of conditions other than add subcommand
- fix bug that can not enter the option of actions in the routepolicy (add) subcommand
- chenge syntax of routepolicy (add) subcommand
aggregate the option flags of conditions and actions
+ before
% gobgp routepolicy add <policy> <statement name> conditions [<option flags of conditions> ...]
% gobgp routepolicy add <policy> <statement name> actions [<option flags of actions> ...]
+ after
% gobgp routepolicy add <policy> <statement name> [<option flags of conditions and actions>...]
|
|
api.policyDefinition
|
|
generate bash completion file by
$ gobgp -c
We have to work more to generate more useful completion file
automatically.
Currently generated completion file can't complement dynamic commands
e.g. gobgp neighbor <peer ip addr> local -a ipv6
<peer ip addr> is a dynamic command.
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
specify the use-local option
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Seems that write() is blocked forever when a connection is not cleanly
closed.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
This could lead to a deadlock.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Peers send and receive messages via channels, which could lead to a
deadlock. With this patch, multiple goroutines are used for network
I/Os per peer but one goroutine handle all ribs (including the global
rib). So there is no messages via channels between peers.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
|
|
|