Donatas Abraitis
27b80a935b
bgp: Implement BGP link-bandwidth extended community
...
Receiving
=========
Extended communities sent from FRR side:
```
route-map lb permit 10
set extcommunity bandwidth 10
set extcommunity soo 65001:123
exit
```
On GoBGP side it's decoded as 125000 as IEEE floating-point.
```
% sudo ./gobgp global rib 192.168.100.1/32 --json | jq '."192.168.100.1/32"'
[
{
"nlri": {
"prefix": "192.168.100.1/32"
},
"age": 1632128843,
"best": true,
"attrs": [
{
"type": 1,
"value": 2
},
{
"type": 2,
"as_paths": [
{
"segment_type": 2,
"num": 1,
"asns": [
65534
]
}
]
},
{
"type": 3,
"nexthop": "192.168.10.123"
},
{
"type": 4,
"metric": 0
},
{
"type": 16,
"value": [
{
"type": 64,
"subtype": 4,
"asn": 65534,
"bandwidth": 1250000
},
{
"type": 0,
"subtype": 3,
"value": "65001:123"
}
]
}
],
"stale": false,
"source-id": "192.168.100.2",
"neighbor-ip": "192.168.10.123"
}
]
```
Sending
=======
When sending from GoBGP side:
```
[[policy-definitions]]
name = "policy1"
[[policy-definitions.statements]]
[policy-definitions.statements.actions.bgp-actions.set-ext-community]
options = "replace"
[policy-definitions.statements.actions.bgp-actions.set-ext-community.set-ext-community-method]
communities-list = ["lb:65021:125000"]
```
We get properly encoded/decoded in FRR as well:
```
~# vtysh -c 'show ip bgp 10.33.0.0/16 json' | grep 'LB:'
"string":"RT:300:400 SoO:100:200 LB:65021:125000 (1.000 Mbps)"
```
Signed-off-by: Donatas Abraitis <[email protected] >
2021-11-04 20:12:58 +09:00
Donatas Abraitis
c114e04958
Handle ttl-security option correctly
...
It wasn't configurable at all.
Signed-off-by: Donatas Abraitis <[email protected] >
2021-06-30 10:55:06 +09:00
zvfvrv
92f37d65aa
SegmentTypeB proto definition
2021-06-30 07:38:00 +09:00
Donatas Abraitis
94d720ff40
Add FQDN capability
...
It's not kinda RFC (draft), but it's implemented and used in various
other open-source software like FRRouting, Bird, ExaBGP.
It's very handy when dealing with lots of peers.
Exampe between GoBGP and FRRouting:
```
% ./cmd/gobgp/gobgp neighbor 192.168.10.123 | grep -A4 fqdn:
fqdn: advertised and received
Local:
name: donatas-pc, domain:
Remote:
name: exit1-debian-9, domain:
```
```
% vtysh -c 'show bgp neighbors 192.168.10.17 json' | jq .'"192.168.10.17".neighborCapabilities.hostName'
{
"advHostName": "exit1-debian-9",
"advDomainName": "n/a",
"rcvHostName": "donatas-pc",
"rcvDomainName": "n/a"
}
```
Signed-off-by: Donatas Abraitis <[email protected] >
2021-05-24 09:55:03 +03: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 Magnusson
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
Mikael Magnusson
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
Serguei Bezverkhi
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 Bezverkhi
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. Vallimamod
b44362fddd
api: keeps backward compatibility when extending LsAddrPrefix
2020-11-10 22:17:26 +09:00
Valli A. Vallimamod
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 Shaw
393d82f955
Adding gRPC support for modified logging level
...
Signed-off-by: Steve Shaw <[email protected] >
2020-11-06 21:15:10 +09:00
Serguei Bezverkhi
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
JieJhih Jhang
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
Artur Makutunowicz
192480fc71
Add experimental BGP-LS feature
2019-01-26 12:40:45 +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
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
IWASE Yusuke
84987fb873
api: Define protobuf structure for BGP Path Attributes
...
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 <[email protected] >
2018-06-13 08:55:27 +09:00