summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
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
2019-08-28Pass context through configuration codeCarl Baldwin
2019-08-28Rename c to currentConfig to follow naming patternCarl Baldwin
2019-08-28Replace for and select with single for rangeCarl Baldwin
2019-08-28Remove loop functionCarl Baldwin
2019-08-28Move ReadConfigFileOnSighup to gobgpd mainCarl Baldwin
Reloading the config file on SIGHUP is behavior specific to gobgpd. Attempts to expose it through the config API was awkward and could make the api more confusing to use. This change moves that functionality up into the gobgpd main and out of the library.
2019-08-28Remove last remants of internal_cfgCarl Baldwin
2019-08-28Switch away from channel for one-off dry runCarl Baldwin
2019-08-28Split creation of config reading channelCarl Baldwin
2019-08-28Remove a reference to internalCarl Baldwin
2019-08-28config -> internal_configCarl Baldwin