summaryrefslogtreecommitdiffhomepage
path: root/api
AgeCommit message (Collapse)Author
2019-04-16server: make ListPath API show filtered pathsFUJITA Tomonori
This adds the feature to show filtered paths by policies to ListPath API. with EnableFiltered in ListPathRequest enabled: - ListPath for adj-in sets filtered on paths filtered by policys - ListPath for adj-out includes paths filtered by policys with filtered set. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-04-10Add evpn I-PMSI to proto fileJieJhih Jhang
2019-04-06add script to generate api/gobgp.pb.goFUJITA Tomonori
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-25support BMP sysName and sysDescr configurationJieJhih Jhang
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-26Add experimental BGP-LS featureArtur Makutunowicz
2018-12-28fix bmp statisticsFUJITA Tomonori
fix the regression of the adj counter due to 301b48532d4a5510c9d4ffdc44eb2754fdd1a3d1 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-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-14Fix Statistics Report in BMPEiichiro Watanabe
2018-11-12Fix intervals for MRTEiichiro Watanabe
2018-11-12Support AdminDown from configEiichiro Watanabe
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-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-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>
2018-07-06api: move api/policy.go to gobgp/cmd/FUJITA Tomonori
Some functions might be useful as public APIs but for now make everything private. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-07-06api: decrease the dependencyFUJITA Tomonori
move grpc_server.go to server/ Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-07-06Fixing all megacheck errors.FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-07-06cmd: Implement PrettyString()Satoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2018-07-06cmd: Remove table/ usage in policy.goSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2018-07-06gobgp: fix client.AddPath to use api.Path instead of table.PathFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-07-06api: remove table/ usage in util.goFUJITA Tomonori
This is a part of work removing table/ usage in api/. api/ will depend on only protobuf stuff and packet/. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-06-22Fixing all megacheck errors.Jeff Bean
2018-06-21api: Use capability.proto in message PeerConfIWASE Yusuke
The current formats of the remote/local capabilities in message PeerConf are the binary type representation, this patch fixes to use the structures defined in capability.proto file. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-06-21api: Define protobuf for BGP CapabilitiesIWASE Yusuke
Example of protoc command: $ export PROTOBUF=${HOME}/protobuf/src $ export GOBGP=${GOPATH}/src/github.com/osrg/gobgp $ protoc \ -I ${PROTOBUF} \ -I ${GOBGP}/api \ --go_out=plugins=grpc:${GOBGP}/api \ ${GOBGP}/api/gobgp.proto \ ${GOBGP}/api/attribute.proto \ ${GOBGP}/api/capability.proto Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-06-19api: Use attribute.proto struct in message VrfIWASE Yusuke
The current formats of the RD and import/export RTs in message Vrf are the binary type representation, this patch fixes to use the structures defined in attribute.proto file. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-06-14simple staticcheck issuesJeff Bean
2018-06-13table: support AfiSafiIn Policy Condition matchMarcin Ptaszyński
2018-06-13api: Implement Shutdonw()Satoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2018-06-13api: Implement AddCollector()Satoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2018-06-13api: Implement UpdatePolicy()Satoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2018-06-13api: Implement PeerGroup and DynamicNeighbor APISatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2018-06-13api: Add missing fields to Peer struct conversion functionsSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2018-06-13api: Add some fields to notify Graceful Restart stateSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2018-06-13api: Fix StartServerAPISatoshi Fujimoto
Currently, StartServerAPI accepts few parameters and setting such as BGP confederation and graceful restart cannot be configured via gRPC API. This commit fixes this API to accept all the parameters which is configurable in a configuration file/ Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2018-06-13config: Change "RedistributeRouteTypeList" to []stringSatoshi Fujimoto
RedistributeRouteTypeList is []InstallProtocolType, but InstallProtocolType only defines limited number of protocols, And currently, EnableZebra() in gRPC API validates its request with the protocols defined by InstallProtocolType, so the protocols such as "babel" or "lldp" could not be configured to Zebra, via gRPC API. This patch fixes RedistributeRouteTypeList to be []string, and fixes EnableZebra() to validate with the protocols defined in zapi.go. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2018-06-13api: Use api/attribute.proto structure in gRPC APIIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-06-13api: Define protobuf structure for BGP Path AttributesIWASE Yusuke
Example of protoc command: $ export PROTOBUF=${HOME}/protobuf/src $ export GOBGP=${GOPATH}/src/github.com/osrg/gobgp $ protoc \ -I ${PROTOBUF} \ -I ${GOBGP}/api \ --go_out=plugins=grpc:${GOBGP}/api \ ${GOBGP}/api/gobgp.proto \ ${GOBGP}/api/attribute.proto Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-06-05config: Accept CLUSTER_ID as an integer valueIWASE Yusuke
Currently, only IPv4 address is acceptable for the CLUSTER_ID setting, this patch enables to specify the CLUSTER_ID as a 32-bit unsigned integer. With this expansion, "Config.RouteReflectorClusterId" stores the raw configured value for the CLUSTER_ID and "State.RouteReflectorClusterId" stores the value used for construct the CLUSTER_LIST attribute. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-06-05table: support nexthop match policyurban