Skip to content

Releases: osrg/gobgp

v4.3.0

28 Feb 22:27
v4.3.0

Choose a tag to compare

Changelog

  • c3eb0db GoBGP 4.3.0
  • ab13976 fix(bgp-ls): fix TLV types, delay A-flag masking, and min/max validation
  • 38c64c9 Update pkg/packet/bgp/bgp.go
  • 2e9e2bb Update pkg/packet/bgp/bgp.go
  • d7a1541 fix(bgp-ls): correct SR capabilities and IGP flags bit mapping merged from issue #3312
  • e13c9f7 bgp-ls: add delay-metric TLVs across packet, API, and CLI
  • df3bfb5 fix(lint): replace WriteString(fmt.Sprintf) with fmt.Fprintf
  • 597b5f0 decode AS_PATH based on capability negotiation
  • 2c49d8d table: fix cgo format
  • 9656368 server: add Confederation ID check in AS loop detection
  • 9fe96a9 table: fix panic when AS4_PATH appears before AS_PATH
  • caa7c28 feat(peer): atomic peer counters
  • dbb52c5 Adj-Rib: fix leak memory on withdraw unknown path
  • f12b8fb packet/bgp: validate NEXT_HOP attribute length and value to prevent panic
  • 1bb8896 config: return StartBgp error to prevent crash
  • f110e8b server: validate router-id must be IPv4 address
  • 3c5b2b6 atomic peer.peerInfo by using atomic.Pointer[table.PeerInfo]
  • 5fa0fd8 fix(StopBgp): if server is not serving, we cannot stop BGP server
  • cfe40c9 server: close connection when response to OPEN is not sent during hold time
  • da59637 ci: add buf generate diff check
  • 988fd14 Adding support for setting IP_TOS/IPV6_TCLASS as a socket option
  • 2b7e26b grpc_server: fix path best issue #3301
  • f416268 fsm: mostly read peer.fsm.pConf
  • f26690d Speed up RTC in Adj-RIB tables
  • 3782650 server: Fix gRPC AddPath uuidMap handling
  • fe4eb38 Call initializeConn directly under lock and remove useless fsm.lock
  • cd9bbba internal/table/destination: make it private as it's only used internally
  • 1459163 Add CompareAndSwap for adminStateRaw
  • 9c003fe internal/destination: remove unused code (only in test)
  • 5faaea0 no lock in loop for peer.fsm.pConf.Config.Vrf
  • 7338052 remove debug log as it's too noisy an on the hot path
  • fc80fdf cmd: fix unix domain socket connection
  • b28d493 server/mrt: Avoid MustParseAddr on zone-qualified addresses
  • 30b905c Properly handle local zone information
  • 5831d74 server: fix racey waitState helpers in tests
  • 9338559 server: stabilize RTC deferral timer tests by avoiding watcher races
  • 48d0d70 fix: rtc deferral timer expired bugs
  • bb713fb Properly handle peer's zone information

v4.2.0

01 Jan 13:51
v4.2.0

Choose a tag to compare

Changelog

  • 8d4da6d GoBGP 4.2.0
  • b994d31 README.md: add GoBGP.nix external reference
  • 824997d bmp: Use netip.AddrPort to identify client
  • a0d3b25 Migrate path.SetNexthop to netip types
  • d5174fe pkg/server: send bmp PeerUp/Down message for Local-RIB policy
  • a550fe7 packet/rtr: validate ErrorReport lengths to prevent OOM on malformed input
  • ca78de2 zebra: fix panic in FuzzZapi test on short inputs
  • b015c35 packet/mrt: fix panic in PeerIndexTable parsing on large view name length
  • d856321 packet/bgp: fix panic in FlowSpec component parsing on invalid input
  • db4ab83 packet/bgp: avoid mutating input in MP_REACH_NLRI
  • 76b17b7 packet/bgp: fix SRv6 End.X SID Sub-TLV length handling
  • f08babd packet/bmp: support Peer Down reason=6 TLVs (RFC9069)
  • fda3c2d packet/bmp: fix peer flag 0x80 semantics for Loc-RIB (RFC9069)
  • ce30223 packet/bmp: add Peer Up Information TLV support (RFC9069 VRF/Table Name)
  • fb36901 server: compare local address using netip.Addr to avoid IPv6 string mismatch
  • 2fd31c1 table: Fix next-hop-in-list condition
  • 5da7176 add peer-group option to cli
  • bd3b84e tools: update python examples for the gRPC API

