summaryrefslogtreecommitdiffhomepage
path: root/server
AgeCommit message (Collapse)Author
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-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-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-10-31server: fix AddPath to return uuid properlyFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-10-07server: fix "occurred" spellingVincent Bernat
2017-10-05server: stop Shutdown() with no peerFUJITA Tomonori
After Shutdown() is called, the main goroutine waits for peers' goroutines to stop then dies. But if no peer is configured, the main goroutines never dies. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-10-05server: Avoid applying policy multiply when updating pathIWASE Yusuke
Currently, UpdatePath() of BgpServer will apply policy multiply, and this causes the unexpected result of policy configurations. This patch avoids this multiple policy application. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-10-03mrt: Enable to dump MRT with Path IdentifierIWASE Yusuke
This patch enables to dump updates and table in MRT format with Path Identifier. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-10-03server: Add config.Neighbor into WatchEventUpdateIWASE Yusuke
This patch adds a field of config.Neighbor into WatchEventUpdate in order to get config/state info of the neighbor which sent the UPDATE message. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-10-03server/mrt: Fix unfilled logging fieldIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-10-03server/mrt: Rename a variable to avoid name collisionIWASE Yusuke
The variable "m" in mrtWriter.loop() collides its receiver "m *mrtWriter". This patch renames this variable name. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-10-03server/mrt: Enable mrtWriter to access MrtConfigIWASE Yusuke
This patch enables mrtWriter to directly access config.MrtConfig values in case that some new options will be introduced. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-10-03config: add-paths structure per AFI-SAFIIWASE Yusuke
This patch introduce "add-paths" structure per AFI-SAFI in order to enable to store add-paths feature config/state per AFI-SAFI. Also, this patch renames a few variables to avoid the name collisions. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-30server: Remove the wrong and verbose return value in validatePath()Eiichiro Watanabe
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-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-06zclient: Code inspectionIWASE 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-08-28server: export addROA()/delROA() for library usageEiichiro 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-02server: add sockopt ttl support to darwinFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-08-01server: fix zclient to handle route messages without nexthopFUJITA Tomonori
Seems that zebra could send a route message without nexthop (makes sense for withdraw). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-30server: fix active connection error checkFUJITA Tomonori
https://github.com/osrg/gobgp/issues/1391 Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-26add addpath send supportFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-26server: remove unnecessary Filter() in rsFUJITA Tomonori
RS peers and non RS peers uses different tables so no need to filter paths from rs clients for non rs clients. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-19rpki: Collect detailed information while validatingSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-07-18server: Set incoming TTL before accepting connectionIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-07-18server: Set outgoing TTL before dialingIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-07-14server: Skip TCP MD5Sig sockopt when empty auth-passwordIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-07-04support addpath recvISHIDA Wataru
2017-07-04use Destination instead of Path for path selection APIFUJITA Tomonori
With Destination struct, multiple Paths can be moved from the table package to the server package in a cleaner way; for features such as add-path. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-04server: split rib into twoFUJITA Tomonori
currently, route server peers and non route server peers use the single global rib. To support deterministic-med for non route server peers, this splits the rib into two; easier to handle the best path selection in different ways. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-23server: Enable to configure static TTL for BGP packetsIWASE Yusuke
Like "ttl" configuration of Junos OS, this patch enables to set static TTL value for outgoing BGP packets. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
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-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: 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-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-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>