seems that sticking to Go API v1 for protobuf is headache for projects
using GoBGP.
This breaks the compatibility so bumps up the major version to 3.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
This commit works with FRR7.5 when "version = 6" is specified in zebra.config
- Changes Zebra internal API commands to FRR7.5 which is incompatible with older version.
- Changes SendHello() to include AFI
- Changes SendRouteIDAdd() to include AFI
- Changes decodeFromBytes/serialize of IPRouteBody and NexthopUpdateBody, because size of MESSAGE_FALG is changed.
- Move function for checking softwareName from internal/pkg/config/default.go to internal/pkg/zebra/zapi.go.
- Delete support for frr7.1.
- Fix bug by inverse processing MessageMTU and messageTag, and add messageTableId in decodeFromBytes and serialize of IPRouteBody.
- Add processing messageBackupNexthop (which is added in frr7.4) in decodeFromBytes and serialize of IPRouteBody.
- Update document.
Sorry about this, I had forgot that TOML subtables require the name of the parent table in their path's. I've validated this configuration:
```
root@kkirsche-dev:/home/kkirsche# ./gobgpd -f config.toml
{"level":"info","msg":"gobgpd started","time":"2019-08-28T18:32:23Z"}
{"Topic":"Config","level":"info","msg":"Finished reading the config file","time":"2019-08-28T18:32:23Z"}
{"level":"info","msg":"Peer 10.0.0.2 is added","time":"2019-08-28T18:32:23Z"}
{"Topic":"Peer","level":"info","msg":"Add a peer configuration for:10.0.0.2","time":"2019-08-28T18:32:23Z"}
```
```
root@kkirsche-dev:# cat config.toml
[global]
[global.config]
as = 65001
router-id = "10.0.0.1"
[global.confederation.config]
enabled = true
identifier = 30
member-as-list = [ 65002 ]
```
Long ago gobgp stored the validation results in memory but for reduce
memory usage, the cache was removed. Currently, every time you request
the validation result, gobgp validates paths with the latest ROAs.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
- 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.)
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>