summaryrefslogtreecommitdiffhomepage
path: root/pkg/server/grpc_server.go
AgeCommit message (Collapse)Author
2020-01-05gobgpd: use map for validation tableToshiki Tsuchiya
`Table.destinations` is a map, so the order changes. This commit allows to get validate information from path by using map for validate table Fix: https://github.com/osrg/gobgp/issues/2223 Signed-off-by: Toshiki Tsuchiya <taruta0811@gmail.com>
2019-10-22table: use net.IPNet for roa instead of homegrown IPPrefix structureFUJITA Tomonori
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-02server: fix mrt injection raceFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-07-02BGP connection on a speecified interface (including which is associated VRF) ↵Hitoshi Irino
using syscall SO_BINDTODEVICE
2019-04-02server: fix path validatoin result regressionFUJITA Tomonori
Somehow the state isn't updated. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-04-02add secondary-route feature for router serverFUJITA Tomonori
if an export policy rejects a selected route, try the next route in order until one that is accepted is found or all routes for the peer are rejected. the default is disabled. You can enable this feature in the following way: [neighbors.route-server.config] route-server-client = true secondary-route = true Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-03-26server: handle grpc listen failure as fatal errorFUJITA Tomonori
Fixed the bug to ignore grpc listen failure. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2018-12-24api: rename ValidationDetail to ValidationFUJITA Tomonori
Let's simply use 'validation' because there is no other validation structure. We could add validation results from other than rpki so drop rpki name. 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-26support received, accepted, and advertised counters per familyFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-11-25api: remove AddPaths from Peer and PeerGroupFUJITA Tomonori
AddPaths in AfiSafi should be used; it can handle configuration per family. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-11-25api: move RouterId to PeerState from PeerConfFUJITA Tomonori
It's not configuration. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-11-23api: move remote_cap and local_cap to PeerState from PeerConfFUJITA Tomonori
Both should be in PeerState like OpenConfig. Also remove unused supported_capabilities. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-11-16api: rename NlriAny in api.Path to NlriFUJITA Tomonori
Also rename PathAttrsAny to PathAttrs. Both are the first choice rather than the binary format members. Support SortType member to ListPathRequest to add an option to return unordered paths. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-11-16use google/protobuf/timestamp.protoFUJITA Tomonori
use google/protobuf/timestamp.proto instead of our own way to represent time. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-11-13server: change List API designFUJITA Tomonori
https://github.com/osrg/gobgp/issues/1763#issuecomment-437594975 Follow Chris's proposal; more consistent with gRPC streaming API. Also supports context properly. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-11-13add anyNlri toPathApi when path.IsWithdrawjack
2018-11-12Support AdminDown from configEiichiro Watanabe
2018-11-12server: change monitor API designFUJITA Tomonori
https://github.com/osrg/gobgp/issues/1763#issuecomment-437594975 Follow Chris's proposal; consistent with the rest of the APIs. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-11-09make gRPC server privateFUJITA Tomonori
No need to be exported. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-11-08server: Add PeerTable APIFUJITA Tomonori
go native API that corresponds to MonitorTable gRPC API. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-11-08server: Add PeerMonitor APIFUJITA Tomonori
go native API that corresponds to MonitorPeer gRPC API. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-11-07server: unexported Watcher stuffFUJITA Tomonori
Replace it with the new API using api/. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-10-29server: unexport NewRoutingPolicyFromApiStruct()FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-10-28server: make NewNeighborFromAPIStruct() and NewPeerGroupFromAPIStruct() ↵FUJITA Tomonori
unexported Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-10-28server: make NewGlobalFromAPIStruct() unexportedFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-10-28server: make NewRoaListFromTableStructList() unexportedFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-10-28server: make NewPolicyFromApiStruct() unexportedFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
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-28move exported functions to generate api structs from config struct in server/FUJITA Tomonori
NewPeerFromConfigStruct() NewPeerGroupFromConfigStruct() NewGlobalFromConfigStruct() The config is an internal package so they should not be exported. We will remove the usage of the config in server/. This is a part of the goal. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-08-28api: remove unused membersFUJITA Tomonori
fixes #1816 Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-08-28api: change FamilyFUJITA Tomonori
fixes #1812 Avoid the cast and use strightforward data strcuture; two variables for afi and safi instead of squashing two into one variable. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
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-18pkg/server: ListPolicyAssignment() returns all assignments by defaultFUJITA Tomonori
Like other ListPolicy*() functions, if no conditions are specified, all assignments are returned. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-08-10pkg/server: public APIs use structures in api/FUJITA Tomonori
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-14fix missing EbgpMultihop configtamihiro
2018-07-08remove package dependency except for grpc in api/FUJITA Tomonori
Nothing except for protobuf IDL files and files generated by protobuf in api/. Try to make the APIs portable to any languages. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
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>