summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2017-09-29test: Add Scenario tests for Revised Error HandlingSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-09-29packet/bgp: Add Unit Tests for Revised Error HandlingSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-09-29server: Revised Error Handling (RFC7606)Satoshi Fujimoto
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>
2017-09-29packet/bgp: Return ErrorHandling in decoding/validating BGPUpdateSatoshi Fujimoto
For Revised Error Handling(RFC7606), this patch modifies the BGPUpdate message decoder/validator to return ErrorHandling according to what was detected as an error. In addition, this patch adds some validation defined in RFC7606. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-09-29server/bgp: Extend MessageError for Revised Error HandlingSatoshi Fujimoto
This patch extends MessageError to contain error handling level and error path attribute. These informations are needed to Revised Error Handling (RFC7606). Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-09-29bgp/validate: Check Wellknown Attributes exist with MultiProtocolSatoshi Fujimoto
RFC4760 says "An UPDATE message that carries the MP_REACH_NLRI MUST also carry the ORIGIN and the AS_PATH attributes". This patch adds a validation to comply with it. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-09-25api: GetPath API alternative to GetRibIWASE Yusuke
With the extremely large RIBs, GetRib gRPC API hits the limits of each message size, because this API is using simple request/response RPC. This patch introduces a new API GetPath which using streaming RPC and can retrieve RIBs even if extremely large. Note: GetRib can be replaced with GetPath and obsoleted in the future. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-24test/lib/base: Reduce redundant build stepsIWASE Yusuke
Currently, the build steps of "go get" and removing the downloaded directory are not effective steps. For example, "go get" for downloading dependencies can be replaced with "dep ensure". Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-15api: increase the max of grpc message sizeFUJITA Tomonori
by default, 4mb, too small, easily hit the limit: https://github.com/osrg/gobgp/issues/1430 Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-09-14test/lib/gobgp,quagga: Adopt to Debian 9 based osrg/quagga:v1.0IWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-14test/lib/gobgp: Add shared volume for QuaggaIWASE Yusuke
Currently, daemons of Quagga will fails to output their logs, because those daemons (quagga user) does not have the permission to access to the GoBGP config directory (owned by root user). This patch prepares the volume for quagga user and enables daemons of Quagga to output logs. With this patch, those logs will be output into "TEST_BASE_DIR/TEST_PREFIX/<CONTAINER_NAME>/quagga/" directory. (default: /tmp/gobgp/<CONTAINER_NAME>/quagga/") Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-14config: Introduce Family field into AfiSafiStateIWASE Yusuke
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>
2017-09-14table/policy: fix ReplacePolicy with preserve=false to remove old statementsPiotr Wydrych
2017-09-13docs: Configuration guide for Additional PathsIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-12docs: Configuration guide for TTL SecurityIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-11docs: Configuration guide for eBGP MultihopIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-11config: Default TTL for ebgp-multihop and ttl-securityIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-06zclient: Code inspectionIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-06zebra/zapi: Regenerate stringerIWASE Yusuke
This patch re-generates String() functions with "go generate" command. e.g.) go generate ./zebra Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-06zebra/zapi: Use INTERFACE_STATUS for interface statusIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-06zebra/zapi: Define type for Zebra API message flagsIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-06zebra/zapi: Missing "Destination" in InterfaceAddressUpdateBodyIWASE Yusuke
This patch fixes to parse the missing "Destination" field in InterfaceAddressUpdateBody message. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-06zebra/zapi: Add missing ROUTE_TYPE for PIMIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-06zebra/zapi: Implement unknown message bodyIWASE Yusuke
This patch introduces a new Body structure for the unknown messages in order to avoid the disconnection when received unknown message type. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-06zebra/zapi: Remove unnecessary NULL chars after interface nameIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-04GoBGP 1.23FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-30cli: Enable to specify AS_PATHIWASE Yusuke
This patch enables to specify AS_PATH in "gobgp" client command. The syntax is similar to the output of AS_PATH in "global rib" show command. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-08-29run go 1.9 for travis-ci instead of 1.7FUJITA Tomonori
travis-ci drops 1.7 support so needs to move on. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-29doc: Update Flowspec documentSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-08-29gobgp: support local-rib/all option in command "gobgp bmp add"Eiichiro Watanabe
2017-08-28server: export addROA()/delROA() for library usageEiichiro Watanabe
2017-08-24Fix incorrect default value of BMPMonitoringPolicyEiichiro Watanabe
2017-08-24gobgp: fix error for gobgp bmp add x.x.x.x:xxxx pre optionEiichiro Watanabe
2017-08-13server: fix fd leak in DialTCP() on LinuxFUJITA Tomonori
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>
2017-08-11gobgpd: fix AddDynamicNeighbor()matthubb
The temporary pointer from the range function is being passed to AddDynamicNeighbor which is the same for every iteration of the loop. So the PeerGroup.DynamicNeighbors all end up with the same config.DynamicNeighbor.
2017-08-08config/default: Validation for "afi-safi-name"IWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-08-08config/default: Avoid setting doubly defaults of neighborIWASE Yusuke
Currently, the function for setting the default values for neighbors will called doubly when the neighbor config was added via local config files (called by "config/serve.go" and AddNeighbor() in "server/server.go"). This patch enables to detect the duplicated call of this function and avoid setting the unexpected default values. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-08-08config/default: Fix unfilled "neighbors.afi-safis.config.enabled"IWASE Yusuke
Currently, if "neighbors.afi-safis.config.enabled" is omitted, this field will not initialised as expected when GoBGPd reads config file, but will initialised when AddNeighbor API is called. This cause the miss comparison whether reloaded neighbor config is updated or not (always determined updated). This patch fixes the condition more strictly and solves this problem. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-08-07table: exclude mpreach and mpunreach attribute for normal v4 updatesWataru Ishida
It is possible that gobgp's v4 path structure contains mpreach or mpunreach attribute. (we store entire path attributes in path structure as they are received) Since we use a NLRI field of BGP update message for v4 updates and don't aggregate update/withdrawal messages for other address families, we need to exclude these attribute before sending out v4 updates. Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2017-08-07table: fix handling of update with both mpunreach and mpreach attributeWataru Ishida
some implementations send a mpunreach attribute piggy backed on an update message. Since it is stored in pathattrs of gobgp's path structure, we need to exclude it before sending out update messages. Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2017-08-04README: update developing GoBGP for depFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-04update travis-ci for depFUJITA Tomonori
libraries are installed into vendor directory so we can't build go code outside. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-03introduce dependency management toolFUJITA Tomonori
https://github.com/golang/dep Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-03travis-ci: remove duplication in .travis.yamlFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-02README: add binary release linkFUJITA Tomonori
[skip ci] Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-02GoBGP 1.22FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-02create github releases with binariesFUJITA Tomonori
https://github.com/goreleaser/goreleaser Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-02support version command line optionFUJITA Tomonori
Preparation for binary release with: https://github.com/goreleaser/goreleaser Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-02server: add sockopt ttl support to darwinFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-02table: allocate bitmap for path id dynamicallyFUJITA Tomonori
allocating 256 bytes per prefix isn't a good idea. Let's allocate 8 bytes by default and expand dynamically if necessary. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>