Age | Commit message (Collapse) | Author |
|
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
|
|
This commit introduces 'bgp_config' attribute for
GoBGP/Quagga containers to configure complex settings.
Adding to this, this commit enables to configure
BGP confederation settings to GoBGP/Quagga conrainers.
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
|
|
For Quagga containers, currently, when we use get_global_rib()
without specifying prefix, we cannot get AS_PATH and other attributes.
And when we use get_global_rib() with prefix,
we can get only one path even if there is multiple paths for a destination.
This commit fixes these problems by refining test/lib/quagga.py.
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
|
|
For scenario_test, Python build environment is more suitable rather than
Go build environment, because scenario_test is written in Python and the
building source codes will be done on Docker containers.
This patch fixes scenario_test to use Python build environment and
reduces "sudo" executions in order to use interpreter of virtualenv.
Note: On Travis-Ci, the Python interpreter of sudoer is older version,
and when install packages with "sudo pip", InsecurePlatformWarning will
be displayed. So it is better to use the newer interpreter of virtualenv.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
|
|
Currently, the build steps of "go get" and removing the downloaded
directory are not effective steps.
For example, "go get" for downloading dependencies can be replaced
with "dep ensure".
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Currently, daemons of Quagga will fails to output their logs, because
those daemons (quagga user) does not have the permission to access to
the GoBGP config directory (owned by root user).
This patch prepares the volume for quagga user and enables daemons of
Quagga to output logs.
With this patch, those logs will be output into
"TEST_BASE_DIR/TEST_PREFIX/<CONTAINER_NAME>/quagga/" directory.
(default: /tmp/gobgp/<CONTAINER_NAME>/quagga/")
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
libraries are installed into vendor directory so we can't build go code outside.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
This patch adds test cases for adding/deleting routes from GoBGP CLI.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
This patch enables GoBGPContainer to get community and identifier for
each route via get_global_rib() and get_local_rib() methods.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
This patch enables GoBGPContainer to add routes with "identifier" and
"community" via add_route() method.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Currently, del_route() with "identifier=None" deletes all routes even if
some installed routes have the valid identifier.
This patch fixes to delete only route which exactly matches against the
given identifier.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
This patch adds the test cases for the mixed situation of add-path
enabled routers and non add-path enabled routers and advertising and
withdrawing routes in such situation.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
see the comment of 4d7e3bd16fa51f4469a0a3f5f807c20b237ee21d
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
|
|
`go get -d github.com/osrg/gobgp/...` could fail (e.g., an imported
library has gone). After that, we build a docker image from modified
source code.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
|
|
we use the term replace-peer-as instead of as-override
since openconfig is using it.
cli
```
$ gobgp n add <neighbor-addr> as <asn> replace-peer-as
```
config
```
neighbor:
config:
peer-as: <asn>
neighbor-address: <neighbor-addr>
as-path-options:
config:
replace-peer-as: true
```
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
|
|
cli
```
$ gobgp n add <neighbor-addr> as <asn> remove-private-as (all|replace)
```
config
```
neighbor:
config:
peer-as: <asn>
neighbor-address: <neighbor-addr>
remove-private-as: all
```
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
|
|
RFC4271 9.1.2 Phase 2: Route Selection
If the AS_PATH attribute of a BGP route contains an AS loop, the BGP
route should be excluded from the Phase 2 decision function. AS loop
detection is done by scanning the full AS path (as specified in the
AS_PATH attribute), and checking that the autonomous system number of
the local system does not appear in the AS path. Operations of a BGP
speaker that is configured to accept routes with its own autonomous
system number in the AS path are outside the scope of this document.
Also this commit adds support for allow-own-as option to relax this.
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
fix the regression of commit e429c1aaf4dd85459dfafc1a5efac9d4778370f6
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
use cache wisely.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
This reverts commit 47ab84e34caeb7c89b26271bf84959011bc8ed19.
using the same binaries on a host and inside a container isn't always
feasible (by default, not statically linked binary).
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
For the maintainability, this patch removes the list for each scenario
test file.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Currently, to reflect the modification of the local source code or to
switch the base image for GoBGP container, it is required to re-build
the GoBGP container image, and this take a long time to test or debug
with the scenario tests.
This patch fixes to use the local GoBGP executables (gobgp and gobgpd)
in container, and enables to reflect the changes without rebuidling
container image.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Also adds the language type of code blocks.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
With the newer version of Quagga, "en" command will be regarded as an
"Ambiguous command", because there are two commands "enable" and "end".
This patch replaces "en" command with "enable" command, and fixes this
problem.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
To enable to use "noseplugin" as the Python module from the absolute
import scope in scenario_test, this patch moves noseplugin.py to
test/lib module directory.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
To avoid the intractive prompt before removals, this patch adds
"--force" option to remove directories.
Also, fixes "--recursive" to "--force" option when removing xml
files (not directories).
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
For the convenience when running scenario_test on Python virtualenv,
this patch removes "sudo" command for running tests.
Note: To enable to execute Docker without the root privilege, add
your local user into "docker" group.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
|
|
This patch proposes a new way to configure BGP flowspec TCP flags
rules It allows to comply with RFC 5575 by defining flags like this
=SA =A / '!SA' / '=SA&=!U' = means match, ! means not, & means and,
all TCP flags are identified by their first charater S for SYN A for
Ack ...
|
|
old filtered value could be POLICY_DIRECTION_IMPORT
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
When a path is rejected by in-policy, the prefix must be withdrawn
since it might already exist in the rib.
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|