81 Commits
Author SHA1 Message Date
FUJITA Tomonori 79624fa3b6 api: sync with the latest protoc-gen-go
Signed-off-by: FUJITA Tomonori <[email protected]>
2015-10-02 12:23:48 +09:00
ISHIDA WataruandFUJITA Tomonori 94836fe9a9 cli: add command to show accepted/rejected routes
$ gobgp neighbor <remote addr> accepted
$ gobgp neighbor <remote addr> rejected

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-10-02 03:30:29 +09:00
ISHIDA Wataru e986668fc8 api: rename package/service name to gobgpapi
api/Grpc is too general for package/service name.
rename them to gobgpapi/GobgpApi.

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-09-20 17:16:33 +09:00
ISHIDA Wataru cf1965a963 api: enable injecting multiple routes at once
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-09-10 13:58:22 +09:00
ISHIDA Wataru d8dc45772c api: kill api.Capability
keep protobuf structures simple

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-09-08 13:13:37 +09:00
FUJITA Tomonori 955409c37c rpki: support show the state of RPKI servers
Signed-off-by: FUJITA Tomonori <[email protected]>
2015-08-31 22:00:09 +09:00
FUJITA Tomonori 4f3f0468a1 mrt: inject properly uses AS number and RouterID
Currently, mrt inject wrongly use gobgpd's AS number and
RouterID. Instead use these in the dump file.

Signed-off-by: FUJITA Tomonori <[email protected]>
2015-08-29 13:17:46 +09:00
ISHIDA WataruandFUJITA Tomonori 319841ac5e api: add route family field to struct Path
we can't parse Path.nlri field (whose type is []byte) without route family.

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-27 00:51:19 +09:00
ISHIDA Wataru da62a69866 api/cli: support showing extended community action
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-22 13:07:13 +09:00
ISHIDA Wataru 94ba9c23ee *: s/distribute/in
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-18 10:40:01 +09:00
ISHIDA WataruandFUJITA Tomonori 56ca9eee5f api/cli: reuse api.Path in ModPathArguments
kill redundant lines

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-13 20:15:54 +09:00
FUJITA Tomonori 6180ffb710 support rpki validation
Signed-off-by: FUJITA Tomonori <[email protected]>
2015-08-12 13:44:33 +09:00
ISHIDA WataruandFUJITA Tomonori a768264840 api: kill protobuf Addressfamily struct
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-12 08:04:30 +09:00
ISHIDA WataruandFUJITA Tomonori a01b549fff *: kill protobuf path structure
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-08 20:56:46 +09:00
ISHIDA WataruandFUJITA Tomonori ecd079e318 api: add api to configure vrf
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-08 20:56:46 +09:00
ISHIDA WataruandFUJITA Tomonori ef934f76a5 api: change arguments name from neighbor_address to name
planning to use this variable more generally (for vrf)

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-08 20:56:46 +09:00
Naoto HanaueandFUJITA Tomonori ad4bfac371 config: change type of Prefix in the PrefixSet 2015-08-05 22:12:24 +09:00
ISHIDA WataruandFUJITA Tomonori c059eb0f88 test: add scenario test for evpn
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-05 17:24:36 +09:00
ISHIDA WataruandFUJITA Tomonori 2017bdc7a9 api/packet: add evpn extended community structs
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-05 17:24:36 +09:00
ISHIDA WataruandFUJITA Tomonori cf23ecec82 mrt: merge gomrt to gobgp cli command
Usage
$ gobgp mrt inject global <filename> [<count>]

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-03 21:59:39 +09:00
ISHIDA WataruandFUJITA Tomonori 84dd9d6983 api: use serialized buffer rather than protobuf struct to add paths
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-03 21:59:39 +09:00
ISHIDA WataruandFUJITA Tomonori 46b21a1725 mrt: support mrt rib dump of neighbor's local rib
This feature can be used in route-server env.
CLI syntax changed like below

$ gobgp mrt dump rib global [<interval>]

