summaryrefslogtreecommitdiffhomepage
path: root/internal/pkg/table
AgeCommit message (Collapse)Author
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-12table: improve table.Info for global ribFUJITA 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-08-27fix duplicated local path id bugFUJITA Tomonori
Fix a bug that the same path id is assigned to two paths. The bug happens in the following way: 1. a new path is assigned to a local path id. 2. an import policy dropping the path from the master rib is added and execute softreset in. 3. the path still exists in the adj but doesn't in the master. the path id was freed (marked as unused). 5. a new path with the same prefix comes from another peer. The same id is assigned to the new path. 6 deleted the policy and execute softreset in. 7 there are two paths in the master with the same path id. This path guarantees that only when a path is removed in the adj, the id for path is freed. Note that this doesn't fatten Path strcuture, which should be avoided for any reason. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-08-27table: delete unused deleteDestByNlri()FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-08-26table: remove unused validation in originInfo structFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-08-26table: kill GetPathListByPeer()FUJITA Tomonori
when a peer is down, use paths in its adj table instead of searching for the global table. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-06-08Support ipv4-flowspec for VRF enslaved neighborMichael Lechner
2019-04-12table: delete unused reason in Path structFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-03-24table: fix Path.SetLargeCommunities not to set vacant communities valueNasato Goto
2019-03-17Deleteing goroutine for assignMplsLabel and moveing code relating MPLS L3VPN ↵Hitoshi Irino
(introduced from PR osrg#1992, commit 3a79ad3) from table_manager.go to zclient.go
2019-03-14Refactoring source code for BGP/MPLS L3VPN with ZAPI 6Hitoshi Irino
- Deleting receiveVrfId (which is introduced on 2 previous commit 90eeb5de870b95345650e3ee98741e040a0b6e93) from Path struct and Introducing pathVrf Map in zclient. - Recovering logic (which is changed on 1 previous commit acfd5bedb6d94775392200db597a5ac420b31b2e) to use assignMplsLabel in server.go. - Refectoring zclient's newIPRouteBody for deleating duplicate logic for IPv4 and IPv6.
2019-03-14Fix bug using variable of zclient in AddVrf of server.go.Hitoshi Irino
2019-03-14Supporting BGP/MPLS L3VPNs with Frrouting Zebra API 6Hitoshi Irino
- This commit aims to solve reported problem on issues #1611, #1648 and #1912 - Partial changes of this commit duplicate with changes on PR #1587 (not merged) and PR #1766 (not merged and already closed) - This commit is tested with only FRRouting version 6.0.2 (which uses Zebra API 6) - This commit fixes lack of LABEL_MANAGER_CONNECT_ASYNC for ZAPI6. (This bug is introduced on commit 2bdb76f2dcf24b891f2b6327a57c31b26463b2dd "Supporting Zebra API version 6 which is used in FRRouting version 6")
2019-01-09silence staticcheck warningsFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2018-12-23make the usage of type name in protobuf consistentFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2018-12-23make Add/Delete/ListPath APIs symmetricFUJITA Tomonori
- AddPath() with an api.Path object then DeletePath() works with the same api.Path object. - ListPath() returns an api.Path object then DeletePath() works with the same api.Path object. The above is guaranteed with and without PeerInfo (SourceAsn and SourceId). Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2018-11-29server: fix nil pointer error when apply policyoc
this error can be reproduced by: gobgp p statement s1 add action as-prepend 65001 1 gobgp p add p1 s1 gobgp n 192.168.0.5 p import add p1 gobgp n 192.168.0.5 softresetin then: panic: runtime error: invalid memory address or nil pointer dereference
2018-11-24minor cleanup: update Gopkg.lock and erase redundant nil setSergey Elantsev
2018-10-28move NewAPIRoutingPolicyFromConfigStruct() from server/FUJITA Tomonori
The config is an internal package so it should not be exported. NewAPIPolicyAssignmentFromTableStruct() is approprate for config/. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-10-28move NewAPIPolicyAssignmentFromTableStruct() from server/FUJITA Tomonori
The table is an internal package so it should not be exported. NewAPIPolicyAssignmentFromTableStruct() is approprate for table/. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-10-23fix: nil pointer in PrefixSet AppendImcom Jin
2018-10-23table: compare etag and peer ip in mac mobilitywanghonghao
2018-08-23policy cleanupFUJITA Tomonori
- remove ReplaceDefinedSet and ReplaceStatement APIs; not intutive and should create a new one instead of modifying the existing. - Rename ReplacePolicyAssignment to SetPolicyAssignment API; we use internally SetPolicy() name from the beginning. - Rename UpdatePolicy() to SetPolicies() API; It doesn't update anything so the name is confusing. It discards the all policies and create policies from the argument. - Changes some member names in structures for policy. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-08-17table: remove DIRECTION_IN completelyFUJITA Tomonori
so overdue. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-08-17ignore duplicate RTC Membership announcementsMarcin Ptaszynski
2018-08-16pkt/server: ListPolicy() and ListStatement() support filtering like ↵FUJITA Tomonori
ListDefinedSet() and ListPolicyAassignment() Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-08-08rpc cleanupFUJITA Tomonori
- clean up RPC function names - rewrite gobgp command to use the api instead of config package - delete unused client package Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-07-24fix unittest warnings with go tipFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-07-16use function Equal() instead of build-in comparewanghonghao
2018-07-07follow Standard Go Project LayoutFUJITA Tomonori
https://github.com/golang-standards/project-layout Now you can see clearly what are private and public library code. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>