summaryrefslogtreecommitdiffhomepage
path: root/server/peer.go
AgeCommit message (Collapse)Author
2016-01-09config: refactor config structureISHIDA Wataru
- change config variable name to chaincase from camelcase - remove unnecessary wrapper structs which only contain one slice field Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-01-09config: change enum value type to string for ease of configurationISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-01-06server: fix storing received open msgISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-01-04server: introduce fastpath for fsm state changeISHIDA Wataru
for robust fsm handling Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-01-04server: handle open message only in fsmISHIDA Wataru
we don't need to spread this handling to peer.go and server.go Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-12-29config: use viper and support multiple configuration formatsISHIDA Wataru
// toml by default $ gobgpd -f gobgpd.toml // use -t to change configuration type $ gobgpd -t yaml -f gobgpd.yaml Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-12-28config: make config/state variable name simpleISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
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-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-02make adj-rib implementation more clear and efficientISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-11-11test: add performance_testISHIDA Wataru
currently only many-peer-connecting test (equivalent to hoofprints test T1) is implemented. Signed-off-by: ISHIDA Wataru <ishida.wataru@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-09server: call ValidateUpdateMsg() in fsm instead of peerFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-08server: add rfmap to fsm tooFUJITA Tomonori
rfmap is necessary to validate BGP messages. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-11-08table: fix local-pref handling for external peerISHIDA Wataru
remove a local-pref path attribute when peer is external and not a confederation member. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-11-06server: kill unncessary rfMap updateFUJITA Tomonori
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-11-02server: fix lacking capability fieldsISHIDA Wataru
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-21server: fix ROUTE_REFRESH handlingFUJITA 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 generating rflist from configFUJITA Tomonori
Use saved one in TableManager 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-20api: support policy assignment modification via grpcISHIDA 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>
2015-10-19server: fix the number of acceptedFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-13server: logging received notificaitonFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-09server: store import/export config in TabelManager instead of PeerISHIDA Wataru
this is a preparation to apply policy to global rib. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-10-09table: merge policy package into tableISHIDA Wataru
2015-10-09server: fix path.Filtered updateFUJITA Tomonori
For the case of loosing a policy, we need to set path.Filtered to false. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-09server: fix the number of accepted routesFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-07server: need to send withdrawn for filtered routes after softresetFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-10-02cli: add command to show accepted/rejected routesISHIDA Wataru
$ gobgp neighbor <remote addr> accepted $ gobgp neighbor <remote addr> rejected Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-09-30peer: add accepted route counterISHIDA Wataru
cut time of gobgp neighbor command Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-09-30server: kill LocalRibISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-09-25server/table: assign mpls labels to locally generated vpn routesISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-09-20api: rename package/service name to gobgpapiISHIDA Wataru
api/Grpc is too general for package/service name. rename them to gobgpapi/GobgpApi. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-09-13Add bmp supportFUJITA Tomonori
Can be enabled like: [Global] [Global.GlobalConfig] As = 64512 RouterId = "10.0.255.254" [BmpServers] [[BmpServers.BmpServerList]] [BmpServers.BmpServerList.BmpServerConfig] Address = "127.0.0.1" Port=11019 Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-09-08api: kill api.CapabilityISHIDA Wataru
keep protobuf structures simple Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-09-02*: another s/distribute/inISHIDA Wataru
distribute-policy is deprecated name. We chose to use the name in-policy. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-09-01support multihop ttlFUJITA Tomonori
You can enable the feature like the following: [Neighbors] [[Neighbors.NeighborList]] [Neighbors.NeighborList.NeighborConfig] PeerAs = 65001 NeighborAddress = "10.0.255.1" [Neighbors.NeighborList.EbgpMultihop] [Neighbors.NeighborList.EbgpMultihop.EbgpMultihopConfig] Enabled = true MultihopTtl = 8 Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-08-31server: support route reflector behaviorISHIDA Wataru
scenario_test is also added Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-08-19table: fix best path selection which considers local asnISHIDA Wataru
TableManager.localAsn wasn't used. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-08-18*: s/distribute/inISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>