summaryrefslogtreecommitdiffhomepage
path: root/pkg
AgeCommit message (Collapse)Author
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-08server: fix ListVrf api to handle Name memberFUJITA Tomonori
Currently, just ignored. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2021-07-25Use `BGP_HEADER_LENGTH` instead of `19` in the codeKirill Smorodinnikov
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-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-13Add support for encapsulation tunnel type in the extended community support ↵Guangtong Cao
in gobgp policy.
2021-06-07fix: fix check according to golang s1025Imcom Jin
https://staticcheck.io/docs/checks#S1025
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-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-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-03policy: add nexthop unchangedFaicker Mo
Support config set-next-hop = "unchanged" and also cli command. Signed-off-by: Faicker Mo <faicker.mo@ucloud.cn>
2021-03-01Fix LsTLVIgpRouterID.DecodeFromBytesKirill Smorodinnikov
According to https://tools.ietf.org/html/rfc7752#section-3.2.1.4, IGPRouterID could be 4-octet for OSPFv2 or OSPFv3 non-pseudonode.
2021-02-27Extend LsLinkDescriptor.StringKirill Smorodinnikov
Cover additional cases when only one part of the link is presented.
2021-02-24Fix ParseValue's bug for BMPStatsTLV32xskingdom
2021-02-24server: fix AdministrativeCommunication message parserFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2021-02-13feat: add option to bind listener to a (VRF) deviceMilan Lenco
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
2021-01-27go fmtedSergey Elantsev
2021-01-23fixed panics on parsing malicious bgp packetsSergey Elantsev
2021-01-23support UDP destination port sub-TLVMikael Magnusson
As specified in draft-ietf-idr-tunnel-encaps. Signed-off-by: Mikael Magnusson <mikma@users.sourceforge.net>
2021-01-20packet/bgp: Fix TunnelEncapSubTLV.DecodeFromBytesMikael Magnusson
Return data of the correct length from TunnelEncapSubTLV.DecodeFromBytes. This fixes a problem with TunnelEncapSubTLVUnknown which caused it to contain more bytes in its Value unless it was the last SubTLV. Signed-off-by: Mikael Magnusson <mikma@users.sourceforge.net>
2020-12-20fixed mistypeSergey Elantsev
2020-12-20fixed possible crashes on parsing of bgp messagesSergey Elantsev
2020-12-14change commentsSerguei Bezverkhi
Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com>
2020-12-09interop fixSerguei Bezverkhi
Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com>
2020-11-30Unit tests and dependenciesSerguei Bezverkhi
Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com>
2020-11-30Code changesSerguei Bezverkhi
Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com>
2020-11-29set shutdownWG to nil after stopBGP finishedDuan Jiong
otherwise gobgp will panic in handlefsmMsg when handle error condition Signed-off-by: Duan Jiong <duanjiong@yunify.com>
2020-11-25code changesSerguei Bezverkhi
Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com>
2020-11-09server: fix conversion from api.RouteAction to config.DefaultPolicyTypeFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2020-11-09server: handle bogus addpath argumentFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2020-11-06Adding gRPC support for modified logging levelSteve Shaw
Signed-off-by: Steve Shaw <shaw38@gmail.com>
2020-11-06Fix missing args in server testsAlistair King
2020-11-06Use MonitorTableRequest.Name to filter by peerAlistair King
Filter returned Paths based on provided peer address (similar to GetTable). This should improve performance when using MonitorTable with ADJ_IN and Current for a single peer.
2020-10-21api: add ListPathRequest's option to get binary of nlri and attributesFUJITA Tomonori
put the binary of nlri and path attribute to the response. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2020-10-21fix stuck routeJordan Whited
2020-10-21packet: handle malformed prefix lenFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2020-10-20server: fix ListPolicyAssignment to handle empty policyFUJITA Tomonori
fix ListPolicyAssignment() return an assignment response even if the response doesn't have any policy. The assignment has default action policy so it's useful without any policy. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2020-09-16remove incomingCh when deleting dynamic peerChris Balmain
2020-07-13implement LsAddrPrefix marshal json functionJieJhih Jhang
2020-07-04server: don't send empty ExtendedNexthop capabilityFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2020-06-24Add //go:generate stringer directives for public enum types.Dmitri Nikulin
All such directives can be invoked by running $ go generate Stringer itself can be obtained by running $ go get golang.org/x/tools/cmd/stringer See https://github.com/osrg/gobgp/issues/2265