Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
The initial configuration is only applied once right at the very
beginning. Everything after that is an update. This makes that
clearer.
|
|
|
|
|
|
|
|
Now that `c` is no longer referenced in the block above, its
assignement can be moved to later. This allows consolidating the two
assignements into one and moving them to the very end to magic the
logic clearer.
|
|
This block of code has for loops that shadow the variable `c` declared
above it. This commit makes the scoping a little clearer by using
newConfig where possible to avoid the ambiguity.
|
|
Fix #2146
|
|
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>
|
|
replaced with github actions.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
|
|
This changes the test to no longer reference $GOPATH. Instead, it
removes `github.com/osrg/gobgp/` fore calling grep from the package
name before calling grep so that it greps a location relative to
wherever the script was located when it was called. This should work
regardless of $GOPATH.
The problem was that in a Travis CI run, the repository is not cloned
to the correct spot under $GOPATH and the grep fails because it is
looking in the wrong place. The repository is cloned to
`/home/travis/build/osrg/gobgp` and GOPATH is set to
`/home/travis/gopath` during a Travis run which don't match up.
|
|
Seems that the latest versions change the APIs so CI tests fails.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
test uuid map leak with implict withdraw.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
encap type.
|
|
DeletePath() doesn't delete the entry of the map for UUID.
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>
|
|
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: George Melikov <mail@gmelikov.ru>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
using syscall SO_BINDTODEVICE
|
|
works with version 0.111.0.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
This PR removes dependencies on old Fabric version, as it's not
supported by Python3.
The current Fabric versions don't support the colors and indent
used previously, so we found substitute methods from other
libraries and defined these in the library files.
The local function from fabric is now just a wrapper to invoke's
run function. All the files were processed through 2to3 command.
All the tests were executed and we don't see any difference on
the outputs when running Python2 or Python3.
The creation of gobgp container is removed from base.py into
fabfile.py, in order to comply with Fabric2 changes and simplify
dependencies.
|
|
|
|
|
|
replaced by internal/pkg/version/version.go
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
|
|
sometimes the unittest fails due to 120s timeout. The travis-ci might
be overloaded? Let's see what happens with the longer timeout.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
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>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
If the gRPC-server has TLS enabled, but the cli is used without TLS,
it crashes when listing neighbors with a segfault due to an unhandled
error.
|
|
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>
|
|
satori/go.uuid broke the API without the major version updated. We
could work around this with the module feature but looks like there is
a better option, google/uuid, so let's replace it.
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.)
|
|
There were only two differences: 1) the first block updates
`updatePolicy` and 2) the log statements are a little bit different
(`pg.State` vs `pg.Config` and `%v` vs `%s`).
To be consistent with the other blocks above it, changed to use
`pg.Config` rather than `pg.State`.
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
|
|
|