summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2019-12-15tests: fix failing tests when using more recent versions of protobufVincent Bernat
When regenerating the `*.pb.go` file, we get many tests failing because testify is using `reflect.DeepEqual()` under the hood. There is no option to have a custom comparison function and currently, the only way around is to use `proto.Equal()` to compare protobuf messages. The downside of using `proto.Equal()` is that we loose the expected/actual display in case of a mismatch. When comparing family, we compare `Api`/`Sapi` in separate asserts instead of using `proto.Equal()`. Fix: #1952
2019-12-02v2.11.0FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-11-07tools: add python grpc ListPeer API exampleFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-11-07docs: update python grpc code generationFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-11-06Use correct import paths for protobuf packagesCarl Baldwin
The packages `any`, `empty`, and `timestamp` ship with protoc so there is no need to pull them out of the go package. This simplifies the generation script and also corrects the import paths for the standard protobuf types. Fixes: #2095
2019-11-01v2.10.0FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-11-01bgp: fix dynamic neighbors with prefix "0.0.0.0/0"Faicker Mo
support prefix "0.0.0.0/0". Signed-off-by: Faicker Mo <faicker.mo@ucloud.cn>
2019-11-01config: peer groups support ebgp multihopFaicker Mo
Signed-off-by: Faicker Mo <faicker.mo@ucloud.cn>
2019-10-27travis: update go to 1.13FUJITA Tomonori
Needs to update staticcheck for go 1.13. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-26table: handle staticcheck's warningsFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-26avoid installing routes with originator ID to global when softresetinFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-25table: replace radix with crit-bit algo for longer-prefixes searchFUJITA Tomonori
faster and less memory usage. Now go-radix has gone. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-25table: replace radix with crit-bit algo for policyFUJITA Tomonori
faster and less memory usage. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-25table: remove unnecessary code in UpdateAdjRibOut()FUJITA Tomonori
There is no duplication of local id in the rib. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-25table: replace radix with crit-bit algo for roaFUJITA Tomonori
faster and less memory usage. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-23Split Reset into three methodsCarl Baldwin
The Reset method was difficult to understand. The reason is that it was called in three different ways and did different things in each case. It is easier to read when the three different modes are each their own method. This came up as I was looking deeper into the threading model around policies. I think this change makes it easier to understand the code.
2019-10-22table: use net.IPNet for roa instead of homegrown IPPrefix structureFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-22move roa table code to table/ from server/FUJITA Tomonori
As the name implies, table/ is more appropriate for roa table code. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-21test: update scenario_test dependenciesFUJITA Tomonori
- python3 is necessary - no need to download docker images in advance Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-21test: update scenario_test commandFUJITA Tomonori
specify the name of a docker image to use the image built locally. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-21server: speed up session establishmentFUJITA Tomonori
The unittest on pkg/server finishes quicker. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-21test: rm pipework functionsFUJITA Tomonori
not used anymore. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-18need to reset session when gr config is changedFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-18docs: update bmp verification sectionFUJITA Tomonori
gobgmp was removed long ago. Add a pointer to other BMP server implementations. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-18Fix adj-out display with add path enabledmageshgv
2019-10-17Transition to graceful restart state on hold timer expiry if applicablemageshgv
2019-10-15Support vrfs in zapi multipathmageshgv
2019-10-15Avoid locking in cases that return immediatelyCarl Baldwin
This just defers the read lock over some of the code that doesn't inspect or modify any RoutingPolicy data. It allows the early returns to happen without ever taking the read lock.
2019-10-15Keep Lock and defer Unlock togetherCarl Baldwin
The best way to ensure that a lock will always get unlocked is to defer the unlock immediately after locking. Otherwise, adding a return statement in the middle somewhere *could* result in forgetting to release the lock. One of these two cases has that. This technique uses an anonymous function/closure within the larger method to confine the scope of the lock and ensure that it will be unlocked in every case.
2019-10-11Remove policy from FSMCarl Baldwin
The `policy` member of fsm is apparently never used. Clean it up to avoid confusion. Policy is still set on the server and peers.
2019-10-06gobgp: fix rpki table printingFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-04Maintain unique vrf IDs in watchEventBestPath vrf mapmageshgv
Fixes missing route propagation to proper vrfs in zapi
2019-10-02Update adjrib for LLGR and preserve aslooped attrMagesh GV
Fixes LLGR community cleared on softreset. Fixes AS Path looped routes added back to rib on Graceful Restart.
2019-10-01v2.9.0FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-01Fix crash on nonexistent vrf deleteMagesh GV
2019-09-26table: add NewSingleAsPathMatch unittestFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-09-23table: fix SingleAsPathMatch pre compiled patternTatsushi Demachi
2019-09-17table: add more tests for adjFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-09-17table: implement adj-in table use routing table structuresFUJITA Tomonori
rib and adj-in use the same data strcutures. Needs more clean up. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-09-17server: improve ListPath's performanceFUJITA Tomonori
send large data rather than sending small repeatedly. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-09-12table: improve table.Info for global ribFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-09-09docs: update rpki configFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-09-08execute rpki validation for policy only when it's necessaryFUJITA Tomonori
currently, validate is executed even if the result is not necessary. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-09-02server: fix mrt injection raceFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-09-01Fix nexhop overwrite with gobgp mrt inject --no-ipv6 --nexthop x.x.x.xAmit Nishry
Signed-off-by: Amit Nishry <amit.nishry@gmail.com>
2019-09-01v2.8.0FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-08-29github: workaround for action trigger bugFUJITA Tomonori
https://github.community/t5/GitHub-API-Development-and/How-to-restrict-execution-of-GitHub-Actions-workflow-on-tags/td-p/29567 'tags' doesn't work; the action is executed when anything (tag, branch, etc) is created. Let's work around. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-08-28Fix error in BGP Confederation syntaxKevin Kirsche
Sorry about this, I had forgot that TOML subtables require the name of the parent table in their path's. I've validated this configuration: ``` root@kkirsche-dev:/home/kkirsche# ./gobgpd -f config.toml {"level":"info","msg":"gobgpd started","time":"2019-08-28T18:32:23Z"} {"Topic":"Config","level":"info","msg":"Finished reading the config file","time":"2019-08-28T18:32:23Z"} {"level":"info","msg":"Peer 10.0.0.2 is added","time":"2019-08-28T18:32:23Z"} {"Topic":"Peer","level":"info","msg":"Add a peer configuration for:10.0.0.2","time":"2019-08-28T18:32:23Z"} ``` ``` root@kkirsche-dev:# cat config.toml [global] [global.config] as = 65001 router-id = "10.0.0.1" [global.confederation.config] enabled = true identifier = 30 member-as-list = [ 65002 ] ```
2019-08-28README: add link to confederation docFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-08-28Document config API and provide examplesCarl Baldwin