$ gobgp mrt dump rib neighbor <neighbor addr> [<interval>]

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-03 14:18:18 +09:00
ISHIDA WataruandFUJITA Tomonori 28ae39ae03 api: s/router_id/neighbor_address
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-03 14:18:18 +09:00
Hiroshi YokoiandFUJITA Tomonori 0b4b806c06 config: use the latest openconfig yang 2015-07-31 16:26:17 +09:00
FUJITA Tomonori 427e9efa79 add RPKI support
Just get info from ROA server. Not varidate any route yet.

Currently, "--rpki-server" option enables RPKI:

$ gobgpd --rpki-server 210.173.170.254:323

We'll use the configuration file for this later.

You can see ROAs via CLI:

$ gobgp rpki

For ipv6,

$ gobgp rpki -a v6

Signed-off-by: FUJITA Tomonori <[email protected]>
2015-07-28 12:59:28 +09:00
ISHIDA WataruandFUJITA Tomonori a4501ccc3f mrt: support mrt dump
$ gobgp mrt dump 10 -o ./dump

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-07-22 14:49:46 +09:00
Naoto Hanaue 3cfce356e4 cli: support extended community 2015-07-15 19:37:21 +09:00
Hiroshi Yokoi c0d597433f cli: add aspath prepend support 2015-07-13 15:41:08 +09:00
ISHIDA WataruandFUJITA Tomonori 2fc9b887fc server/cli: support add/delete vpnv4/vpnv6 routes
$ gobgp global rib add 1:10.0.0.1:1000:10.0.0.0/24 -a vpnv4

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-07-05 23:44:22 +09:00
Naoto HanaueandFUJITA Tomonori c9d9a6825c cli: support med action 2015-07-01 21:27:31 +09:00
ISHIDA WataruandFUJITA Tomonori ccfded2fee server/cli: support add/delete EVPN_INCLUSIVE_MULTICAST_ETHERNET_TAG route
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-07-01 21:24:40 +09:00
Hiroshi Yokoi ae88625990 cli: support distribute policy 2015-07-01 14:26:35 +09:00
ISHIDA WataruandFUJITA Tomonori 2cd6dbe946 bgp: add PMSI Tunnel Path Attribute(RFC6514) serializer/decoder
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-07-01 13:51:31 +09:00
ISHIDA WataruandFUJITA Tomonori 40f82a62ed server/api: add api to monitor changes of neighbor state
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-06-25 22:26:06 +09:00
ISHIDA WataruandFUJITA Tomonori e17379e9d9 server/api: add api to monitor changes of best paths
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-06-25 22:26:06 +09:00
ISHIDA Wataru 706ccc9d71 api: change ModPath() return value to Error from stream Error
cut useless grpc communication and improve performance

simple performance test result.
rib.20150617.2000 is taken from http://archive.routeviews.org/

[before]
$ time gomrt -i rib.20150617.2000
gomrt -i /vagrant/rib.20150617.2000  45.96s user 171.73s system 86% cpu
4:11.87 total

[after]
$ time gomrt -i rib.20150617.2000
gomrt -i /vagrant/rib.20150617.2000  11.95s user 76.17s system 74% cpu
1:58.38 total

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-06-21 10:58:00 +09:00
Naoto Hanaue 3f845ad08f cli: add community subcommand to policy conditions and actions 2015-06-17 13:41:31 +09:00
Naoto Hanaue 4db834afe3 cli: add aspath subcommand to policy conditions 2015-06-16 19:38:41 +09:00
Naoto Hanaue b109116fb8 cli: aggregate grpc communication interface associated with the policy to api.policyDefinition 2015-06-16 14:11:02 +09:00
Hiroshi Yokoi 007c0df509 cli: fix AS_PATH string format 2015-06-01 18:02:20 +09:00
Naoto Hanaue cdf36e2a7d cli: add the add/del commands to policy of neighbor
% gobgp -u 10.0.255.1 neighbor 10.0.0.3 policy
DefaultImportPolicy: ACCEPT
DefaultExportPolicy: ACCEPT
ImportPolicies:
  PolicyName policy1:
    StatementName st0:
      Conditions:
        PrefixSet:    ps2  192.168.20.0/24
        NeighborSet:  ns0  10.0.0.2
                           10.0.0.3
        AsPathLength: eq   5
        MatchOption:  ALL
      Actions:
        ACCEPT
