summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
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>
2017-05-22bmp: Enable to specify all route monitoring policiesIWASE Yusuke
This patch adds the new key "all" for specifying the all BMP route monitoring policies. Configuration Example: [[bmp-servers]] [bmp-servers.config] address = "127.0.0.1" port=11019 route-monitoring-policy = "all" Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-05-17server/fsm_test.go: fix race condition during testsChris Stockton
Add sync.Mutex to guard access to MockConnection to prevent tests ran with -race from failing. In addition change the calls to the fmt package to use t.Log show they only show with the -v flag to prevent unwanted noise between test runs. It has the added benefit of providing a file and line number as well.
2017-05-15bgp: Advertise IPv4 routes with IPv6 Next HopIWASE Yusuke
RFC5549 allows IPv6 Next Hop address for the advertisement of IPv4 related NLRIs for <AFI/SAFI> of <1/1>, <1/2>, <1/4> and <1/128>. Currently, the advertisement using the MP_REACH_NLRI is supported, but IPv4 routes with IPv6 Next Hop is not enough. This patch enable to advertise IPv4 routes for <AFI/SAFI> of <1/1> through GoBGP CLI command. e.g.) $ gobgp global rib add -a ipv4 10.2.1.0/24 nexthop 2001:2::1 Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-05-14server: avoid sending unwanted withdrawals to iBGP peersWataru Ishida
when the old best was from iBGP, we don't need to send withdrawals to iBGP peers. Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2017-05-10*: support replace-peer-as (aka as-override)Wataru Ishida
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 <ishida.wataru@lab.ntt.co.jp>
2017-05-10*: support remove private asWataru Ishida
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 <ishida.wataru@lab.ntt.co.jp>
2017-05-10mrt: fix bug of general address family rib serializationWataru Ishida
allocate a slice with 2 byte length (not 2 byte capacity) for PutUint16() fixes #1313 Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2017-05-10table: Advertise local-pref set by import policyTatsushi Demachi
At importing a path from an external peer, LOCAL_PREF can be set by an import policy but at exporting a best path to an internal peer, this learned, calculated LOCAL_PREF is never used and every time overwritten by a default value 100. According to RFC 4271 "5.1.5. LOCAL_PREF" and "9.1.1. Phase 1: Calculation of Degree of Preference", the learned value should be advertised to other internal peers. This fixes it by just removing resetting a non-local path's LOCAL_PREF by the default value.
2017-05-09server: ignore routes when local AS is in AS_PATHISHIDA Wataru
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 <ishida.wataru@lab.ntt.co.jp>
2017-05-09api: fix api/server struct conversionWataru Ishida
convert default in/import/export policy type remove remote-private-as, send-community since we are not using them Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2017-05-06cli: speed up showing a specific defined-setWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2017-05-04GoBGP 1.19FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-04-27server: fix handling bgp messages right after moving to idle state from ↵FUJITA Tomonori
established currently gobgpd continues to handle update messages even if becomedidle state from establised. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-04-27server: avoid unnecessary path clone with route serverFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-04-27table: avoid cloning path for withdrawFUJITA Tomonori
when a peer having lots of routes goes down, the cloning paths consume too much memory. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-04-26doc: update required go versions to 1.7 or laterFUJITA Tomonori
[skip ci] Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-04-21Update getting-started.mdDaniel Portella
2017-04-21Update unnumbered-bgp.mdDaniel Portella
2017-04-21Update graceful-restart.mdDaniel Portella
2017-04-21Update neighbor.goDaniel Portella
2017-04-21table: Fixed bug when looking up prefixes with a default route.lspgn
2017-04-21travis: drop 1.6 supportFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>