139 Commits
Author SHA1 Message Date
IWASE YusukeandFUJITA Tomonori 0111219af1 api: Enable to compose AfiSafi message structure
Signed-off-by: IWASE Yusuke <[email protected]>
2017-06-26 14:21:57 +09:00
IWASE YusukeandFUJITA Tomonori f257609804 api: Introduce AfiSafi message structure in Peer
Signed-off-by: IWASE Yusuke <[email protected]>
2017-06-26 14:21:57 +09:00
FUJITA Tomonori 83684d5e62 api: add graceful restart support to AddNeighbor API
Signed-off-by: FUJITA Tomonori <[email protected]>
2017-06-12 12:53:14 +09:00
Wataru Ishida 9b9a65d410 *: support replace-peer-as (aka as-override)
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]>
2017-05-10 08:15:00 +00:00
Wataru Ishida 1f053c25c4 *: support remove private as
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 <[email protected]>
2017-05-10 08:05:47 +00:00
ISHIDA Wataru 0f62519cd7 server: ignore routes when local AS is in AS_PATH
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]>
2017-05-09 11:10:45 -04:00
Wataru Ishida 86d9587f75 cli: speed up showing a specific defined-set
Signed-off-by: Wataru Ishida <[email protected]>
2017-05-06 09:30:10 -04:00
FUJITA Tomonori 7fc7956946 improve performance of getting single neighbor information
avoid calculation of the number of adjout that will not be used.

Signed-off-by: FUJITA Tomonori <[email protected]>
2017-04-20 15:31:27 +09:00
IWASE Yusuke 59ec403de7 config: Config values for Nexthop Tracking with ZClient
For configuring the Nexthop Tracking features with ZClient, this patch
adds the config values:
 - "nexthop-trigger-enable" enables to the Nexthop Tracking features.
   Please note this features is only available with version 3 or later,
   and "true" by the default with that version.
 - "nexthop-trigger-delay" specifies the delay sec to update the
   nexthops triggered by the events from Zebra daemon. The default is
   5 secs and the same with the default of Cisco's routers.

Signed-off-by: IWASE Yusuke <[email protected]>
2017-03-06 11:11:54 +09:00
IWASE Yusuke c06423e60b cli: Enable to get nexthop reachability state
This patch enables GoBGP CLI to get the best path based on the nexthop
reachability state.

Signed-off-by: IWASE Yusuke <[email protected]>
2017-03-06 11:11:54 +09:00
ISHIDA WataruandFUJITA Tomonori 9a45ed09b0 cli: add current option to monitor commands
Signed-off-by: ISHIDA Wataru <[email protected]>
2017-02-15 00:10:15 +09:00
IWASE YusukeandFUJITA Tomonori 64360afd45 cli: Administrative Shutdown Communication on disable neighbor
This patch adds "--reason" option support into the disable neighbor command
which can specify "Administrative Shutdown Communication" on the BGP Cease
NOTIFICATION message.

Usage:
  $ gobgp neighbor <neighbor address> disable --reason "some messages"

Signed-off-by: IWASE Yusuke <[email protected]>
2017-02-03 22:47:34 -08:00
IWASE YusukeandFUJITA Tomonori 1063bcab1e cli: Communication on Administrative Shutdown NOTIFICATION
This patch enable to send an arbitrary message on the Cease NOTIFICATION
message with "Administrative Shutdown" and "Administrative Reset" subcodes
with "--reason" option.

Usage:
  $ gobgp neighbor <neighbor address> shutdown --reason "some messages"
  $ gobgp neighbor <neighbor address> reset --reason "some messages"

Reference: https://tools.ietf.org/html/draft-ietf-idr-shutdown-04

Signed-off-by: IWASE Yusuke <[email protected]>
2017-02-03 22:47:34 -08:00
Wataru Ishida bb42a6832f api: add a UUID field to Path structure
Signed-off-by: Wataru Ishida <[email protected]>
2017-01-22 00:37:58 -05:00
FUJITA Tomonori e11b09d7ea server: disable advertised number calculation with multiple neighbors
AdjRibOut isn't in memory so needs to be calculated on the fly.

Doing such for multiple neighbors consumes too much CPU (especially
there are lots of routes).

