`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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
This reverts commit 47ab84e34c.
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 ...
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 <[email protected]>
policy can have multiple statements. In each statement, when condition
is matched, route-action is finally evaluated after actions with mods.
When route-action is 'none', we contine to next statement if it exists.
When route-action is 'accept' or 'reject', we stop proceeding.
This patch fixes a bug that route-action can't be set to 'none' which
means route-action always be set to 'accept' or 'reject' and can't proceed
to the next statement.
Signed-off-by: Wataru Ishida <[email protected]>
gobgp has two ibgp peers and one ebgp.
1. the best path is from ebgp so advertise it to ibgp peers.
2. one of ibgp peer sends the same path so now the path from ibgp
becomes best.
3. gobgp doesn't advertise it to another ibgp and needs to withdraw
the best from ebgp.
Signed-off-by: FUJITA Tomonori <[email protected]>
$ gobgp vrf add red rd 100:100 rt both 100:100
$ gobgp neighbor add 10.0.0.1 as 2 vrf red
$ gobgp vrf red neighbor
Peer AS Up/Down State |#Advertised Received Accepted
10.0.0.1 2 never Active | 0 0 0
Signed-off-by: Wataru Ishida <[email protected]>
Since g3's route (MED 10) is weaker than g2's,
g3's route should not be advertised to g2 from g1.
But when g3's route arrives on g1 before g2's, g1 advertises g3's route.
This commit ensures g3's route come after g2's route
Signed-off-by: Wataru Ishida <[email protected]>
From Ryu v4.6, the Packet library can parse the entire BGP packet
via packet.Packet() API.
This patch fixes to adopt bgp_router_test.py to the updated API,
and reverts the Ryu version in pip-requires.txt to the latest.
Signed-off-by: IWASE Yusuke <[email protected]>