ExportPolicies:

% gobgp -u 10.0.255.1 neighbor 10.0.0.3 policy add export policy0 reject
% gobgp -u 10.0.255.1 neighbor 10.0.0.3 policy del import
% gobgp -u 10.0.255.1 neighbor 10.0.0.3 policy
DefaultImportPolicy: ACCEPT
DefaultExportPolicy: REJECT
ImportPolicies:
ExportPolicies:
  PolicyName policy0:
    StatementName st0:
      Conditions:
        PrefixSet:    ps0  192.168.0.0/16  16..24
        NeighborSet:  ns2  10.0.0.4
        AsPathLength:
        MatchOption:  ALL
      Actions:
        REJECT
2015-05-26 17:31:58 +09:00
Naoto Hanaue fd4f6a91ef cli: add the add/del commands to routepolicy
% gobgp -u 10.0.255.1 policy routepolicy
PolicyName policy0:
  StatementName st0:
    Conditions:
      PrefixSet:    ps0  192.168.0.0/16  16..24
      NeighborSet:  ns2  10.0.0.4
      AsPathLength:
      MatchOption:  ALL
    Actions:
      REJECT

% gobgp -u 10.0.255.1 policy routepolicy add policy1 st0 conditions --prefix ps2 --neighbor ns0 --aspath-len eq,5 --option all
% gobgp -u 10.0.255.1 policy routepolicy add policy1 st0 actions --route-action accept
% gobgp -u 10.0.255.1 policy routepolicy del policy0
% gobgp -u 10.0.255.1 policy routepolicy
PolicyName policy1:
  StatementName st0:
    Conditions:
      PrefixSet:    ps2  192.168.20.0/24
      NeighborSet:  ns0  10.0.0.2
                         10.0.0.3
      AsPathLength: eq   5
      MatchOption:  ALL
    Actions:
      ACCEPT
2015-05-26 17:28:44 +09:00
Naoto Hanaue fa5d2fe25e cli: add the add/del commands to neighbor condition
% gobgp -u 10.0.255.1 policy neighbor
Name  Address
ns0   10.0.0.2
      10.0.0.3
ns1   2001::192:168:0:2

% gobgp -u 10.0.255.1 policy neighbor add ns2 10.0.0.4
% gobgp -u 10.0.255.1 policy neighbor del ns1
% gobgp -u 10.0.255.1 policy neighbor
Name  Address
ns0   10.0.0.2
      10.0.0.3
ns2   10.0.0.4
2015-05-26 17:28:40 +09:00
Naoto HanaueandFUJITA Tomonori cd4412ae53 cli: update bash-completion for show commands of policy 2015-05-19 16:33:16 +09:00
Naoto HanaueandFUJITA Tomonori 749df65ac9 cli: support the AsPathLength to display in routing policy
% gobgp -u 10.0.255.1 policy routepolicy policy0
PolicyName policy0:
  StatementName st0:
    Conditions:
      PrefixSet:    ps0   192.168.0.0/16  16..24
      NeighborSet:  ns0   10.0.0.2
      AsPathLength: 10    eq
      MatchOption:  ALL
    Actions:
      REJECT
2015-05-19 16:33:16 +09:00
Naoto HanaueandFUJITA Tomonori 0349e0d699 cli: add the show command for routing policy of neighbor
% gobgp -u 10.0.255.1 neighbor 10.0.0.3 policy
DefaultImportPolicy: ACCEPT
DefaultImportPolicy: ACCEPT
ImportPolicies:
  PolicyName policy0:
    StatementName st0:
      Conditions:
        PrefixSet:    ps0   192.168.0.0/16  16..24
        NeighborSet:  ns0   10.0.0.2
        MatchOption:  ALL
      Actions:
        REJECT
  PolicyName policy5:
