summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2016-05-29Revert "table: fix to compare new best path with old best path"FUJITA Tomonori
This reverts commit 74c0527dda13032dabd5dd4b7034115827fd2a46. Fix this in a different way.
2016-05-29table: make clear function to sort pathsFUJITA Tomonori
We want to check out if two pointers are same or different here. Make the code clear. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-29docs: fix typos in cli examplesFUJITA Tomonori
[ci skip] Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-29table: fix to compare new best path with old best pathFUJITA Tomonori
The current code uses Path.Equal(), which just check out if pathes are idential. However, it doesn't work for two cloned pathes of a path (soft update in case). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-28config: handle entry's empty nameFUJITA Tomonori
Equal method assumes that an each entry has unique name and uses it as a key for map. However, currently, an entry is allowed to have an empty name. To work around the problem, uses an index in the list as a key for map. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-28config: fix misuse of pointersFUJITA Tomonori
Equal method for map misuses a pointer; all the entry of the map becomes idential. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-26policy: add support setting self ip address as next-hopISHIDA Wataru
from configuration file [policy-definitions.statements.actions.bgp-actions] set-next-hop = "self" from cli $ gobgp policy statement stmt1 add action next-hop self Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-26bgp: check buf length before parsing graceful-restart capabilityISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-26bgp: return NewMessageError instead of fmt.ErrorfISHIDA Wataru
to send a notification to the peer, we must return NewMessageError, not fmt.Errorf Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-26docs: update go versionsFUJITA Tomonori
[ci skip] Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-25policy: add local-pref actionISHIDA Wataru
$ gobgp policy statement st01 add action local-pref 110 Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-23add collector featureFUJITA Tomonori
dump the update messages and the state change of peers into influxdb: [collector.config] url = "http://localhost:8086" db-name = "gobgp" Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-23server/table: fix intra-AS RTC route distributionISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-23table: fix UpdatePathAttrs() to obey RFC4684ISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-23policy: apply export-policy after normal path-attribute updatesISHIDA Wataru
fix incomplete 42ab0376359f1ee378958b7ae37eaf8fbc7a811b Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-23vrf: fix rtc withdraw handlingISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-23server: improve log messageISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-23server: add missing call of processOutgoingPaths()ISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-23server: handle grpc Serve() errorFUJITA Tomonori
Serve() returns when accept() failed. After that, gobgp stop listening on grpc port (no more grpc request). This patch makes sure that gobgp starts listening on grpc port again. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-21policy: apply export-policy after normal path-attribute updatesISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-21cli: include route-reflector/route-server infomation in Peer messageISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-20server: fix connectLoop() select loop not to blockISHIDA Wataru
connect() blocks MIN_CONNECT_RETRY-1 (= 9sec) at most. If a passive connection comes, establish BGP sessions, then BGP sesions goes down right after that (this can happen when the peer sent invalid update messages etc..) while connect() is blocking, FSM.StateChange(), which writes to fsm.getActiveCh can also block. This leads to block the main goroutine in server.go. This commit fix the issue by invoking a goroutine for connect() each time. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-20server: fix connectLoop() goroutine leakISHIDA Wataru
While Connect() is proceeding, fsm can be stopped administratively. In this case, after success of Connect(), no one is reading fsm.connCh, so connectLoop() goroutine can be leaked. This commit fix this issue. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-20server: make active md5ed socket nonblockingISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-20server: stringify FSM state in log messagesISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-19server: return flowspec routes in rfc compliant mannerISHIDA Wataru
The order of the flowspec routes matters because they will be used as ACL rules and what rule will be applied depends on the order. RFC5575 specifies how flowspec routes should be sorted. This commit implements what it says. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-18packet/bgp: add error handling in flowSpecIpProtoParser()ISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-18packet: add MarshalJSON method for FlowSpecUnknown structISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-18packet/bgp: refactor flowspec AFI(), SAFI() methodsISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-18packet/bgp: check flowspec nlri type orderingISHIDA Wataru
RFC5575 says, Flow specification components must follow strict type ordering. A given component type may or may not be present in the specification, but if present, it MUST precede any component of higher numeric type value. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-18server: fix socket leak in DialTCPTimeoutWithMD5Sig()ISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-17server: fix wrong usage of zapiISHIDA Wataru
sending REDISTRIBUTE_DEFAULT_ADD command causes getting every routes zebra has which is not desirable behavior Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-17tools: support loading completion scripts when bash boots upISHIDA Wataru
[ci skip] Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-17zebra: make zebra config consistent with the restsFUJITA Tomonori
- split config and state - move to Bgp structure (aligned with Rpki, Bmp, and Mrt) Also makes zebra configured via GRPC channel. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-16docs: update policy.mdISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-16server: fix a bug in handleGrpcGetPolicyAssignment()ISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-16cli: fix med formatingISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-16docs: add yabgp testing to evpnPeng Xiao
Signed-off-by: Peng Xiao <xiaoquwl@gmail.com>
2016-05-15Add remote-port to configuration exampleYi Tseng
2016-05-14GoBGP 1.7FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-14test: enhance route server testISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-14Accommodate latest gobgp.proto message updates. Handle request timeouts.tamihiro
2016-05-12table: fix bug in AdjRIb.PathList()ISHIDA Wataru
see 139585c2f2eca467445d10b31b58c80d772a39d5 commit log Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-12table: fix bug in AdjRib.Update()ISHIDA Wataru
In route-server mode, when paths in adj-rib-in don't get (in-)filtered, path.Filtered(adj.id) will become POLICY_DIRECTION_IMPORT in server.propagateUpdate(). Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-12test/bird: add RawBirdContainer for test with raw bird configISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-12test/gobgp: add RawGoBGPContainer for test with raw gobgp configISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-12table: fix Med comparison in best path selectionFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-11server: go fmtFUJITA Tomonori
[ci skip] Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-11server: fix non StartServer API crashFUJITA Tomonori
Any GRPC API request except for StartSever crashes gobgpd if it's called before StartServer API is called. This fixes the issue. panic: interface conversion: interface {} is nil, not *gobgpapi.GetNeighborResponse goroutine 21 [running]: github.com/osrg/gobgp/server.(*Server).GetNeighbor(0xc82012f520, 0x7f95f0a042b8, 0xc82016c4b0, 0x1138c40, 0xc82012f6f0, 0x0, 0x0) /home/fujita/go/src/github.com/osrg/gobgp/server/grpc_server.go:130 +0x238 github.com/osrg/gobgp/api._GobgpApi_GetNeighbor_Handler(0xcdb320, 0xc82012f520, 0x7f95f0a042b8, 0xc82016c4b0, 0xc820150c40, 0x0, 0x0, 0x0, 0x0, 0x0) /home/fujita/go/src/github.com/osrg/gobgp/api/gobgp.pb.go:3167 +0x16b google.golang.org/grpc.(*Server).processUnaryRPC(0xc820018bd0, 0x7f95f0a04078, 0xc820018c60, 0xc8200dc7e0, 0xc82012f540, 0x110c1b8, 0x0, 0x0, 0x0) /home/fujita/go/src/google.golang.org/grpc/server.go:522 +0xe30 google.golang.org/grpc.(*Server).handleStream(0xc820018bd0, 0x7f95f0a04078, 0xc820018c60, 0xc8200dc7e0, 0x0) Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-11cli: fix to show current keepalive intervalISHIDA Wataru
current interval(state) and that of configured(config) can be different Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>