summaryrefslogtreecommitdiffhomepage
path: root/pkg/server/fsm.go
AgeCommit message (Collapse)Author
2021-08-13Update the hold timer when a BGP Update message is receivedPeter Hill
According to RFC4271, The calculated value indicates the maximum number of seconds that may elapse between the receipt of successive KEEPALIVE and/or UPDATE messages from the sender. This change will reset the hold timer in the update FSM case. (note, I am super new with Go. I'm not quite sure how to craft a good test case for this.)
2021-05-24Add FQDN capabilityDonatas Abraitis
It's not kinda RFC (draft), but it's implemented and used in various other open-source software like FRRouting, Bird, ExaBGP. It's very handy when dealing with lots of peers. Exampe between GoBGP and FRRouting: ``` % ./cmd/gobgp/gobgp neighbor 192.168.10.123 | grep -A4 fqdn: fqdn: advertised and received Local: name: donatas-pc, domain: Remote: name: exit1-debian-9, domain: ``` ``` % vtysh -c 'show bgp neighbors 192.168.10.17 json' | jq .'"192.168.10.17".neighborCapabilities.hostName' { "advHostName": "exit1-debian-9", "advDomainName": "n/a", "rcvHostName": "donatas-pc", "rcvDomainName": "n/a" } ``` Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-05-10Fixed dead lock bug caused by hold-time expiryzhouzijiang
Signed-off-by: zhouzijiang <zhouzijiang@jd.com>
2020-07-04server: don't send empty ExtendedNexthop capabilityFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2020-05-13extend attributes proto for Prefix SID supportSerguei Bezverkhi
Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com>
2020-03-11fixed style: unnecessary type cast after type switch and some minor issues.Sergey Elantsev
2019-10-21server: speed up session establishmentFUJITA Tomonori
The unittest on pkg/server finishes quicker. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-10-17Transition to graceful restart state on hold timer expiry if applicablemageshgv
2019-10-11Remove policy from FSMCarl Baldwin
The `policy` member of fsm is apparently never used. Clean it up to avoid confusion. Policy is still set on the server and peers.
2019-07-02BGP connection on a speecified interface (including which is associated VRF) ↵Hitoshi Irino
using syscall SO_BINDTODEVICE
2019-04-09fsm: not reject open message with restart flag unset from gr peerwanghonghao
2019-04-01server: fix passive-modeFUJITA Tomonori
passive mode configuration is just ignored. Fixed it to work. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-03-26fix same issues in other filesJieJhih Jhang
2019-03-24server: broadcast BMPPeerDownMessage for peer deletionFUJITA Tomonori
Sends peerdown message when a peer is de-condigured and down. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-03-24fix race of peer deletionFUJITA Tomonori
Fixed a race bug that causes the unittest failure. Also fixed StopBgp() to block until all the peers are deleted cleanly. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-03-16Fixed typoszabio3
2019-01-12server: Fix peer down reason code in BMPEiichiro Watanabe
2019-01-09server: fix wait time before active connecitonFUJITA Tomonori
also avoid unittest race. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2019-01-09silence staticcheck warningsFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2018-12-19server: replace tomb with contextFUJITA Tomonori
All what we need is cancelling. Let's use the standard way for it, context. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-12-19server: use Dialer Control method instead of hack to modify connection ↵FUJITA Tomonori
before dialing Use the feature of go 1.11 to remove the hack. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-10-30server: unexport constFUJITA Tomonori
No need to export Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-10-30server: unexport fsm stuffFUJITA Tomonori
No need to export the bgp peer internals. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-10-29server: unexport Peer adn PeerGroupFUJITA Tomonori
No need to export them. Also fixed golint errors. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-10-29server: unexport TCPDialer/TCPListener/TCPSockopt stuffFUJITA Tomonori
No need to export them. Also fixed golint errors. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-09-18fsm: get rid of dead lockwanghonghao
2018-07-24fix unittest warnings with go tipFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-07-19fix races and enable race detector in unittestjhserrano
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-07-15pkg/server: enable active connection with graceful restartFUJITA Tomonori
No reason why active connection with graceful restart is disabled. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-07-15fsm: Connect to bgp peers regardless of whether the peers are restartingwanghonghao
2018-07-07follow Standard Go Project LayoutFUJITA Tomonori
https://github.com/golang-standards/project-layout Now you can see clearly what are private and public library code. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>