summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2017-11-19packet/bgp: fix flowspec parser about cmd badly argsnnao45
2017-11-16api: Activate address family using Peer.AfiSafisIWASE Yusuke
Currently, to configure per AFI-SAFI settings when adding neighbor via gRPC API, it is require to specify the both Peer.Families and Peer.AfiSafis fields. If Peer.Families is omitted, settings in Peer.AfiSafis are ignored and the given address families are not activated. This patch enables to configure per AFI-SAFI settings and activate the address family with only Peer.AfiSafis (without Peer.Families). Note: For the backward compatibility, if only Peer.Families is specified, this patch creates per AFI-SAFI settings with the default settings. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-16api: Define constants for address familiesIWASE Yusuke
To call some gRPC APIs, it is required to specify the address family value which is combined value of AFI and SAFI values, so users of gRPC APIs need to calculate this value. This patch introduces the constants for the address families for the convenience. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-13api/grpc_server: Remove redundant loop for gRPC serverIWASE Yusuke
gRPC server should try to start serving only once because it send stopped signal to the waiter if server could not start. This patch removes redundant "for" loop to improve code inspection result. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-13api/grpc_server: Avoid name collision "server"IWASE Yusuke
To improve code inspection result, this patch renames "server" variables in NewServer() to "s" because "server" collides the imported package name "github.com/osrg/gobgp/server". Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-13api/grpc_server: Use make() for an empty slice declarationIWASE Yusuke
To improve code inspection result, this patch uses make() for an empty slice declaration instead of using empty literal initializer. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-13api/grpc_server: Avoid index error when invalid set-med valueIWASE Yusuke
Currently, with a invalid "set-med" value in a policy action, GoBGP will raise panic of "index out of range" because the unmatched regular expression is not handled. This patch fixes to handle errors during parsing the given med value. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-12cli: Support address families when adding neighborIWASE Yusuke
Currently, "gobgp" command does not support to configure address families capability when adding a new neighbor. This patch introduces a new option field to "gobgp neighbor add" command and enables to configure address families capability. Example: Specify address family names in comma separated format $ gobgp neighbor add 10.0.0.3 as 65003 family ipv4-unicast,l2vpn-evpn $ gobgp neighbor 10.0.0.3 ...(snip)... Neighbor capabilities: multiprotocol: ipv4-unicast: advertised l2vpn-evpn: advertised route-refresh: advertised 4-octet-as: advertised ...(snip)... Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-08config: Properly set config of PeerGroup memberSatoshi Fujimoto
Currently, the config of PeerGroup members are not set properly. For example, if LocalAs of the neighbor is not set in the config file, LocalAs will be set to Global.As as a default value. After this, however, if the neighbor is a member of a peer group, LocalAs will be unexpectedly overwritten by the peer group config. This commit fixes this by setting default values after applying the peer group config. Adding to this, this commit avoids unnecessary applying the peer group config. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-07test: Add scenario test for BGP ConfederationSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-07test/lib: Add bgp config structure for GoBGP/Quagga containersSatoshi Fujimoto
This commit introduces 'bgp_config' attribute for GoBGP/Quagga containers to configure complex settings. Adding to this, this commit enables to configure BGP confederation settings to GoBGP/Quagga conrainers. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-07test/lib: Enhancement on Get Rib library on QuaggaSatoshi Fujimoto
For Quagga containers, currently, when we use get_global_rib() without specifying prefix, we cannot get AS_PATH and other attributes. And when we use get_global_rib() with prefix, we can get only one path even if there is multiple paths for a destination. This commit fixes these problems by refining test/lib/quagga.py. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-07table/path: Print Confederation AS_PATH segment ExplicitlySatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-07*: Support BGP Confederations (RFC 5065)Satoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-07packet/bgp: Add Validation for BGP ConfederationsSatoshi Fujimoto
RFC 5065 says that: "It is a error for a BGP speaker to receive an update message from a confederation peer that is not in the same Member-AS that does not have AS_CONFED_SEQUENCE as the first segment." Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-07config: Pass Global Config to SetDefaultNeighborConfigSatoshi Fujimoto
In neighbor config, there are some parameters whose default value can be changed depending on the global config. This commit modifies the argument of config.SetDefaultNeighborConfigValues() to pass the global config. It enables to change the default settings of neighbor depending on the global config. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-07evpn.md: Update tutorial using YABGPIWASE Yusuke
This patch updates output examples of GoBGP and YABGP along with changing the format of "gobgp global rib -a evpn" command. Also, this patch provides the curl command examples for sending POST requests. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-07evpn.md: Update tutorial using BaGPipeIWASE Yusuke
To interchange routes over iBGP session, this patch add the config of Route Reflector to GoBGP and updates output examples of GoBGP and BaGPipe. Note: The BaGPipe Docker image described on this document does not seem to be maintained for 2 years and contains the old version of BaGPipe. So this patch drops the description of this image. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-07docs: Update table of contents of evpn.mdIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-07travis: Update .travis.ymlIWASE Yusuke
For scenario_test, Python build environment is more suitable rather than Go build environment, because scenario_test is written in Python and the building source codes will be done on Docker containers. This patch fixes scenario_test to use Python build environment and reduces "sudo" executions in order to use interpreter of virtualenv. Note: On Travis-Ci, the Python interpreter of sudoer is older version, and when install packages with "sudo pip", InsecurePlatformWarning will be displayed. So it is better to use the newer interpreter of virtualenv. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-07server: Avoid local paths left on iBGP peersIWASE Yusuke
Currently, with iBGP peering, the CLI injected path will not be withdrawn when the deletion if any other path exists on RIB, then the CLI injected path will be left on iBGP peers even if the route is deleted on the originator router. This problem can cause routing loops in some case. This patch fixes to withdraw the old best path when it was the CLI (or gRPC) injected path. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-07*: Fix problems pointed by 'go vet'Satoshi Fujimoto
In the near feature (likely in Go1.10), 'go test' will never work if 'go vet' fails. (See: https://github.com/golang/go/issues/18084) This commit is for dealing with such a situation (and also for improving the quality of our code). Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-06packet/bgp: Avoid Varied Flag Representations in Flowspec FilterSatoshi Fujimoto
Currently, the parsing results of flags in flowsspec filter will be varied every time they are parsed. For example, the tcp-flag '=UFP' may be represented to '=UPF' or '=PUF' and so on. This is due to the use of interation to map. Iterations over maps does not happen in a consistent order. This fixes it by iterating sorted slices instead of maps. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-03cli: Accept stacked labels for EVPN macadv routeIWASE Yusuke
This patch enables "gobgp" command to accept the stacked labels field in EVPN MAC/IP Advertisement Route. Example: Specify stacked labels in comma separated format $ gobgp global rib -a evpn add macadv aa:bb:cc:dd:ee:ff 10.0.0.1 10 10,20 rd 65001:100 rt 65001:100 Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-03cli: Show non route key fields in EVPN as path attributesIWASE Yusuke
According to the removal of the non route key fields in EVPN NLRI string representation, this patch enables "gobgp" command to display these fields as path attributes. Example: $ gobgp global rib -a evpn add macadv aa:bb:cc:dd:ee:ff 10.0.0.1 10 10,20 rd 65001:100 rt 65001:100 encap vxlan $ gobgp global rib -a evpn Network Labels Next Hop AS_PATH Age Attrs *> [type:macadv][rd:65001:100][etag:10][mac:aa:bb:cc:dd:ee:ff][ip:10.0.0.1] [10,20] 0.0.0.0 00:00:03 [{Origin: ?} {Extcomms: [65001:100], [VXLAN]} [ESI: single-homed]] Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-03packet/bgp: Remove non route key fields from stringIWASE Yusuke
RFC7432 and draft-ietf-bess-evpn-prefix-advertisement says some fields in EVPN NLRIs (e.g., MPLS Label(s)) should no be treated as the route key, but currently, GoBGP's string representations of EVPN NLRIs include all fields. So the paths should be treated as the same (e.g., only different in MPLS Label and other field is the same) can be treated as the different. This patch removes non route key fields from NLRI string representation and fixes this problem. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-03table/policy: Nil check before reference in inUse()Satoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-03table/message: Send EoR as the last of UPDATE messagesSatoshi Fujimoto
EoR should be sent at the end of the UPDATE messages, but currently, EoR may be sent before RIB. This commit fixes this problem. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-02zclient: Register all nexthops contained in RIBsIWASE Yusuke
Currently, zclient registers only nexthops which bound for the best path, this patch enables to register all nexthops which contained in RIBs in order to detect nexthops down faster. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-02zclient: Unregister uninterested nexthopsIWASE Yusuke
This patch enables to unregister nexthop when received NEXTHOP_UPDATE message and there is no path bound for the updated nexthop. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-02server: function notifyPrePolicyUpdateWatcherIWASE Yusuke
The function for notifying WATCH_EVENT_TYPE_PRE_UPDATE event hasn't been defined yet, this patch defines a function for it. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-02zclient: Enable to connect to FRRoutingIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-02zebra/zapi: Support some FRRouting messagesIWASE Yusuke
The supposed FRRouting version for this patch is 3.0 (tag name is "frr-3.0"). Note: This patch does not support all messages defined in FRRouting, and some of message are left on TODO. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-02zebra/zapi: Define constants for FRRouting supportIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-02zebra/zapi: Serialize messages based on API versionIWASE Yusuke
Because the Zebra message formats are different between API versions, this patch enables to detect API version when serialization. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-02zebra/zapi: Constants for Interface Connected Address FlagsIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-01GoBGP 1.25FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-11-01table/path_test: Remove debug printIWASE Yusuke
This patch removes debug print statements for improving the result of the spell checker. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-01Fix some typos found by spell checkerIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-01Fix some spelling for spell checker's testIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-01tools: Add script for spell checkingIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-01doc: Document for Peer Group and Dynamic NeighborSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-01gobgpd: fix multiple configs handlingFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-10-31server: fix AddPath to return uuid properlyFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-10-30table/path: net.IP.IsUnspecified() instead of isZero()IWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-10-30cli/mrt: Drop queue size to have reasonable memory usage; make it ↵Mariusz Gronczewski
configurable from cli
2017-10-30cli/mrt: move all options to config structure for consistencyMariusz Gronczewski
2017-10-30cli/mrt: Allow to filter out ipv4/ipv6 and overwrite nexthopMariusz Gronczewski
- Add option to filter out ipv4/ipv6 - Add option to overwrite nexthop in imported routes
2017-10-07server: fix "occurred" spellingVincent Bernat
2017-10-07packet/bmp: fix "length" spellingVincent Bernat