Signed-off-by: FUJITA Tomonori <[email protected]>
2016-11-18 14:00:51 +09:00
Wataru Ishida 1e22e529c9 config/api: create admin-state type
align with session-state

Signed-off-by: Wataru Ishida <[email protected]>
2016-11-14 02:15:47 +00:00
Wataru IshidaandFUJITA Tomonori a17832195c support neighbor belongs to VRF
$ 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]>
2016-11-04 13:19:47 +09:00
FUJITA Tomonori be9918a163 remove label allocation completely
Signed-off-by: FUJITA Tomonori <[email protected]>
2016-11-03 02:49:59 -07:00
Wataru Ishida 1f4a3192af cli/api: support getting table summary information
$ gobgp global rib summary -a ipv4
$ gobgp neighbor 10.0.0.1 local summary
$ gobgp neighbor 10.0.0.1 adj-in summary
$ gobgp neighbor 10.0.0.1 adj-out summary

Signed-off-by: Wataru Ishida <[email protected]>
2016-10-16 14:07:06 +00:00
Wataru Ishida d46da74d4f policy: support large-community match/action
close #1133

Signed-off-by: Wataru Ishida <[email protected]>
2016-10-10 05:18:17 +00:00
FUJITA Tomonori dfe1b71fd2 api: add id to VrfRequest
to support VRF ID for Zebra Protocol v3.

Signed-off-by: FUJITA Tomonori <[email protected]>
2016-09-30 05:50:25 -07:00
kishiguroandFUJITA Tomonori 554f309c90 Support of ZAPI version 3 (handles VRF ID). 2016-09-29 16:29:15 -07:00
FUJITA Tomonori 982a5b448f zebra: add grpc api
Signed-off-by: FUJITA Tomonori <[email protected]>
2016-08-26 17:29:38 +09:00
Wataru Ishida 430a4f93e8 api: enable to set/get UseMultiplePaths global setting
Signed-off-by: Wataru Ishida <[email protected]>
2016-08-21 07:17:34 +00:00
ISHIDA WataruandFUJITA Tomonori cd4b0107c3 policy: support route-type condition
// match with routes locally generated
$ gobgp policy statement s0 add condition route-type local

// match with routes received from eBGP peers
$ gobgp policy statement s0 add condition route-type external

// match with routes received from iBGP peers
$ gobgp policy statement s0 add condition route-type internal

Signed-off-by: ISHIDA Wataru <[email protected]>
2016-08-17 21:23:08 +09:00
ISHIDA WataruandFUJITA Tomonori b19731ffea api/cli: api/cli support for unnumbered bgp
fron cli:

```
$ gobgp neighbor add interface eth1 as 65000
$ gobgp neighbor del interface eth1
$ gobgp neighbor eth1
Peer  AS      Up/Down  State       |#Advertised Received Accepted
eth1  65000   00:00:05 Establ      |          0        0        0
```

Signed-off-by: ISHIDA Wataru <[email protected]>
2016-08-02 10:48:58 +09:00
ISHIDA WataruandFUJITA Tomonori bb15c18402 api/cli: add LocalAddress to PeerConf struct
Signed-off-by: ISHIDA Wataru <[email protected]>
2016-07-29 16:31:35 +09:00
Ben AgricolaandFUJITA Tomonori ed62f3f3d9 Add shorter prefix search
Adds a shorter-prefixes search mode that finds any identical-or-less-specific routes
than the input values.

Bug-Url: #1006

Signed-off-by: Ben Agricola [email protected]
2016-07-11 21:41:01 +09:00
ISHIDA WataruandFUJITA Tomonori aca6fd6ad4 server: refactoring for monitorbestchanged api. use watcher infra
Signed-off-by: ISHIDA Wataru <[email protected]>
2016-06-06 12:43:20 +09:00
ISHIDA WataruandFUJITA Tomonori 70434c96d2 policy: add support setting self ip address as next-hop
from configuration file

[policy-definitions.statements.actions.bgp-actions]
set-next-hop = "self"

from cli

$ gobgp policy statement stmt1 add action next-hop self

Signed-off-by: ISHIDA Wataru <[email protected]>
2016-05-26 23:19:04 +09:00
ISHIDA Wataru 0dbf1d87cb policy: add local-pref action
$ gobgp policy statement st01 add action local-pref 110

