summaryrefslogtreecommitdiffhomepage
path: root/server/server.go
AgeCommit message (Collapse)Author
2015-12-15server: ensure bmpClient is not nil when BgpServer is runningISHIDA Wataru
when gobgp/server used as a bgp library, current implementation can leave bmpClient nil. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-12-15server: ensure global config is finished before any other configISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-12-14server: don't import path including looped as pathFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-12-12server: handle lots of peers trying to connectFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-12-10server: fix bug when you add a global config in grpcNaoto Hanaue
Gobgp does not Initialize RoutingPolicy if GlobalConifig is configured via gRPC, this issue causes received route from Peer not added to GlobalRib.
2015-12-10server: fix bug when you add a neighbor config in grpcNaoto Hanaue
Gobpg does not set AfiSafi if NeighborConfig is configured via gRPC, this issue causes error when Gobgp receives route from the Peer. log of following when peer was down ``` DEBU[0009] received Key=192.168.100.2 Topic=Peer data=&{Header:{Marker:[] Len:19 Type:4} Body:0xe17ff0} WARN[0010] malformed BGP update message Key=192.168.100.2 Topic=Peer error=Address-family rf 65537 not avalible for session WARN[0010] sent notification Data=&{Header:{Marker:[] Len:21 Type:3} Body:0xc8200117a0} Key=192.168.100.2 State=BGP_FSM_ESTABLISHED Topic=Peer INFO[0010] Peer Down Key=192.168.100.2 Reason=Peer closed the session State=BGP_FSM_ESTABLISHED Topic=Peer DEBU[0010] state changed Key=192.168.100.2 Topic=Peer new=BGP_FSM_IDLE old=BGP_FSM_ESTABLISHED ```
2015-12-09server: use ID() for path's Filter and Filtered methods instead of TableID()FUJITA Tomonori
Needs to use ID() for path's Filter and Filtered methods instead of TableID(). We don't hit any bugs because: - With a RS client, both methods returns the same. - No IN POLICY support for non RS clients Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-12-08table: remove useless table owner memberFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-12-08server: avoid sending routes with unconfigured addres familyFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-12-08server/table: use only one rib for multiple route server clientsISHIDA Wataru
speed up and reduce memory footprint Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-12-06api/cli: show all longer prefixes with longer-prefixes optionISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-12-04api/cli: support showing longer-prefixISHIDA Wataru
$ gobgp global rib Network Next Hop AS_PATH Age Attrs *> 10.0.0.0/24 0.0.0.0 00:00:01 [{Origin: ?}] $ gobgp global rib 10.0.0.0/20 Network not in table $ gobgp global rib 10.0.0.0/20 longer-prefix Network Next Hop AS_PATH Age Attrs *> 10.0.0.0/24 0.0.0.0 00:00:01 [{Origin: ?}] Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-12-02make adj-rib implementation more clear and efficientISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-12-02server: fix show rib with host addressFUJITA Tomonori
With this fix, the RPC API works like the following: $ gobgp global rib Network Next Hop AS_PATH Age Attrs *> 210.173.160.0/19 210.173.172.65 65001 00:00:41 [{Origin: i}] $ gobgp global rib 210.173.176.1 Network Next Hop AS_PATH Age Attrs *> 210.173.160.0/19 210.173.172.65 65001 00:01:17 [{Origin: i}] Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-12-02cli: speed up showing specific routes from global/local ribISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-12-02api/server: refine GetRib APIISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-11-27server: fix dropPeerAllRoutes() to handle rfFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-23rpki: grpc supportFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-13bmp: use on-wire original update dataFUJITA Tomonori
bgpd parse on-wire original update data to construct BGPMessage object and serialize it. Sometimes the both data is not idential. For example, the original data sets the extended length for attribute even if the length is less than 256. This commit fixes the above issue. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-13mrt: use on-wire original update data for mrtFUJITA Tomonori
bgpd parse on-wire original update data to construct BGPMessage object and serialize it. Sometimes the both data is not idential. For example, the original data sets the extended length for attribute even if the length is less than 256. This commit fixes the above issue. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-13server: fix bmp and mrt updatesFUJITA Tomonori
Always must send updates to them. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-13use the same timestamp for bmp and mrt updatesFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-12mrt: support reset/rotate commandsFUJITA Tomonori
$ gobgp mrt update reset create a new file or reopen the existing file and continue to write update messages to it. $ gobgp mrt update <filename> rename the current logging file to <filename> and truncate the logging file and continue to write update messages to it. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-12server: introduce watcher frameworkFUJITA Tomonori
rewrite mrt to use it. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-11server: expose fsmMsgType, fsmMsgISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-11-09server: move POLICY_DIRECTION_IN processing from peer to fsmFUJITA Tomonori
For parallel processing. Each peer's rx goroutine can process IN policy. Note that RWLock() should be called in looking at policies via grpc too but such operaitons are done in the main goroutine so not called. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-09server: move ProcessMessage to fsm from peerFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-09server: move peerInfo from peer to fsmFUJITA Tomonori
fsm needs it with the later commit. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-06cmd/api: get peer remote router id not neighbor addressYujiOshima
Signed-off-by: YujiOshima <yuji.oshima0x3fd@gmail.com>
2015-10-30server: enable to start without configuration fileISHIDA Wataru
add grpc api to configure global as/router-id $ gobgp global as 65000 router-id 10.0.0.1 Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-10-29api: confirm api.Peer to openconfig and add ModPeer apiYuji Oshima
Signed-off-by: YujiOshima <yuji.oshima0x3fd@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-27server: fix RPKI verification to handle ASPATH ATTR TYPE properlyFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-21server: apply policy before sending for ROUTE_REFRESHFUJITA Tomonori
Rather than just sending routes in the AdjOut, apply policies to routes in the Loc and sends them. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-21server: remove peer's getBests methodFUJITA Tomonori
Use TableManager's getBestPathList Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-21table: make AdjRib API take slice of RouteFamilyFUJITA Tomonori
Make the code simpler Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-21server: make getBestFromLocal peer's methodFUJITA Tomonori
Will be used to handle ROUTE_REFRESH. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-21server: avoid updating peer's LocalAddress unnecessaryFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-21server: set globalRib to non routeserver peer's LocalRibFUJITA Tomonori
TODO: fix SetDefaultPolicy() In the case of GlobalRib, even if the default policy is set for GlobalRib, the default policy of a peer (not configured) could overwrite the former. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-21table: store the list of route family in TableManagerFUJITA Tomonori
Will be used later to avoid generate the list of route family every time. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-20server: kill unnecessary codeFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-20server: properly handle invalid policy configISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-10-20api: support policy assignment modification via grpcISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-10-20api: support policy modification via grpcISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-10-20api/cli: refactor api to retrieve policyISHIDA Wataru
make it similar to other policy api Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-10-20api: support statement modification via grpcISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-10-20api/cli: add api to retrieve statements and support showing them via cliISHIDA Wataru
$ gobgp policy statement $ gobgp policy statement st0 Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-10-20cli: support defined-set configurationISHIDA Wataru
prefix-set modification gobgp policy prefix add p0 10.0.0.0/24 10..15 neighbor-set modification gobgp policy neighbor add n0 10.0.0.1 as-path-set modification gobgp policy aspath add a0 '^100_200_300$' community-set modification gobgp policy community add c0 100:100 ext-community-set modification gobgp policy community add e0 rt:100:100 Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-10-20api: support defined set modification via grpcISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-10-20policy: another cleanupISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-10-20policy: clean upISHIDA Wataru
remove redundant api structures and shorten valiable names re-implement *ToApiStruct functions as a method of each structures Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>