summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2017-06-23server: Implement TTL securityIWASE Yusuke
This patch enable to configure Generalized TTL Security Mechanism (GTSM). Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-23server/sockopt: Support to set minimum TTLIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-23config: Add parameters for TTL SecurityIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-23packet: fix addpath capability parser/serializerFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-20little fix for getting-started.md documentationAlexander
2017-06-20peer: Set NeighborAddress before initializing dynamic peersSatoshi Fujimoto
If State.NeighborAddress is not set, setting default configs for the dynamic peers will fail. This patch set State.NeighborAddress before setting default configs. And this patch avoids overwriting State.NeighborAddress if it is set. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-06-20peer: Check errors in creating Dynamic PeersSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-06-16server: Support Dynamic NeighborSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-06-16config: Option to enable Dynamic NeighborSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-06-16config: Use State to get NeighborAddress instead of ConfigSatoshi Fujimoto
By introducing dynamic neighbor feature, GoBGP can have dynamic neighbors, and corresponding Config.NeighboAddress can be empty. This patch sets State.NeighborAddress for all neighbors, and gets the neighbor's address from them. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-06-12api: add graceful restart support to AddNeighbor APIFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-09bmp: Support number of withdraw updates and prefixesIWASE Yusuke
This patch enables to send BMP statistics reports for the following types; - Stat Type = 11: (32-bit Counter) Number of updates subjected to treat-as-withdraw treatment. - Stat Type = 12: (32-bit Counter) Number of prefixes subjected to treat-as-withdraw treatment. Note: Currently, this implementation considers only updates or prefixes received from neighbors, but not enough to follow the handling process described in RFC7606. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-09config: Add counter for BMP statisticsIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-08test: Test for Graceful Restart with multiple peersSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-06-08packet/mrt: BGP with Geo-Location Extensions (RFC6397)IWASE Yusuke
This patch enables to decode/encode MRT format with BGP routing information including the geographical location which described in RFC6397. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-07test: ignore the failure of caching dependeny with building docker imageFUJITA Tomonori
`go get -d github.com/osrg/gobgp/...` could fail (e.g., an imported library has gone). After that, we build a docker image from modified source code. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-07replace github.com/Sirupsen/logrus with github.com/sirupsen/logrusFUJITA Tomonori
The usage of "github.com/sirupsen/logrus" is recommended. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-06server_test: Test for Graceful Restart timer expiredIWASE Yusuke
This test case checks whether BGP session is freed or not when Graceful Restart timer expired. If BGP session is not freed as expectedly, this test case will exit with state 1 after waiting 120 seconds and will output the following. FATA[0147] failed to free the fsm.h.t for 127.0.0.1 BGP_FSM_OPENSENT BGP_FSM_IDLE Topic=Peer Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-06server_test: Add a sleep for stabilityIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-06server: Close conn when graceful restart timer expiredWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2017-06-06server_test: stop listeningIWASE Yusuke
Listening on well-known port require the root privileges. This patch stop listening to avoid that because this test doesn't need to accept a peer. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-06server_test: Confirm BgpServer started and stoppedIWASE Yusuke
For each test case, this patch enables to confirm BgpServer is started successfully and stopped at the of each test case, otherwise the context of some test cases might affect other test cases. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-05*: Support Peer-Group ConfigurationSatoshi Fujimoto
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 <satoshi.fujimoto7@gmail.com>
2017-06-05config: Initialize Graceful Restart StateSatoshi Fujimoto
Currently, the restarting speaker ends restarting procedure before receiving End-of-Rib markers from all helper speakers. It is because `MpGracefulRestart.State.Enabled` is not initialized, always evalueted to false, so the restarting speaker misunderstands as there is not helper speaker. This patch adds code to initialize `MpGracefulRestart.State.Enabled`. This fixes #1296. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-06-03bmp: Enable to send BMP Route Mirroring messagesIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-03config: Option to enable BMP Route MirroringIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-03packet/bmp: Implement Route Mirroring messageIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-03server: Implement event for BGP message watcherIWASE Yusuke
This patch enables to watch events for monitoring received BGP messages before the state comparison. Note: Currently, this event nortifies UPDATE message only, because the other messages will be handled in FSMHandler and not received at BgpServer, so BgpServer cannot send event for these messages. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-03tools: Update usage of pyang_pluginsIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-03GoBGP 1.19FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-01Fix RouteDistinguisher parsing and VPNV6 VRF rib parsingLamanna
2017-06-01packet/mrt: BGP Additional Path Extensions (RFC8050)IWASE Yusuke
This patch enables to decode/encode MRT format with BGP Additional Path Extensions which described in RFC8050. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-05-31table: reduce allocs in NewDestinationChris Stockton
In NewDestination we add additional path to AddrToRadixkey to check the concrete type of nlri.
2017-05-23table: avoid unnecessary memory allocation about generating radix keyFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-05-23bmp: Implement Information TLV on Termination messagesIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-05-23bmp: Implement Information TLV on Initiation messageIWASE Yusuke
Currently, the TLV fields are implemented as BMPTLV on the Initiation messages, but not enough decoded and required to be constructed in binary format. This patch introduces BMPInfoTLV and makes easy to handle the TLV fields. Note: This patch obsoletes BMPTLV structure. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-05-23bmp: Remove redundant error value declarationIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-05-23flowspec: handling of >2 logical elements and fixed testDenis Shevchenko
2017-05-23flowspec: formatting of flowspec ranges in nice orderDenis Shevchenko
2017-05-23flowspec: correct handling of | bit case in opflagsDenis Shevchenko
2017-05-23flowspec: correct place for & bit in opflagsDenis Shevchenko
2017-05-23cli: Add User Interface for Redirect-IPv6 actionSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-05-23packet/bgp: Redirect-IPv6 Flow Spec Traffic Filtering ActionSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-05-23packet/bgp: IPv6 Address Specific Extended CommunitySatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-05-22bmp: Stats reports for Adj-RIBs-In and Loc-RIB routesIWASE Yusuke
This patch enable to send BMP statistics reports for the following types; - Stat Type = 7: Number of routes in Adj-RIBs-In = Regarding number of "accepted" routes in AdjTable state - Stat Type = 8: Number of routes in Loc-RIB = Regarding number of "advertised" and "filtered" routes in AdjTable state which means the all routes selected by the local BGP speaker's Decision Process. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-05-22server/peer: Number of filtered routes to advertiseIWASE Yusuke
This patch extend the "AdjTable" container to store the number of the "filtered" routes which should not be advertised to the given neighbor. This routes mean the filterd routes because of RTC, VRFs, policy and other constraints. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-05-22config: Add interval seconds for BMP stats reportsIWASE Yusuke
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 <iwase.yusuke0@gmail.com>
2017-05-22packet/bmp: Implement BMPStatisticsReport serializerIWASE Yusuke
Currently, only parser for BMPStatisticsReport is implemented and does not support the per-AFI/SAFI stats TLV types. This patch implements BMPStatisticsReport serializer and re-implements the stats TLV parser/serializer to support the missing TLV types. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-05-22bmp: Obsolete "both" option for route-monitoring-policyIWASE Yusuke
Because of the introduction of "local-rib" and "all" options for route-monitoring-policy, this patch obsoletes "both" option. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-05-22bmp: Fix peer header info in Loc-RIB route messageIWASE Yusuke
"draft-evens-grow-bmp-local-rib" says the peer header for Loc-RIB monitoring should include the following values; - Peer Address: Zero-filled as remote peer address is not applicable. - Peer AS: Set to the BGP instance global or default ASN value. - Peer BGP ID: Set to the BGP instance global or RD (e.g. VRF) specific router-id. This patch fixes the peer header construction to follow this specification. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>