311 Commits
Author SHA1 Message Date
Carl Baldwin 9e98fcf1d6 Do not suppress initial non-established peer state in MonitorPeer
The issue with the initial update was that sometimes a connection had
not yet been established. Trying to get remote and local connection
data caused a segmentation violation because `fsm.conn` was nil.

Also adds a flag to MonitorPeerRequest in the GRPC API to enable the
new behavior to avoid backward incompatibility.

fixes #2047
2021-04-22 17:40:15 -06:00
Marcus Wichelmann 34ed2a2ce5 Update proto 2021-03-29 20:57:36 +02:00
Marcus Wichelmann 3c437e5aec Added ListDynamicNeighbor message to API 2021-03-29 20:53:53 +02:00
Marcus Wichelmann 76f40ede0d Added DeleteDynamicNeighbor message to API 2021-03-29 20:53:45 +02:00
Marcus Wichelmann c1e7463e36 Added ListPeerGroup message to API 2021-03-29 20:53:25 +02:00
Mikael MagnussonandFUJITA Tomonori 390e3127ce add support for tunnel egress endpoint sub-TLV
As specified in draft-ietf-idr-tunnel-encaps-22.

Signed-off-by: Mikael Magnusson <[email protected]>
2021-03-14 08:46:44 +09:00
Faicker MoandFUJITA Tomonori cd5671baee policy: add nexthop unchanged
Support config set-next-hop = "unchanged" and also cli command.

Signed-off-by: Faicker Mo <[email protected]>
2021-03-03 09:47:50 +09:00
Milan LencoandFUJITA Tomonori 3339f97722 feat: add option to bind listener to a (VRF) device
Signed-off-by: Milan Lenco <[email protected]>
2021-02-13 18:54:31 +09:00
Mikael MagnussonandFUJITA Tomonori c70d99cc91 add pb for UDP destination port sub-TLV
Generated with tools/grpc/genproto.sh

Signed-off-by: Mikael Magnusson <[email protected]>
2021-01-23 09:03:18 +09:00
Mikael MagnussonandFUJITA Tomonori 4c8ab0d4b5 support UDP destination port sub-TLV
As specified in draft-ietf-idr-tunnel-encaps.

Signed-off-by: Mikael Magnusson <[email protected]>
2021-01-23 09:03:18 +09:00
Serguei BezverkhiandFUJITA Tomonori 57068b16fd Add documentation, fix typo in proto and add marshal for tunne encal sub tlvs
Signed-off-by: Serguei Bezverkhi <[email protected]>
2020-12-02 07:21:01 +09:00
Serguei BezverkhiandFUJITA Tomonori 63b958b2a7 API chages
Signed-off-by: Serguei Bezverkhi <[email protected]>
2020-11-30 07:21:40 +09:00
Serguei Bezverkhi 66413b5335 API changes
Signed-off-by: Serguei Bezverkhi <[email protected]>
2020-11-25 17:28:18 -05:00
Valli A. VallimamodandFUJITA Tomonori b44362fddd api: keeps backward compatibility when extending LsAddrPrefix 2020-11-10 22:17:26 +09:00
Valli A. VallimamodandFUJITA Tomonori c595b56166 api: adds LS attributes to LsAddrPrefix
Includes `gobgp.LsNLRI` attibutes to `api.LsAddrPrefix` so that they are
distributed to all derived types (LsNodeNLRI, LsPrefixV4NLRI, and LsPrefixV6NLRI)
2020-11-10 22:17:26 +09:00
Steve ShawandFUJITA Tomonori 393d82f955 Adding gRPC support for modified logging level
Signed-off-by: Steve Shaw <[email protected]>
2020-11-06 21:15:10 +09:00
FUJITA Tomonori 3d3d6f3438 api: add ListPathRequest's option to get binary of nlri and attributes
put the binary of nlri and path attribute to the response.

Signed-off-by: FUJITA Tomonori <[email protected]>
2020-10-21 21:09:12 +09:00
Serguei BezverkhiandFUJITA Tomonori 833188f526 extend attributes proto for Prefix SID support
Signed-off-by: Serguei Bezverkhi <[email protected]>
2020-05-13 12:58:51 +09:00
Serguei Bezverkhi e3001f9fe1 additional changes
Signed-off-by: Serguei Bezverkhi <[email protected]>
2020-05-05 16:10:24 -04:00
Serguei Bezverkhi 8409507a7c coding the feature
Signed-off-by: Serguei Bezverkhi <[email protected]>
2020-05-05 14:31:28 -04:00
Tom Shine f11b9c7afb Add BGP-LS SRLG support 2020-04-24 00:25:59 +01:00
Carl Baldwin 72a0e55287 Use correct import paths for protobuf packages
The packages `any`, `empty`, and `timestamp` ship with protoc so there
is no need to pull them out of the go package. This simplifies the
generation script and also corrects the import paths for the standard
protobuf types.

Fixes: #2095
2019-11-06 17:59:21 +00:00
FUJITA Tomonori 853944f785 server: speed up session establishment
The unittest on pkg/server finishes quicker.

