188 Commits
Author SHA1 Message Date
Satoshi Fujimoto 1af73d413a grpc: Update Java sample client for GoBGP v1.20 gRPC API
Signed-off-by: Satoshi Fujimoto <[email protected]>
2017-06-30 13:36:24 +09:00
Satoshi Fujimoto 609e3171df grpc: Update doc for Java to make sample client work
Now, the procedure to run Java sample clients is out of date
and one cannot work the example well.
This patch updates the document to work with
the latest goBGP gRPC API and plugins.

At the time of this commit, versions of each plugins and tools are as following:
* ProtocolBuffer: 3.3.0
* grpc-java: 1.4.0
* java: 1.8.0_131

Signed-off-by: Satoshi Fujimoto <[email protected]>
2017-06-30 13:36:24 +09:00
Satoshi Fujimoto e32b74d178 grpc: Add command to run Nodejs sample client
Signed-off-by: Satoshi Fujimoto <[email protected]>
2017-06-30 13:36:04 +09:00
Satoshi Fujimoto 487c30fbc4 grpc: Update and Modify C++ sample client
This patch updates C++ sample gRPC client for GoBGP v1.12 gRPC API.
And this removes the route announcement feature from C++ sample client,
for maintenance and uniformity.

Signed-off-by: Satoshi Fujimoto <[email protected]>
2017-06-30 13:33:07 +09:00
Satoshi Fujimoto aea13caea6 grpc: Improve building tools and docs for C++ client
This patch includes the following fixes:
* update Makefile for protobuf 3.3.0 / gRPC 1.4.1
* make build.sh which generates stub codes
  and builds GoBGP shared library
  (instead, remove those operations from docs)

Signed-off-by: Satoshi Fujimoto <[email protected]>
2017-06-30 13:32:57 +09:00
Satoshi Fujimoto e314f126c1 grpc: Update Ruby sample for GoBGP v1.20 gRPC API
Signed-off-by: Satoshi Fujimoto <[email protected]>
2017-06-30 13:30:36 +09:00
Satoshi Fujimoto ba2ac3e452 grpc: Update Python sample and doc for GoBGP v1.20 gRPC API
Signed-off-by: Satoshi Fujimoto <[email protected]>
2017-06-30 13:29:51 +09:00
Satoshi Fujimoto b81e2fd806 docs: Separate sample codes from gRPC document
This patch separate sample codes from grpc-client.md
and adds references to samples in tools/grpc/.

Signed-off-by: Satoshi Fujimoto <[email protected]>
2017-06-30 13:26:14 +09:00
Satoshi Fujimoto d18ddd4eca docs: Refer to official install guild for gRPC and ProtoBuf
Signed-off-by: Satoshi Fujimoto <[email protected]>
2017-06-30 13:14:52 +09:00
IWASE YusukeandFUJITA Tomonori bb562572bc server: Enable to configure static TTL for BGP packets
Like "ttl" configuration of Junos OS, this patch enables to set static
TTL value for outgoing BGP packets.

Signed-off-by: IWASE Yusuke <[email protected]>
2017-06-23 18:13:19 +09:00
IWASE YusukeandFUJITA Tomonori 4af2f4b7d5 server: Implement TTL security
This patch enable to configure Generalized TTL Security Mechanism
(GTSM).

Signed-off-by: IWASE Yusuke <[email protected]>
2017-06-23 18:13:19 +09:00
AlexanderandFUJITA Tomonori dee06c638b little fix for getting-started.md documentation 2017-06-20 22:05:12 +09:00
Satoshi Fujimoto d75edf18d7 server: Support Dynamic Neighbor
Signed-off-by: Satoshi Fujimoto <[email protected]>
2017-06-16 15:53:18 +09:00
FUJITA Tomonori d65df0b045 replace github.com/Sirupsen/logrus with github.com/sirupsen/logrus
The usage of "github.com/sirupsen/logrus" is recommended.

Signed-off-by: FUJITA Tomonori <[email protected]>
2017-06-07 21:04:11 +09:00
Satoshi FujimotoandFUJITA Tomonori 6e9d5b56c4 *: Support Peer-Group Configuration
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 <[email protected]>
2017-06-05 14:24:45 +09:00
IWASE YusukeandFUJITA Tomonori bbf4b7c2a9 config: Option to enable BMP Route Mirroring
Signed-off-by: IWASE Yusuke <[email protected]>
2017-06-03 18:18:23 +09:00
Satoshi FujimotoandFUJITA Tomonori 87fe4fa604 cli: Add User Interface for Redirect-IPv6 action
Signed-off-by: Satoshi Fujimoto <[email protected]>
2017-05-23 11:11:10 +09:00
IWASE Yusuke c37b50a024 config: Add interval seconds for BMP stats reports
This patch suppose the default interval of the BMP stats reports is
0 which disable this feature and the range of this interval is 15
though 65535 seconds to follow Junos OS configuration.

