summaryrefslogtreecommitdiffhomepage
path: root/server
AgeCommit message (Collapse)Author
2017-01-17server: export some rpki property for library usageEiichrio Watanabe
2017-01-16GetVrf() cause bgpd panic if it is not startedksang
2017-01-15Fix incorrect validation logic (thanks @ishidawataru)Eiichrio Watanabe
2017-01-15Add examples for RPKI Origin ValidationEiichrio Watanabe
2016-12-19bmp: don't send paths already sent in case of softresetin happensWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-12-19server: notify post policy update when soft-reset-in is triggeredWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-12-10server: fix bug when global import policy rejects a routeWataru Ishida
routes rejected by global import policy was not deleted from RIB Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-12-02server: fix bug of deleteNeighbor()Wataru Ishida
cleaning outgoing channel while fsm handler is running may cause crash Dec 2 06:14:36 g2 gobgpd[6955]: {"Topic":"Peer","level":"info","msg":"Delete a peer configuration for:10.173.176.211","time":"2016-12-02T06:14:36Z"} Dec 2 06:14:36 g2 gobgpd[6955]: {"Data":"","Key":"10.173.176.211","Topic":"Peer","level":"warning","msg":"sent notification","time":"2016-12-02T06:14:36Z"} Dec 2 06:14:36 g2 gobgpd[6955]: {"Key":"10.173.176.211","Reason":"notification-sent code 6(cease) subcode 3(peer deconfigured)","State":"BGP_FSM_ESTABLISHED","Topic":"Peer","level":"info","msg":"Peer Down","time":"2016-12-02T06:14:36Z"} Dec 2 06:14:36 g2 gobgpd[6955]: panic: interface conversion: interface {} is nil, not *server.FsmOutgoingMsg Dec 2 06:14:36 g2 gobgpd[6955]: goroutine 69 [running]: Dec 2 06:14:36 g2 gobgpd[6955]: panic(0xd26200, 0xc82030c4c0) Dec 2 06:14:36 g2 gobgpd[6955]: /usr/local/go/src/runtime/panic.go:481 +0x3e6 Dec 2 06:14:36 g2 gobgpd[6955]: github.com/osrg/gobgp/server.(*FSMHandler).sendMessageloop(0xc8201a66e0, 0x0, 0x0) Dec 2 06:14:36 g2 gobgpd[6955]: /usr/local/opt/gopath/src/github.com/osrg/gobgp/server/fsm.go:1136 +0x3c3 Dec 2 06:14:36 g2 gobgpd[6955]: github.com/osrg/gobgp/server.(*FSMHandler).(github.com/osrg/gobgp/server.sendMessageloop)-fm(0x0, 0x0) Dec 2 06:14:36 g2 gobgpd[6955]: /usr/local/opt/gopath/src/github.com/osrg/gobgp/server/fsm.go:1175 +0x2e Dec 2 06:14:36 g2 gobgpd[6955]: gopkg.in/tomb%2ev2.(*Tomb).run(0xc8201a66e0, 0xc820278140) Dec 2 06:14:36 g2 gobgpd[6955]: /usr/local/opt/gopath/src/gopkg.in/tomb.v2/tomb.go:163 +0x21 Dec 2 06:14:36 g2 gobgpd[6955]: created by gopkg.in/tomb%2ev2.(*Tomb).Go Dec 2 06:14:36 g2 gobgpd[6955]: /usr/local/opt/gopath/src/gopkg.in/tomb.v2/tomb.go:159 +0x131 Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-29zebra: add flags for recursive nexthop lookup if necessaryWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-25rpki: check asPath == nil before validationWataru Ishida
locally generated routes may not have AS path attribute Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-24server: add unit test to check NumGoroutine with Neighbor configurationFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-11-24server: fix Watcher InfiniteChannel leakFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-11-21server: fix memory leak in infinite channel goroutineWataru Ishida
infinite channel has internal goroutine which won't stop until all items in the buffer are dequeued. Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-18server: disable advertised number calculation with multiple neighborsFUJITA Tomonori
AdjRibOut isn't in memory so needs to be calculated on the fly. Doing such for multiple neighbors consumes too much CPU (especially there are lots of routes). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-11-17add go vet testWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-15client: remove server package dependencyWataru Ishida
move ROA under table package Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-14config/api: create admin-state typeWataru Ishida
align with session-state Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-14cli: use client libraryWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-14config: use struct type instead of []byte for capability and open msgWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-12server: remove adj-out usageFUJITA Tomonori
With this change, we could send unncessary messages but it's harmless (wastefull though). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-11-12server: remove adj-out usage in filterpathFUJITA Tomonori
Preparation for removing in-memory adj-out. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-11-12table: use old best path instead of withdrawn pathsFUJITA Tomonori
Preparation for removing in-memory adj-out. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-11-06server: fix bug of disable/enable/softreset behavior for vrfed neighborWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-04allow route reflector client as vrf neighborFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-11-04cli: support adding rr-client and rs-clientWataru Ishida
$ gobgp neighbor add 10.0.0.1 route-reflector-client $ gobgp neighbor add 10.0.0.1 route-reflector-client 1.1.1.1 $ gobgp neighbor add 10.0.0.1 route-server-client Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-04support neighbor belongs to VRFWataru Ishida
$ gobgp vrf add red rd 100:100 rt both 100:100 $ gobgp neighbor add 10.0.0.1 as 2 vrf red $ gobgp vrf red neighbor Peer AS Up/Down State |#Advertised Received Accepted 10.0.0.1 2 never Active | 0 0 0 Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-03remove label allocation completelyFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-11-03allow add local route with specific mpls labelFUJITA Tomonori
Also don't allocate label for local routes. The label management needs to work with other components rather than bgp. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-10-16cli/api: support getting table summary informationWataru Ishida
$ gobgp global rib summary -a ipv4 $ gobgp neighbor 10.0.0.1 local summary $ gobgp neighbor 10.0.0.1 adj-in summary $ gobgp neighbor 10.0.0.1 adj-out summary Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-10-13server: fix error propagationWataru Ishida
creating new `err` variable prevents proper error propagation which leads to wrongly contine reading BGP messages even after receiving an invalid update message. Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-10-12server: handle management requests quicker under heavy loadFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-10-09*: support long lived graceful restartWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-10-09*: Notification support for BGP GRWataru Ishida
implement draft-ietf-idr-bgp-gr-notification-07 Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-10-04server: stop appending 0 in Path.VrfIdsWataru Ishida
specifying VrfId is not mandatory Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-10-04server: fix bug of withdrawal handlingWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-10-03zebra: support passing vrf-idWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-10-01server: support zebra protocol vrfid with vpnv4/vpnv6FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-09-30server: add vrf support to bestpath watchFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-09-30api: add id to VrfRequestFUJITA Tomonori
to support VRF ID for Zebra Protocol v3. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-09-29Apply previous change's to test as well.kishiguro
2016-09-29Support of ZAPI version 3 (handles VRF ID).kishiguro
2016-09-16server/table: don't modify/delete path attributes for route server clientWataru Ishida
RFC7947 2.2 says Optional recognized and unrecognized BGP attributes, whether transitive or non-transitive, SHOULD NOT be updated by the route server (unless enforced by local IXP operator configuration) and SHOULD be passed on to other route server clients Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-09-13server/table: fix a bug of vrf route injectionWataru Ishida
regression due to 43dc07d72353fc8bcb79a18a5739ea0a90dda6bb before: $ gobgp vrf add vrf01 rd 100:100 rt both 100:100 $ gobgp vrf vrf01 rib add 10.0.0.0/24 $ gobgp global rib -a ipv4 Network Next Hop AS_PATH Age Attrs *> 10.0.0.0/24 0.0.0.0 00:00:19 [{Origin: ?} {Extcomms: [100:100]}] after: $ gobgp vrf add vrf01 rd 100:100 rt both 100:100 $ gobgp vrf vrf01 rib add 10.0.0.0/24 $ gobgp global rib -a ipv4 Network not in table $ gobgp global rib -a vpnv4 Network Labels Next Hop AS_PATH Age Attrs *> 100:100:10.0.0.0/24 [16000] 0.0.0.0 00:00:19 [{Origin: ?} {Extcomms: [100:100]}] Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-09-12server: portability fix for setsockopt() on LinuxVincent Bernat
On some architecture, setsockopt() is a multiplexed syscall and is not available directly (for example, on i386). Instead of invoking the syscall directly, use syscall.SetsockoptString() which is safe as strings are not null-terminated with Go. On BSD, use syscall.SetsockoptInt(), but I don't know if there are architectures with the same limitations as for Linux. Signed-off-by: Vincent Bernat <vincent@bernat.im>
2016-09-12test: test monitor feature in unit test instead of scenario testWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-09-01mrt: fix rotation and dump interval handling in table modeFUJITA Tomonori
Having two interval options easily confuse users. With this, either can be specified. If you specify the rotation interval, gobgpd dumps a table and rotates a log file every the rotation interval. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-08-26add RemoteRouterId to config.NeighborStateFUJITA Tomonori
Stop using config.NeighborState's Description in a hacky way for the remote Router Id. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-08-26zebra: add grpc apiFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-08-25server/api: fix GetRib API to return sorted destinationWataru Ishida
the feature has been broken. Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-08-25server: fix RIB lookup with longer-prefixes optionWataru Ishida
the feature was somehow broken. Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>