Age | Commit message (Collapse) | Author |
|
|
|
Fix a bug that the same path id is assigned to two paths. The bug
happens in the following way:
1. a new path is assigned to a local path id.
2. an import policy dropping the path from the master rib is added and
execute softreset in.
3. the path still exists in the adj but doesn't in the master. the
path id was freed (marked as unused).
5. a new path with the same prefix comes from another peer. The same
id is assigned to the new path.
6 deleted the policy and execute softreset in.
7 there are two paths in the master with the same path id.
This path guarantees that only when a path is removed in the adj, the
id for path is freed.
Note that this doesn't fatten Path strcuture, which should be avoided
for any reason.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
when a peer is down, use paths in its adj table instead of searching
for the global table.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
This fixes a bug that the duplicated AFI is configured with the peer
group. OverwriteNeighborConfigWithPeerGroup() appends the peer group's
AFI configuration to the existing one instead overwriting.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
- Additionally bug fix which avoid panic caused by displaying vpnv6 prefixes using gobgp vrf rib
- Supporting FRRouting 7.1.x
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
using syscall SO_BINDTODEVICE
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
|
|
|
|
syscall.AF_INET/AF_INET6 are os/architecture specific. On some non
Linux x86 architectures, failures like the following happen:
--- FAIL: Test_NexthopRegisterBody (0.00s)
Error Trace: zapi_test.go:893
Error: Not equal: 0x1e (expected)
!= 0xa (actual)
Error Trace: zapi_test.go:894
Error: Not equal: net.IP{0x20, 0x1, 0xd, 0xb8, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1} (expected)
!= net.IP(nil) (actual)
Diff:
--- Expected
+++ Actual
@@ -1,2 +1,2 @@
-(net.IP) (len=16 cap=16) 2001:db8:1:1::1
+(net.IP) <nil>
looks like that frr uses os/os/architecture specific values in the
zapi message.
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.)
|
|
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
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>
|
|
|
|
|
|
(introduced from PR osrg#1992, commit 3a79ad3) from table_manager.go to zclient.go
|
|
|
|
- Deleting receiveVrfId (which is introduced on 2 previous commit 90eeb5de870b95345650e3ee98741e040a0b6e93) from Path struct and Introducing pathVrf Map in zclient.
- Recovering logic (which is changed on 1 previous commit acfd5bedb6d94775392200db597a5ac420b31b2e) to use assignMplsLabel in server.go.
- Refectoring zclient's newIPRouteBody for deleating duplicate logic for IPv4 and IPv6.
|
|
|
|
- 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")
|
|
|
|
|
|
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
channel when sequential retry to connect zebra.
- Introducing MIN_ZAPIVER and MAX_ZAPIVER for avoiding editing files except for zapi.go when new ZAPI version will be supported in future.
- Fix a bug avoiding panic by double close for a channel.
- Changing algorithm for sequential retry to connect zebra.
|
|
fix the regression of the adj counter due to
301b48532d4a5510c9d4ffdc44eb2754fdd1a3d1
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
- 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>
|
|
before dialing
Use the feature of go 1.11 to remove the hack.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
|
|
this error can be reproduced by:
gobgp p statement s1 add action as-prepend 65001 1
gobgp p add p1 s1
gobgp n 192.168.0.5 p import add p1
gobgp n 192.168.0.5 softresetin
then:
panic: runtime error: invalid memory address or nil pointer dereference
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
AddPaths in AfiSafi should be used; it can handle configuration per
family.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
It's not configuration.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
|
|
Both should be in PeerState like OpenConfig.
Also remove unused supported_capabilities.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
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>
|
|
use google/protobuf/timestamp.proto instead of our own way to
represent time.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
|
|
The commit 000589f3c "api: Implement UpdatePolicy()" introduced
a regression: if match-set-options is not defined in config file,
gobgpd starts with error: failed to get policy info: not found...
This fix set match-set-options to default when needed.
|
|
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>
|
|
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>
|
|
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>
|
|
|