summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2021-10-18chore: fix linting ineffassign and redundant type from array, slice, or map ↵Imcom Jin
composite literal
2021-10-15tests: Check if we return an error and not crash if r.Peer is nilDonatas Abraitis
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-10-15server: Do not crash the server if an empty request over gRPCDonatas Abraitis
goroutine 11 [running]: github.com/osrg/gobgp/pkg/server.newNeighborFromAPIStruct(0x0, 0xb5dd20, 0xc0000b3aa0, 0xc0002d4048) /home/donatas/projects/gobgp/pkg/server/grpc_server.go:643 +0x57 github.com/osrg/gobgp/pkg/server.(*BgpServer).AddPeer.func1(0x4a38c9, 0xb40bc0) /home/donatas/projects/gobgp/pkg/server/server.go:2940 +0x36 github.com/osrg/gobgp/pkg/server.(*BgpServer).handleMGMTOp(0xc0000f3680, 0xc0004e4348) /home/donatas/projects/gobgp/pkg/server/server.go:240 +0x47 github.com/osrg/gobgp/pkg/server.(*BgpServer).Serve(0xc0000f3680) /home/donatas/projects/gobgp/pkg/server/server.go:422 +0x735 created by main.main /home/donatas/projects/gobgp/cmd/gobgpd/main.go:153 +0x3cf To replicate: from __future__ import absolute_import from __future__ import print_function import grpc from google.protobuf.any_pb2 import Any import gobgp_pb2 import gobgp_pb2_grpc import attribute_pb2 _TIMEOUT_SECONDS = 1000 def run(): channel = grpc.insecure_channel('localhost:50051') stub = gobgp_pb2_grpc.GobgpApiStub(channel) peers = stub.AddPeer( gobgp_pb2.AddPeerRequest( ), _TIMEOUT_SECONDS, ) for peer in peers: print(peer) if __name__ == '__main__': run() Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-10-08Return MpGracefulRestart.State in ListPeer() api callJeremiah Millay
2021-10-01v2.32.0FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2021-09-09Pass BGPUpdate message even on errorJakub Chábek
2021-09-08internal/pkg/table: remove debug logging from Destination.CalculateMatt Layher
Signed-off-by: Matt Layher <mlayher@fastly.com>
2021-09-01v2.31.0FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2021-08-28.github/release: Use goreleaser actionManuel Rüger
https://github.com/goreleaser/goreleaser-action#workflow This simplifies the workflow, allows to define the golang version it is built with
2021-08-28go.mod: Bump dependenciesManuel Rüger
2021-08-25pkg/packet/bgp: avoid copying PrefixDefault lock in Test_CompareFlowSpecNLRIMatt Layher
Signed-off-by: Matt Layher <mlayher@fastly.com>
2021-08-24pkg/packet/bgp: add mutex to PrefixDefault to avoid data raceMatt Layher
Signed-off-by: Matt Layher <mlayher@fastly.com>
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-08-12Fix extended-nexthop & add-path capability parsing.Konrad Zemek
The capabilities' DecodeFromBytes() was eating as much data as given, while these functions would normally be called with all the data remaining to parse - e.g. including following capabilities. Fixes osrg/gobgp#2399
2021-08-08Add support for the gRPC client to connect on a unix domain socketbbassingthwaite
2021-08-08server: fix ListVrf api to handle Name memberFUJITA Tomonori
Currently, just ignored. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2021-08-01v2.30.0FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2021-07-25Use `BGP_HEADER_LENGTH` instead of `19` in the codeKirill Smorodinnikov
2021-07-25fixed possible crash if nlriToIPNet result is nullzvfvrv
2021-07-01v2.29.0FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2021-06-30Handle ttl-security option correctlyDonatas Abraitis
It wasn't configurable at all. Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-06-30added check on data length for SRv6EndpointBehaviorStructure and ↵zvfvrv
SegmentTypeB, others minor fix
2021-06-30fix UnmarshalSRSegments for SegmentTypeBzvfvrv
2021-06-30add support of the optional "SRv6 Endpoint Behavior and SID Structure" in ↵zvfvrv
segment type b
2021-06-30fix marshal and unmarshalzvfvrv
2021-06-30wip SegmentTypeB without SRv6 Endpoint Behavior and Structurezvfvrv
2021-06-30SegmentTypeB proto definitionzvfvrv
2021-06-27zebra: close the incoming channelLukas Bischofberger
In general the writer should close the channel, thus we can close the channel here directly. If zebra has disconnected the `closeChannel` method will in most cases not even close the channel because no more messages can be received on it.
2021-06-27Add support for encap tunnel in extended communities in policy.md.Guangtong Cao
2021-06-13Add support for encapsulation tunnel type in the extended community support ↵Guangtong Cao
in gobgp policy.
2021-06-07v2.28.0FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2021-06-07fix: fix check according to golang s1025Imcom Jin
https://staticcheck.io/docs/checks#S1025
2021-06-07refactor: nlri/nexthop requires MP will get MP explicitly already.Imcom Jin
so we can safely remove the MP_REACH_NLRI from ipv4_uc with ipv4 nexthop
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>
2021-05-06cmd/rpki: support delete apiFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2021-05-03v2.27.0FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2021-04-22Do not suppress initial non-established peer state in MonitorPeerCarl Baldwin
The issue with the initial update was that sometimes a connection had not yet been established. Trying to get remote and local connection data caused a segmentation violation because `fsm.conn` was nil. Also adds a flag to MonitorPeerRequest in the GRPC API to enable the new behavior to avoid backward incompatibility. fixes #2047
2021-04-02v2.26.0FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2021-03-29Update protoMarcus Wichelmann
2021-03-29Added ListDynamicNeighbor message to APIMarcus Wichelmann
2021-03-29Added DeleteDynamicNeighbor message to APIMarcus Wichelmann
2021-03-29Added ListPeerGroup message to APIMarcus Wichelmann
2021-03-19Add GENEVE encapsulation supportRavi Aysola
2021-03-16Add support for the gRPC server to listen on a unix domain socketbbassingthwaite
Fixes #2230
2021-03-14add support for tunnel egress endpoint sub-TLVMikael Magnusson
As specified in draft-ietf-idr-tunnel-encaps-22. Signed-off-by: Mikael Magnusson <mikma@users.sourceforge.net>
2021-03-13tools: don't use a shebang for bash completionVincent Bernat
They are not expected to be executed. This seems a silly path, but some people bother filing bug reports about it, so if you are OK with it, it could be "fixed".
2021-03-06docs: fix typoFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2021-03-06docs: add next-hop action examplesFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2021-03-03policy: add nexthop unchangedFaicker Mo
Support config set-next-hop = "unchanged" and also cli command. Signed-off-by: Faicker Mo <faicker.mo@ucloud.cn>