Signed-off-by: FUJITA Tomonori <[email protected]>
2019-10-21 16:10:40 +09:00
Hitoshi IrinoandFUJITA Tomonori 2f5a4d59cb BGP connection on a speecified interface (including which is associated VRF) using syscall SO_BINDTODEVICE 2019-07-02 11:40:22 +09:00
Hitoshi IrinoandFUJITA Tomonori 7d2823d4c0 zebra: supporting FRRouting version 7
- the "version" parameter (which means ZAPI) 6 in zebra config changes supporting FRRouting version 7 instead of FRRouting version 6.
 - the "software-name" parameter which supports backward compatibility is added in zebra config.
   (GoBGP support FRRouting version 6 when "version = 6" and "software-name = frr6" is configured.)
2019-05-08 08:48:26 +09:00
FUJITA Tomonori bec61c4f38 server: make ListPath API show filtered paths
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 <[email protected]>
2019-04-16 12:40:36 +09:00
JieJhih JhangandFUJITA Tomonori eb37217981 Add evpn I-PMSI to proto file 2019-04-10 10:03:27 +09:00
FUJITA Tomonori 2965e8092e add script to generate api/gobgp.pb.go
Signed-off-by: FUJITA Tomonori <[email protected]>
2019-04-06 21:48:21 +09:00
FUJITA Tomonori ccdc2e6277 add secondary-route feature for router server
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 <[email protected]>
2019-04-02 16:01:29 +09:00
JieJhih JhangandFUJITA Tomonori 80ff3a325c support BMP sysName and sysDescr configuration 2019-03-25 20:11:44 +09:00
Hitoshi IrinoandFUJITA Tomonori 3a79ad3fdc Supporting BGP/MPLS L3VPNs with Frrouting Zebra API 6
- 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 2bdb76f2dc "Supporting Zebra API version 6 which is used in FRRouting version 6")
2019-03-14 21:20:31 +09:00
Artur MakutunowiczandFUJITA Tomonori 192480fc71 Add experimental BGP-LS feature 2019-01-26 12:40:45 +09:00
FUJITA Tomonori d7e5bf22a6 fix bmp statistics
fix the regression of the adj counter due to
301b48532d

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-12-28 23:27:53 +09:00
FUJITA Tomonori 8e7741a0a8 api: rename ValidationDetail to Validation
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 <[email protected]>
2018-12-24 10:13:00 +09:00
FUJITA Tomonori 8d0a8b0ffa make the usage of type name in protobuf consistent
Signed-off-by: FUJITA Tomonori <[email protected]>
2018-12-23 23:40:37 +09:00
FUJITA Tomonori 301b48532d support received, accepted, and advertised counters per family
Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-26 17:49:48 +09:00
FUJITA Tomonori a5763c20d4 api: remove AddPaths from Peer and PeerGroup
AddPaths in AfiSafi should be used; it can handle configuration per
family.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-25 23:27:02 +09:00
FUJITA Tomonori 7ec6a96962 api: move RouterId to PeerState from PeerConf
It's not configuration.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-25 20:15:04 +09:00
FUJITA Tomonori 79a461c147 api: move remote_cap and local_cap to PeerState from PeerConf
Both should be in PeerState like OpenConfig.

Also remove unused supported_capabilities.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-23 21:01:03 +09:00
FUJITA Tomonori 6b05d9db0f api: rename NlriAny in api.Path to Nlri
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 <[email protected]>
2018-11-16 16:49:49 +09:00
FUJITA Tomonori c1bca25559 use google/protobuf/timestamp.proto
use google/protobuf/timestamp.proto instead of our own way to
represent time.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-16 12:23:18 +09:00
Eiichiro WatanabeandFUJITA Tomonori fa387c9065 Fix Statistics Report in BMP 2018-11-14 19:32:24 +09:00
Eiichiro WatanabeandFUJITA Tomonori 0eb3dcede5 Fix intervals for MRT 2018-11-12 21:32:07 +09:00
Eiichiro Watanabe 4cc7a81e8f Support AdminDown from config 2018-11-12 14:41:58 +09:00
FUJITA Tomonori 475818dd3c api: remove unused members
fixes #1816

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-08-28 22:14:41 +09:00
FUJITA Tomonori 97ad6b32ee api: change Family
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 <[email protected]>
2018-08-28 15:36:50 +09:00
FUJITA Tomonori 008c961ecd policy cleanup
- 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 <[email protected]>
2018-08-23 10:05:19 +09:00
FUJITA Tomonori 71e56c542e rpc cleanup
- 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 <[email protected]>
2018-08-08 21:24:48 +09:00
FUJITA Tomonori 07f47b7d37 remove package dependency except for grpc in api/
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 <[email protected]>
2018-07-08 21:32:32 +09:00
FUJITA Tomonori c4775c4251 follow Standard Go Project Layout
https://github.com/golang-standards/project-layout

Now you can see clearly what are private and public library code.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-07-07 20:44:25 +09:00