Age | Commit message (Collapse) | Author |
|
This patch enables mrtWriter to directly access config.MrtConfig values
in case that some new options will be introduced.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
This patch introduce "add-paths" structure per AFI-SAFI in order to
enable to store add-paths feature config/state per AFI-SAFI.
Also, this patch renames a few variables to avoid the name collisions.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
|
|
This patch enables GoBGP to keep the session established
even if the received BGPUpdate message contains some errors,
and to handle these errors according to what defined in RFC7606.
This feature is enabled when 'treat-as-withdraw' in
'neighbors.error-handling.config' is specified to true
in the GoBGP config file.
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
|
|
To reduce the translations of "AfiSafiName" into "bgp.RouteFamily", this
patch introduces "Family" field into "AfiSafiState" and stores the
translated value.
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>
|
|
|
|
A new socket was created so we must close it before this function
returns _either_ on failure or success. On success, net.FileConn() in
newTCPConn() increases the refcount of the socket so this fi.Close()
doesn't destroy the socket; the caller can use it (and needs to close
it later).
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Seems that zebra could send a route message without nexthop (makes
sense for withdraw).
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
https://github.com/osrg/gobgp/issues/1391
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
RS peers and non RS peers uses different tables so no need to filter
paths from rs clients for non rs clients.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
|
|
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 Destination struct, multiple Paths can be moved from the table
package to the server package in a cleaner way; for features such as
add-path.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
currently, route server peers and non route server peers use the
single global rib. To support deterministic-med for non route server
peers, this splits the rib into two; easier to handle the best path
selection in different ways.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Like "ttl" configuration of Junos OS, this patch enables to set static
TTL value for outgoing BGP packets.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
This patch enable to configure Generalized TTL Security Mechanism
(GTSM).
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
If State.NeighborAddress is not set, setting default configs
for the dynamic peers will fail. This patch set State.NeighborAddress
before setting default configs.
And this patch avoids overwriting State.NeighborAddress if it is set.
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
|
|
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
|
|
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
|
|
By introducing dynamic neighbor feature,
GoBGP can have dynamic neighbors,
and corresponding Config.NeighboAddress can be empty.
This patch sets State.NeighborAddress for all neighbors,
and gets the neighbor's address from them.
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
|
|
This patch enables to send BMP statistics reports for the following types;
- Stat Type = 11: (32-bit Counter) Number of updates subjected to
treat-as-withdraw treatment.
- Stat Type = 12: (32-bit Counter) Number of prefixes subjected to
treat-as-withdraw treatment.
Note: Currently, this implementation considers only updates or prefixes
received from neighbors, but not enough to follow the handling process
described in RFC7606.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
The usage of "github.com/sirupsen/logrus" is recommended.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
This test case checks whether BGP session is freed or not when Graceful
Restart timer expired.
If BGP session is not freed as expectedly, this test case will exit with
state 1 after waiting 120 seconds and will output the following.
FATA[0147] failed to free the fsm.h.t for 127.0.0.1 BGP_FSM_OPENSENT
BGP_FSM_IDLE Topic=Peer
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
|
|
Listening on well-known port require the root privileges. This patch
stop listening to avoid that because this test doesn't need to accept
a peer.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
For each test case, this patch enables to confirm BgpServer is started
successfully and stopped at the of each test case, otherwise the context
of some test cases might affect other test cases.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
This patch enables to create peer-groups,
also supports dynamic configuration to peer-groups.
Manually set fields in neighbor configs have priority over its peer-group's config,
except some fields, like "peer-as", or "minimum-advertisement-interval" and so on.
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
|
|
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
This patch enables to watch events for monitoring received BGP messages
before the state comparison.
Note: Currently, this event nortifies UPDATE message only, because the
other messages will be handled in FSMHandler and not received at
BgpServer, so BgpServer cannot send event for these messages.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
|
|
This patch enables to decode/encode MRT format with BGP Additional Path
Extensions which described in RFC8050.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Currently, the TLV fields are implemented as BMPTLV on the Initiation
messages, but not enough decoded and required to be constructed in
binary format.
This patch introduces BMPInfoTLV and makes easy to handle the TLV
fields.
Note: This patch obsoletes BMPTLV structure.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
This patch enable to send BMP statistics reports for the following types;
- Stat Type = 7: Number of routes in Adj-RIBs-In
= Regarding number of "accepted" routes in AdjTable state
- Stat Type = 8: Number of routes in Loc-RIB
= Regarding number of "advertised" and "filtered" routes in AdjTable
state which means the all routes selected by the local BGP speaker's
Decision Process.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
This patch extend the "AdjTable" container to store the number of the
"filtered" routes which should not be advertised to the given neighbor.
This routes mean the filterd routes because of RTC, VRFs, policy and
other constraints.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Because of the introduction of "local-rib" and "all" options for
route-monitoring-policy, this patch obsoletes "both" option.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
"draft-evens-grow-bmp-local-rib" says the peer header for Loc-RIB
monitoring should include the following values;
- Peer Address: Zero-filled as remote peer address is not applicable.
- Peer AS: Set to the BGP instance global or default ASN value.
- Peer BGP ID: Set to the BGP instance global or RD (e.g. VRF) specific
router-id.
This patch fixes the peer header construction to follow this
specification.
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
This patch adds the new key "all" for specifying the all BMP route
monitoring policies.
Configuration Example:
[[bmp-servers]]
[bmp-servers.config]
address = "127.0.0.1"
port=11019
route-monitoring-policy = "all"
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
|
|
Add sync.Mutex to guard access to MockConnection to prevent tests
ran with -race from failing. In addition change the calls to the fmt
package to use t.Log show they only show with the -v flag to prevent
unwanted noise between test runs. It has the added benefit of
providing a file and line number as well.
|
|
when the old best was from iBGP, we don't need to send withdrawals
to iBGP peers.
Signed-off-by: Wataru Ishida <ishida.wataru@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>
|