summaryrefslogtreecommitdiffhomepage
path: root/table
AgeCommit message (Collapse)Author
2016-07-20move gRPC-related code in path.go and destination.go to grpc_server.goFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-20move gRPC-related code in vrf.go to grpc_server.goFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-20table: remove ToApiStruct methods from policy.goFUJITA Tomonori
Preparation for removing gRPC dependency. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-11Fix longer-prefix search using radix trie walkBen Agricola
Bug-Url: #1006 Signed-off-by: Ben Agricola <bagricola@squiz.co.uk>
2016-06-28fix support AGGREGATOR and AS4_AGGREGATOR conversionFUJITA Tomonori
Fix the following commit: commit de58be441150daf8943a5a66ced6703b8201303e Author: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Date: Sun Jun 26 23:18:23 2016 +0900 support AGGREGATOR and AS4_AGGREGATOR conversion Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-27add AGGREGATOR and AS4_AGGREGATOR conversion testFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-26support AGGREGATOR and AS4_AGGREGATOR conversionFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-13drop unknown optional non-transitive attributesFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-06server/table: support bgp multipathISHIDA Wataru
This patch adds multiPathList field to watcherEventBestPathMsg and fills it when global.use-multiple-paths.config.enable = true Following patches add support injecting multipath to zebra and monitoring it via gRPC Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-06-06table: return default value(100) when local-pref attr doesn't existISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-06-03table: fix leftmostAS() in compareByMEDFUJITA Tomonori
Needs the first AS in the AS_SEQUENCE is the same for multiple paths. Any preceding AS_CONFED_SEQUENCE is ignored. Also rename the function name to 'firstAS'. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-31table: fix creation of update message from path with multiple NLRIsFUJITA Tomonori
Fix a bug that gobgp creates a wrong update message from path having MP_REACH with multiple NLRIs. gobgp always allocates a path per NRLI (that is, multiple paths from an update message having MP_REACH with multiple NLRIs). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-29table: use path Equal method in adj rather than homegrown funcitonFUJITA Tomonori
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-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-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-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-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-23vrf: fix rtc withdraw handlingISHIDA 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-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-12table: fix Med comparison in best path selectionFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-06table: don't access path.info directlyFUJITA Tomonori
Could be crash. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-04-27server: fix not to modify Transport.ConfigISHIDA Wataru
modify Transport.State instead Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-04-26policy: don't apply policy when path is withdrawalISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-04-26table: flag IsWithdraw down after useISHIDA Wataru
paths in Destination.knownPathList are referenced by peer's adj-rib-in when there was no policy modification applied to avoid unnecessary copy. Here in Destination.explicitWithdraw(), we are using Path.IsWithdraw as a flag to signify which path stays in knownPathList and which not. Since the paths are referenced by peer's adj-rib-in, we must flag this down after use. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-04-25remove collector mode supportFUJITA Tomonori
We need to update yang config collector mode (split into config and state). before that, let's remove the feature itself to see if there is any user of it. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-04-21table: use received time as tie-breakerISHIDA Wataru
older path get preference can be disabled by `global.route-selection-options.external-compare-router-id = true` close #806 Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-04-21policy: fix as-path match optimizationISHIDA Wataru
following as-path pattern will be optimized - ^<asn>_ # left-most - _<asn>$ # origin - _<asn>_ # include - ^<asn>$ # only Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-04-21table: Destination's Calculate doesn't need to return newly added pathsFUJITA Tomonori
Nobody uses them. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-04-21config: add set-next-hop optiontamihiro
2016-04-20policy: add test caseISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-04-20policy: check duplicated policy nameISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-04-20policy: don't allow same policy assigned twiceISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-04-20path: improve Path.String()ISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-04-20policy: add unittest ParseCommunityRegexp()FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-04-20Revert "policy: remove unnecessary regexp special charactor"tamihiro
This reverts commit 76525a966bdfdfd10195e72fffcffbc3a6c69d78.
2016-04-20fix community-set match all evaluation and remove regexp special chars from ↵tamihiro
cli output of community strings
2016-04-19table: add a test to check implicit withdrawal behavior with mod actionISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-04-19table: fix bug of holding flawed withdrawals in Destination structISHIDA Wataru
When received withdrawals don't match with existing knownPathList, we must ignore them. This commit fixes not to store un-matched withdrawals in `dest.withdrawList` to avoid unintentional withdrawal. see test case for detail Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-04-19table: fix bug of incomplete withdrawal handlingISHIDA Wataru
When mod action is used in route server configuration, `Destination.knownPathList` holds multiple modified paths whose original path is same. In that case, when the original path is withdrawn, we must remove all modified paths. There was a wrong `break` in `Destination.explicitWithdraw()` which avoids this. test is also added to check the behavior. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-03-31move packet/*.go to packet/bgp/*.go for Go's conventionFUJITA Tomonori
Later, we move non-bgp protocol stuff like mrt under their own direcotries. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-25table: initialize the destinations when the destinations is emptyNaoto Hanaue
In the current implementation, the destinations map management area in the table has not been initialized even if destinations removed all. Therefore, to explicitly initialize the destinations.
2016-03-14table: remove empty destinations after withdrawFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-14table: remove Destination's oldKnownPathListFUJITA Tomonori
Withdrawn pathes are kept to be referenced thus the memory for them are not freed. Kill oldKnownPathList and Destination's NewFeed(). Destination's Calculate() returns the best paths. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>