v4.1.0

30 Nov 23:49
v4.1.0

Choose a tag to compare

Changelog

  • 086af04 GoBGP 4.1.0
  • 3db447d table: Fix regexp for parsing large community
  • a29625a server: Avoid overwriting log fields in adj table
  • 76d3c1e config: Fix RouteReflectorClusterId setting if configured
  • 3d4e1dc server: guard timer config update with FSM lock
  • 2a0ea1e server: Add TestUpdatePeer unit test
  • dd41da9 server: Fix invalid pointer dereference in updateNeighbor
  • 5f2d77e markdownlint: Disable table-column-style rule
  • 74fde91 fix: fsm connection write deadline

v4.0.0

03 Nov 05:35
v4.0.0

Choose a tag to compare

Changelog

  • c9c1c12 GoBGP 4.0.0
  • 25c2c6a config: remove neighbors.transport.config.ttl option
  • 6b9d9b1 cmd: remove "global" magic keyword
  • 8d03fe5 docs: clean up logger setup
  • ab6cef1 docs: set default routing policy
  • e0f16a8 server: default to global RIB when policy name is empty
  • 71b8bb4 server: Remove request nil checks from gRPC handlers
  • e38ad7c api: remove ApplyPolicy from Global
  • b0fe2a0 config: remove unused InPolicy config
  • 7a31432 server: fix ListPath returns context error
  • 2ce6f13 server: return io error in streaming List RPCs
  • 78d53ad server: use stream.Context() instead of context.Background() in List* RPCs
  • 8ca4547 server: improve context cancellation handling in List* functions
  • 8ad38a6 packet/bgp: remove isIPv6 in MarshallingOption
  • 78dbfea server: add argument to getBestFromLocal function to exclude EOR
  • af6056c server/fsm: Remove redundant notification in handleOpen
  • 3c986d5 server/fsm: Fix connection leak in connectLoop on context cancellation
  • a30d59b fix: drain channel
  • 72f5b4b fix: remove logging on connection closing
  • 719ce3c docs: Update repository clone URL in CONTRIBUTING.md
  • f5d2039 fix: golanglint-ci
  • a2bc5a6 server/mrt: add only established-peers to dumptable entry
  • 5a5d631 fix: race condition in TestWatch
  • 3fe25f3 server: fix WatchEventPeer
  • 5193940 server/fsm: update fsm state after updating related information
  • 27f0355 server/fsm: incoming fsm stops outgoing only in connect state
  • b9d06df server/fsm: call connectLoop directly instead of using goroutine
  • 822985c test/scenario: remove IDLE state check after removing blackhole config in llgr test
  • f20d519 server/fsm: support parallel connections
  • 161c952 Fix wrong multipath logic in the ListPath API
  • 911ab22 Use netip.Addr in watchEventMessage instead of net.IP
  • b910da3 packet/rtr: remove SplitRTR function
  • f5f098d Use netip.Addr in watchEventUpdate instead of net.IP
  • fd6214e modify addPathList in zclient to race-safe addPathStream
  • f6bf251 doc: Add Locking session in CONTRIBUTING
  • cbbaac9 fix operator conversion from APIStruct to oc
  • cb60aef server/fsm: Pass connection explicitly to sendNotification method
  • 2748557 server: Complete nonblockSendChannel migration for notification sends
  • c9524df server/fsm: Move OpenMessage state updates to stateChange function
  • 1cb4905 server/fsm: Move transport state updates to stateChange function
  • 451ff12 server: Add nonblockSendChannel utility for non-blocking channel sends
  • 0bfe6cc server/fsm: Use local holdtimerResetCh with struct{} type in established state
  • 7b38fc3 server/fsm: Replace shared stateReasonCh with local channels per FSM state
  • 9e55f4a server/fsm: Remove redundant fsmHandler.conn field
  • 82ab61e server/fsm: Fix write deadline management during connection establishment
  • a63931b server: trigger session reset for TTL changes
  • dbdeba2 test/scenario_test: clarify behaviors in llgr test
  • 6a484a6 server/fsm: move establish handling to recvMessageloop from recvMessage
  • 2795378 server: simplify *bgp.MessageError handling
  • 05c6077 server: remove fsmMsgRouteRefresh type
  • f42a936 server/fsm: fix message header length error handling
  • e4725bf server/fsm: drop AFI/SAFI-disable handling
  • 181f5a6 remove ValidateBGPMessage()
  • 0eceae2 server/fsm: add TreatAsWithdraw to fsm
  • e9f43bf server/fsm: send open before moving to opensent state
  • c134f48 server: use atomic.Int32 for fsm.state
  • 99ac977 server: make fms.adminState lock-free
  • 705ca3b server: add isEBGP and isConfed to fsm
  • 0fa6eee server: use Mutex instead of RWMutex for fsm
  • 7897164 server: add comments about locking for fsm members
  • a968da3 server: remove fsm.marshallingOptions
  • d8f8cee server: use atomic.Value for fsm.rfMap
  • d569b7e packet/bgp: remove message race test
  • 07375b0 server: lock fsm.lock to access to Timers.Config
  • 1440166 server: make fsm goroutin call fsm.StateChange
  • 3a35559 server: make fsm set idleHoldTime after admin reset
  • befd213 server: remove notification logic in outgoingCh
  • cf9315e server: make fsm handler private
  • c023c9c server: use atomic.Bool for rtcEORWait
  • 18ecaeb server: make the FSM state lock-free
  • aa0ca59 server: create peer specific logger
  • 0c74e9c server: remove access to fsm.conn in server
  • b414774 server: don't log anything if logger isn't specified
  • b5e996b server: use netip.Addr for neighborMap
  • b77ca57 config: use netip for mrt table-name OpenConfig
  • 40d3f25 add new word in tools/spell-check/ignore.txt
  • 9412c4f docs: improve usage for 'gobgp global rib' command
  • bda4c72 feat(test): improve Node NLRI, Link NLRI, SRv6 SID NLRI, and PrefixV6 NLRI tests
  • acfa25c feat(cli): implement BGP-LS Node, Link, SRv6, and PrefixV6 NLRI parsing
  • 01c009a fix(apiutil): improve LsLink and LsAttribute processing
  • e1a044d fix(bgp-ls): correct TLV type constants in BGP-LS constructors
  • 8730cbe fix(bgp-ls): improve BGP-LS packet parsing and error handling
  • 1c34761 feat(api): add protobuf definitions of TLVs related to SRv6 in RFC9514
  • 303516e feat(bgp-ls): implement TLVs related to SRv6 in RFC 9514
  • 436b989 feat(apiutil): implement protobuf conversion of TLVs related to SRv6 in RFC 9514
  • 4b75d99 feat: Add BGP peer disconnect reason reporting
  • e5d96f1 Use log/slog instead of multiple logging libraries
  • 20b392b packet/bgp: fix IPAddrPrefixDefault.decodePrefix()
  • 162ab97 cmd/gobgp: fix p2p link show adj-in/out command
  • ea2a2e3 fix lint errors
  • 4b7e2d8 server/fsm: replace fsm intermediate infinite channel with normal channel
  • 4b03534 server/fsm: remove reason in fsm
  • 06f6196 server/fsm: remove sentNotification in fsmHandler
  • 304bc04 server: remove Notification in fsmMsg
  • f3d7715 server/fsm: rename notificaiton to deconfiguredNotification
  • 2792418 server: remove fsm in FsmMsg
  • 914e829 server: remove MsgSrc in FsmMsg
  • c6110a6 server: unify three functions to send notification
  • cf52588 server/fsm: send notification directly due to admin state change
  • 67abdb7 server: remove StayIdle in fsmOutgoingMsg
  • dec44a0 doc: update API session in CONTRIBUTING
  • efcdde9 packet/bgp: make IsAttributePresent private
  • 4d9cd2b fix: fix route stuck on eBGP filterpath
  • ae72f0f packet/bgp: make GetBGPUpdateAttributesFromMsg and GetBGPUpdateAttributes private
  • 4115136 zebra: use netip
  • e3eb542 packet/bgp: add test for bottom of MPLS label for prefix SID
  • 64f6f19 packet/bgp: fix decoding labels in SR
  • 7c0efd5 table: disable CollisionAttack test
  • 204...