Signed-off-by: IWASE Yusuke <[email protected]>
2017-05-22 13:12:02 +09:00
IWASE YusukeandFUJITA Tomonori fa1378f58b bmp: Obsolete "both" option for route-monitoring-policy
Because of the introduction of "local-rib" and "all" options for
route-monitoring-policy, this patch obsoletes "both" option.

Signed-off-by: IWASE Yusuke <[email protected]>
2017-05-22 12:10:07 +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
FUJITA Tomonori 6faa02f93c doc: update required go versions to 1.7 or later
[skip ci]

Signed-off-by: FUJITA Tomonori <[email protected]>
2017-04-26 23:40:57 +09:00
Daniel PortellaandGitHub 64322c5858 Update getting-started.md 2017-04-21 14:24:26 +01:00
Daniel PortellaandGitHub 1c42813ea6 Update unnumbered-bgp.md 2017-04-21 14:23:41 +01:00
Daniel PortellaandGitHub a02c8a251d Update graceful-restart.md 2017-04-21 14:23:18 +01:00
ISHIDA WataruandFUJITA Tomonori 70a654a238 docs: add doc for unnumberd BGP
Signed-off-by: ISHIDA Wataru <[email protected]>
2017-04-04 22:07:46 +09:00
Mark StrotherandFUJITA Tomonori 0cfb8f65a0 doc: improve bmp documentation
Add documentation for route-monitoring-policy = "both".
2017-03-05 05:49:18 +09:00
Matthieu TexierandFUJITA Tomonori 55e9684259 flowspec: comply with new draft RFC5575bis normalized operators 2017-03-02 15:56:02 +09:00
FUJITA Tomonori e11bceddec doc: update policy
add note that prefix-set has either v4 or v6.

[skip ci]

Signed-off-by: FUJITA Tomonori <[email protected]>
2017-02-24 15:16:33 +09:00
Matthieu TexierandFUJITA Tomonori 6de16dc885 flowspec: comply with RFC 5575 about TCP flags rules
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 ...
2017-02-17 21:20:59 +09:00
Mark StrotherandGitHub a1aa21844e Document support for post-policy BMP flows 2017-02-17 03:47:05 -08: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
tamihiroandFUJITA Tomonori 512b156be6 fix configuration examples with correct route-disposition policy syntax 2017-01-15 06:30:26 -08:00
Wataru Ishida 93d1dca70a config: simplify route-disposition configuration
before:

```yaml
actions:
    route-disposition:
        accept-route: true
        reject-route: false
```

after

```yaml
action:
    router-disposition: accept-route
```

Signed-off-by: Wataru Ishida <[email protected]>
2016-11-17 23:22:55 -05:00
Ruben KerkhofandFUJITA Tomonori b68491f62c fix a few typos 2016-11-13 16:25:34 -08:00
Wataru IshidaandFUJITA Tomonori 6d52e8c1e5 ops: drop open switch support
Signed-off-by: Wataru Ishida <[email protected]>
2016-11-12 21:21:49 -08:00
Wataru IshidaandFUJITA Tomonori 771d1f90af docs: update cli doc
Signed-off-by: Wataru Ishida <[email protected]>
2016-11-04 13:20:09 +09:00
FUJITA Tomonori c7653aa9d4 allow add local route with specific mpls label
Also don't allocate label for local routes. The label management needs
to work with other components rather than bgp.

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
Wataru IshidaandFUJITA Tomonori 614746ca11 *: support long lived graceful restart
Signed-off-by: Wataru Ishida <[email protected]>
2016-10-09 07:18:13 -07:00
FUJITA Tomonori cab09990b8 docs: add cli example to add route with blackhole community
[ci skip]

Signed-off-by: FUJITA Tomonori <[email protected]>
2016-10-08 05:50:53 -07:00
Wataru Ishida 0a6e9eec9f docs: add a reference to route server RFC
Signed-off-by: Wataru Ishida <[email protected]>
2016-09-16 09:47:23 +00:00
Wataru IshidaandFUJITA Tomonori a3ccd8e86b bgp/cli: Support Large Community
see https://tools.ietf.org/html/draft-heitz-idr-large-community-04

Signed-off-by: Wataru Ishida <[email protected]>
2016-09-14 11:35:50 +09:00
ISHIDA WataruandFUJITA Tomonori 4a5828daf1 docs: add a route-type condition example
[ci skip]

Signed-off-by: ISHIDA Wataru <[email protected]>
2016-08-17 21:23:08 +09: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 Wataru f52f3245c5 cli: support setting flowspec "procotol" in octet
$ gobgp global rib -a ipv4-flowspec add match protocol 100 then discard

close #1052

Signed-off-by: ISHIDA Wataru <[email protected]>
2016-08-16 18:09:07 +00:00
FUJITA Tomonori 2c12fa2b92 mrt: support per-peer table dump with route server configuration
Signed-off-by: FUJITA Tomonori <[email protected]>
2016-08-15 09:24:49 +09:00
FUJITA Tomonori 411bf84633 support mrt table dump (TABLE_DUMPv2 format)
Only global rib dumping is supported for now.

Signed-off-by: FUJITA Tomonori <[email protected]>
2016-08-14 07:51:42 +09:00