ExportPolicies:
  PolicyName policy1:
    StatementName st1:
      Conditions:
        PrefixSet:    ps1   192.168.20.0/24
                            192.168.200.0/24
        NeighborSet:  ns0   10.0.0.2
        MatchOption:  ALL
      Actions:
        REJECT
2015-05-19 16:33:16 +09:00
Naoto HanaueandFUJITA Tomonori 77eaf6a051 cli: add the show command for the routing policy
% gobgp -u 10.0.255.1 policy routepolicy
PolicyName policy0:
  StatementName st0:
    Conditions:
      PrefixSet:   ps0   192.168.0.0/16  16..24
      NeighborSet: ns0   10.0.0.2
      MatchOption: ALL
    Actions:
      REJECT
PolicyName policy1:
  StatementName st1:
    Conditions:
      PrefixSet:   ps1   192.168.20.0/24
                         192.168.200.0/24
      NeighborSet: ns0   10.0.0.2
      MatchOption: ALL
    Actions:
      REJECT

% gobgp -u 10.0.255.1 policy routepolicy policy0
PolicyName policy0:
  StatementName st0:
    Conditions:
      PrefixSet:   ps0   192.168.0.0/16  16..24
      NeighborSet: ns0   10.0.0.2
      MatchOption: ALL
    Actions:
      REJECT
2015-05-19 16:33:16 +09:00
Naoto HanaueandFUJITA Tomonori 8d0eb0a06b cli: add the show command for the neighbor conditions
% gobgp -u 10.0.255.1 policy neighbor
Name  Address
ns0   10.0.0.2
ns1   2001::192:168:0:2

% gobgp -u 10.0.255.1 policy neighbor ns0
Name  Address
ns0   10.0.0.2
2015-05-19 16:33:16 +09:00
Naoto HanaueandFUJITA Tomonori 7684e11a49 cli: add the commands for the policy of the prefix operation
[show]
% gobgp -u 10.0.255.1 policy prefix
Name  Prefix             MaskRange
 ps0  192.168.0.0/16     16..24
 ps1  192.168.20.0/24
      192.168.200.0/24
 ps2  192.168.20.0/24
 ps3  2001:0:10:2::/64   64..128
 ps4  2001:0:10:20::/64
      2001:0:10:200::/64
 ps5  2001:0:10:20::/64
% gobgp -u 10.0.255.1 policy prefix ps1
Address/Mask     MaskRange
192.168.20.0/24
192.168.200.0/24

[add]
% gobgp -u 10.0.255.1 policy prefix add ps8 172.16.0.0/16 16..24
% gobgp -u 10.0.255.1 policy prefix add ps8 172.32.0.0/16

[del]
% gobgp -u 10.0.255.1 policy prefix del ps2 192.168.20.0/24
% gobgp -u 10.0.255.1 policy prefix del ps3
% gobgp -u 10.0.255.1 policy prefix del all
2015-05-11 23:14:48 +09:00
ISHIDA Wataru 23d1d43221 api/gobgp: show multiprotocol capabilities in detail
/home/vagrant% gobgp -u 192.168.10.4 neighbor 192.168.10.2
BGP neighbor is 192.168.10.2, remote AS 65001
  BGP version 4, remote router ID 192.168.10.2
  BGP state = BGP_FSM_ESTABLISHED, up for 00:12:57
  BGP OutQ = 0, Flops = 0
  Neighbor capabilities:
    MULTIPROTOCOL(IP,UNICAST): advertised
    MULTIPROTOCOL(L2VPN,EVPN): advertised
    MULTIPROTOCOL(IP,ENCAP): advertised
    MULTIPROTOCOL(IP,ROUTE_TARGET_CONSTRTAINS): received
    ROUTE_REFRESH: advertised
    FOUR_OCTET_AS_NUMBER: advertised and received
  Message statistics:
                         Sent       Rcvd
    Opens:                  1          1
    Notifications:          0          0
    Updates:                0          0
    Keepalives:            26         26
    Route Refesh:           0          0
    Discarded:              0          0
    Total:                 27         27

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-05-10 04:26:48 +00:00