Read more

v3.37.0

08 May 23:08

Choose a tag to compare

Changelog

  • 9bc8e11 v3.37.0
  • 6449d87 Bump golang.org/x/net from 0.37.0 to 0.38.0
  • 18f46c4 pkg/metrics: Fix local router_id label in bgp_peer_local_asn metric
  • 0e8cb92 Add sub-command for flowspec with srpolicy

v3.36.0

03 Apr 00:16

Choose a tag to compare

Changelog

  • f733438 v3.36.0
  • 718efe2 rtc: implement default route target and cli support
  • 4e5f609 Fix: Opaque NLRI
  • 7bd53d7 Fix invalid nexthop advertisement with nexthop-unchanged
  • 62938a8 update golang.org/x/net + deps
  • e19c1bc doc: Improve instructions to generate bgp_configs.go
  • c546863 update pyang version for Python 3
  • d304315 test: put scenario test dockerfile inside the source tree
  • a0f653d feat: Handle multiple Go snippets and error for missing snippets
  • 5202fc7 FIX: typo in job, comment, and file names
  • afdf857 ADD usage for 'gobgp global rib' command
  • da5af41 ADD: SRv6 SID NLRI tests
  • 078f932 FIX: LsAddrPrefix length (test params)
  • 4462479 ADD: GetLsTLVs for sorting TLVs
  • e2ce0d4 ADD: SRv6 SID NLRI
  • aca6401 REMOVE: Unused function (parseLsLinkProtocol) & argument
  • fbfd5a8 FIX: recognize BGP router ID as IPv4
  • 35a9f09 FIX: LsAddrPrefix length