Signed-off-by: ISHIDA Wataru <[email protected]>
2016-05-25 02:53:42 +00:00
ISHIDA WataruandFUJITA Tomonori c7e1f88da3 cli: include route-reflector/route-server infomation in Peer message
Signed-off-by: ISHIDA Wataru <[email protected]>
2016-05-21 07:45:12 +09:00
FUJITA Tomonori 64ff0fec11 grpc: remove MRT dump streaming GRPC API
Seems that nobody is interested in receiving MRT dump over streaming
GRPC API. Let's remove it.

Signed-off-by: FUJITA Tomonori <[email protected]>
2016-05-10 15:16:02 +09:00
FUJITA Tomonori f9a9c410c3 Refactoring GRPC API
Let's follow the conventions of GRPC

- Stop using one method for multiple operations like add, delete,
  etc. IOW, remove all the ModHoge APIs.
- Stop abusing Streaming RPC API.

Signed-off-by: FUJITA Tomonori <[email protected]>
2016-05-10 14:10:43 +09:00
FUJITA Tomonori 45050d9b97 remove collector mode support
We need to update yang config collector mode (split into config and
state). before that, let's remove the feature itself to see if there
is any user of it.

Signed-off-by: FUJITA Tomonori <[email protected]>
2016-04-25 23:52:21 +09:00
FUJITA Tomonori 35efcd570d rpki: delete roa validation stream API
better to be implemented outside GoBGP.

Signed-off-by: FUJITA Tomonori <[email protected]>
2016-04-21 13:29:59 +09:00
tamihiroandFUJITA Tomonori 7e1b186819 config: add set-next-hop option 2016-04-21 12:27:59 +09:00
ISHIDA Wataru 642270bb32 cli: show prefix-limit configuration by gobgp neighbor <neighbor-addr>
Signed-off-by: ISHIDA Wataru <[email protected]>
2016-04-19 06:23:42 +00:00
FUJITA Tomonori 1151436f13 rpki: support re-validation for specific prefix
You can specify a prefix to be validated like:

$gobgp rpki validate 10.0.0.0/24

Signed-off-by: FUJITA Tomonori <[email protected]>
2016-04-11 23:48:24 +09:00
FUJITA Tomonori a6efb7cf40 rpki: support dynamic add/delete operations via gRPC
Signed-off-by: FUJITA Tomonori <[email protected]>
2016-04-02 10:52:07 +09:00
FUJITA Tomonori 731f4fa3ea server: support mrt dump rotation like Quagga
Signed-off-by: FUJITA Tomonori <[email protected]>
2016-03-20 00:09:44 +09:00
ISHIDA Wataru 304523e48a server: add missing api.Global field
Signed-off-by: ISHIDA Wataru <[email protected]>
2016-03-17 10:44:43 +09:00
ISHIDA WataruandFUJITA Tomonori a45bd1f290 api: add neighbor-ip field to grpc Path message
Signed-off-by: ISHIDA Wataru <[email protected]>
2016-03-02 03:22:28 -08:00
Naoto HanaueandFUJITA Tomonori a53d194505 ops: fix and integration the attribute name that indicates the route received from an external resource 2016-02-27 03:47:00 -08:00
FUJITA Tomonori 08df3e5fb1 rpki: remove homegrown SplitHostPort function
Signed-off-by: FUJITA Tomonori <[email protected]>
2016-02-21 06:04:37 -08:00
Naoto HanaueandFUJITA Tomonori 496ce6cd08 update proto 2016-02-19 21:14:59 -08:00
ISHIDA Wataru ecbfa29d08 server/api: add DEL_ALL operation support in ModPath() api
Signed-off-by: ISHIDA Wataru <[email protected]>
2016-02-13 08:37:10 +09:00
ISHIDA WataruandFUJITA Tomonori 023a498e4a server: support graceful-restart helper-speaker behavior
Signed-off-by: ISHIDA Wataru <[email protected]>
2016-02-10 23:41:44 -08:00
ISHIDA Wataru 64fdc90646 server: add API to monitor incoming updates
Signed-off-by: ISHIDA Wataru <[email protected]>
2016-02-07 07:19:15 +09:00
ISHIDA Wataru 498400adad api: fix typo s/advertized/advertised
Signed-off-by: ISHIDA Wataru <[email protected]>
2016-01-29 16:44:21 +09:00