v3.35.0

01 Mar 01:32

Choose a tag to compare

Changelog

  • 5365453 v3.35.0
  • db88142 run genproto.sh
  • 46c8c87 Update genproto.sh library protoc and protoc-gen-go versions
  • 3a8f4fb fsm: Lower minimal ConnectRetry interval to 1s
  • b6052cf Update gobgp.yang for AllowAsPathLoopLocal config option
  • f9db9e1 Fix overwriteConfig if field order mismatches
  • 16ea4f9 Add neighbor config option to bypass as-path loop detection on local (static) routes
  • 2819c56 adding support for injecting the prefixes in MRT file only from a specified AS number
  • 815ca4c Do not preserve MPReachNLRI attribute the way we receive it from wire
  • 08a001e pkg/packet/bgp: fix SoftVersion capability parser to check the input length
  • ca7383f pkg/packet/bgp: fix flowspec parser to check the input length
  • 5693c58 pkg/packet/rtr: fix parser to check the input length
  • 5153baf pkg/packet/mrt: fix parser to check the input length

v3.34.0

01 Feb 00:07

Choose a tag to compare

Changelog

  • 56e6b10 v3.34.0
  • 792b985 Add FSM loop timings
  • f04adfb ci: update upload/download-artifact@v3
  • 49ea072 feat: add sentry support to capture unexpected crashes
  • acfc34e bump golang.org/x/net version to 0.33.0

v3.33.0

31 Dec 22:55

Choose a tag to compare

Changelog

  • f1087db v3.33.0
  • 9bd953a fix: dynamic neighbor connect failed with auth-password and wildcard mask
  • 87e35db Moved metrics from internal to public pkg

v3.32.0

02 Dec 22:35

Choose a tag to compare

Changelog

  • 63eba39 v3.32.0
  • dcf6e41 grpc: fix ListPath batch_size parameter
  • fd310e5 fix test_05_holdtime_expiry_graceful_restart
  • 01ce002 fix lint too
  • 284e1e9 support config-strict on windows too
  • fb7102b make config parsing strict when starting gobgpd
  • 1d92514 Update configuration.md