github osrg/gobgp v4.11.0

2 hours ago

Changelog

  • 53ceb78 GoBGP 4.11.0
  • e01141a server: prepare peer state before advertising initial routes
  • d234c86 test: rename the route server policy scenarios to ExportPolicy
  • 632031d test: remove duplicated route server policy scenarios
  • 1c501ef test: use a soft reset out in the route server policy update scenarios
  • 10d3f16 server: send the peer description in WatchEvent peer events
  • 07af837 table: count destinations in the Adj-RIB-In table info
  • 4b289a8 server: compare the AS too when matching a path to its source peer
  • 1955816 ci: do not install linux-modules-extra on kernels that do not have it
  • 6afb03a table: use the router ID when a reflected route has no cluster ID
  • f22b5dd table: look at every segment for an ASN as-path pattern
  • 30786de packet/bgp: reject AS 0 in the path and aggregator attributes
  • 9b86c50 server: check the label chunk from zebra before using it
  • bb09f17 packet/bgp: reject an EVPN MAC/IP route with a MAC length other than 48
  • 3e7e231 zebra, server: do not wait forever for zebra to answer
  • a6798ec security: treat zebra as trusted
  • d8325f5 server: look up the RPKI server with its port in DeleteRpki
  • 9b268c6 server: pass the file name to the MRT manager in DisableMrt
  • 155ea03 server: do not read the peer capabilities from an API request
  • 7ecee7e server: fix the VRF ID of next hops registered with zebra
  • adcd4fc table: reject a lookup prefix of the wrong family
  • a1f19dc table: do not overwrite our own AS when prepending 255 times
  • 82bbdb7 apiutil: reject an AS path segment with more than 255 AS numbers
  • 8678b1c apiutil: return an error for API input that used to panic
  • 21ce52d apiutil: return NLRI constructor errors and check NLRI lengths
  • 1836b1c apiutil: do not panic on a missing ESI or Binding SID
  • 98094bc security: put direct calls to the Go packages out of scope
  • 752b484 table: handle AS4_AGGREGATOR from a two-octet AS peer as RFC 6793 says
  • 4b943c4 apiutil: do not panic on an SR Policy segment list without Weight
  • 36ec0ed packet/bgp, api, apiutil: decode the BGP-LS Prefix Metric TLV (1155)
  • 77689de packet/bgp: reject an EVPN NLRI longer than its route
  • 4139d78 packet/bgp, api, apiutil: decode the BGP-LS Extended Administrative Group TLV (1173)
  • d5953ee table: set ORIGINATOR_ID and CLUSTER_LIST when reflecting to a non-client
  • 7c54535 api: add a timestamp to WatchEventResponse.TableEvent
  • dff618d bfd: reset the BGP session only when an Up session expires
  • 0f0471f table: drop the origin validation state community from external peers
  • bdfa79f server: do not expire the hold timer while a message is processed
  • 5fbd5a1 docs: list the NOTIFICATIONs that are sent as a Hard Reset
  • 95e1ed8 packet/bgp: send BFD Down as a Hard Reset
  • 6bd78b2 server: send Administrative Reset as a Hard Reset
  • 265187c server: put the original NOTIFICATION in the data of a Hard Reset
  • 98bbadc server: send every NOTIFICATION in Established through one function
  • 625456d server: send Hard Reset on admin down and the prefix limit
  • 43746e5 server: end the session when the prefix limit is reached
  • 3eef764 server: end the session gracefully on a new connection from the peer
  • 9208bd2 gr: keep the routes of a family only in the LLGR Capability
  • 7aafbaf server: decide in the server whether a session ends gracefully
  • b80bdde server: handle a failed hold timer NOTIFICATION as a graceful restart
  • aaf4b20 server: move RTC test listen ports out of the ephemeral range
  • 92e393f docs: describe the route advertisement after a graceful restart
  • 83ccb7c server: use gr.Restart for our own graceful restart
  • fe21cc5 gr: add a state machine for our own graceful restart
  • 9a0c5c2 gr: move Helper to helper.go
  • 9a35402 server: send the initial dump to a secondary-route client
  • 9d07ddf config/oc: fix the peer-group inheritance key of graceful-restart
  • bb83190 table: do not mark a stale path stale again
  • 319fa41 server: use gr.Helper for the graceful restart of a peer
  • bc66d00 table: do not attach LLGR_STALE twice
  • 4377d70 gr: add a state machine for the graceful restart of a peer
  • 73cb9c4 server: drop the stale routes that the restarted peer does not preserve
  • d842e6f server: rebuild the negotiated graceful restart state for each session
  • 1292420 cmd/gobgp: add a test for parseNeighborSet
  • dc7158e server: do not drain a stopped watcher's queue under the server lock
  • cbbcefc server: reject a route with our own address as the next hop
  • 551a9f6 packet/bgp: deprecate the EVPN type 9 (I-PMSI) route
  • 0058e57 packet/bgp: discard MUP NLRI of an unknown route type
  • 9783303 packet/bgp: discard EVPN NLRI of an unknown route type
  • c495d57 packet/bgp: check the MP_UNREACH_NLRI length for End-of-RIB
  • ee2c354 bfd: apply timer changes to the running session
  • 238fbae server: do not drop admin state requests sent back to back
  • 840c730 server: reject an admin state request for the current state
  • cc2d358 table: match the zone of a link-local neighbor in a neighbor set
  • 32018f4 cmd/gobgp: keep prefixes in a neighbor set
  • 6c23a0f server: report a NOTIFICATION received in OpenConfirm as received
  • fe2c11f bfd: send AdminDown when a session is removed
  • 3d41767 table: tell BGP-LS destinations apart by their serialization when keys collide
  • 37aed5a table: don't send or pass along AIGP on an eBGP session
  • 34fc457 server: withdraw EVPN MAC mobility paths from ADD-PATH peers
  • 95a6372 table: discard LOCAL_PREF and reflection attributes from external peers
  • 0919aad server: pick the propagate bucket of an EVPN MAC/IP route from its MAC
  • 6d26fa2 bfd: set the diagnostic code of sent packets
  • f3c13d7 bfd: stop periodic transmission when the peer asks for it
  • abd73d0 bfd: keep the BGP session on a remote AdminDown
  • 2f4224f bfd: discard received packets with a wrong version, M bit or A bit
  • 3bf932b bfd: support multihop sessions
  • 3197018 bfd: add the multihop option to the BFD configuration
  • 7bdc5d0 bfd: discard received packets with a TTL other than 255
  • dace5bc bfd: select the session by Your Discriminator
  • 11fa6f2 bfd: use one receive socket per address family
  • f1f9f3b server: do not run the FSM in the per-family End-of-RIB test
  • 75fe3f7 server: purge stale routes per address family on End-of-RIB
  • 95c43b0 server: handle ResetPeer in every FSM state
  • 2be423a server: wait less before the first connection after Idle
  • d8ebe4b server: support per-peer policies for regular peers
  • e796717 server: discard AS4_PATH and AS4_AGGREGATOR from a four-octet AS peer
  • 93b979d packet/bgp: check the next hop of MP_REACH_NLRI like NEXT_HOP
  • eefeaa5 docs: ask contributors to run CI in their fork before a pull request
  • 2a7f432 packet/bgp: keep unknown TLVs of the Prefix-SID attribute
  • db3c928 server: keep our connection when the other one fails before Established
  • 9be7565 server: stop the outgoing manager when the session is established
  • b9438d5 server: do not stop the outgoing manager after it sent its OPEN
  • b841cb7 server: resolve a collision in OpenSent at the OPEN on our connection
  • 9358020 server: resolve a connection collision in OpenConfirm
  • faf661e server: send Cease to the connection that loses a collision
  • 57fa92f bfd: take unspecified sources from established BGP connections
  • fa928d2 bfd: cancel queued BFD-down work before retiring sessions
  • c5a4639 bfd: preserve dynamic neighbor interface binding on updates
  • a6cedb3 server: preserve replacement BFD sessions when obsolete FSMs stop
  • 4d7b218 server: replace the ROAs of an RPKI cache on a Reset Query
  • 4e70e76 server: back off the idle hold time like FRR
  • fae7ee5 server: stop the deferral timer when the session or the peer goes away
  • 7d11a2c server: send Cease/BFD Down when BFD goes down
  • 93858ca packet/bgp: add the RFC 9384 BFD Down Cease subcode
  • 2544643 server: send IPv4 routes with an IPv6 next hop only to ENHE peers
  • ee9c4b7 server: advertise extended next hop only for RFC 8950 IPv4 families
  • 78d9177 server: honor the RFC 1997 well-known communities when advertising
  • b5630a0 server: don't answer a version error NOTIFICATION in OpenSent
  • 72e589d packet/bgp: don't decode 0x81/0x82 communities as traffic actions
  • 7491a4e table: drop a second MP_REACH_NLRI next hop that is not link-local
  • 4f80923 server: wait for the gRPC socket in the WatchEvent tests
  • 7503315 test: extend TCP-AO scenario
  • 51b09ce server: allow TCP-AO key change after neighbor connection close
  • e9ac84b test: add TCP-AO scenario coverage
  • 3667c1e table, tools: add an UPDATE packer benchmark with a real table
  • c408b63 table: use one UPDATE packer for all families
  • 86a0840 server: check the error from sendMessageloop in the kill signal test
  • f588155 packet/bgp: check NEXT_HOP only when the UPDATE has NLRIs that use it
  • e2cd8b1 table: share the next hop that is set for a peer
  • 801cbec table, config: drop NewPeerGroupInfo, deprecate SetPeerGroupStateValues
  • f3612de table: keep the next hop of a path out of the path attributes
  • c4b5a3c table: group IPv4 paths by next hop as well in the UPDATE packer
  • 2e5ef2c table: add GetFullPathAttrs for the attributes shown to users
  • 2966efd server: convert AddPathStream paths with the AddPath code
  • 51802f8 table: set the next hops when ToLocal changes the family of a path
  • b3e14f0 table: set the next hops of a path in one place
  • 059f4e9 table: read the next hops of a path through one Path method
  • 72446b4 server: add tests that pin the next hop in MRT dumps and zebra routes
  • a90c53e server: add tests that pin the next hop of a path in the API
  • 05987ce table: add tests that pin the next hop of a path
  • 16e8ae0 table: reject invalid peer policy assignments
  • 89ef85f zebra: fix nexthop registration field offsets for FRR 8.2
  • 953fc73 zebra: serialize the correct route header for FRR 7.4
  • d1fa614 packet/bgp: fix EVPN I-PMSI route serialization
  • de65525 server: count the advertised paths of a peer as they are sent
  • 872abc7 server: handle an RTC membership shorter than /96 as a prefix
  • 105d5db table: update the NLRI string when a VRF path is made global
  • 7dcd1ee table: do not add RTC memberships that cannot contain a Route Target
  • 76eea36 table: match RTC memberships as prefixes of the Route Target
  • 4404a95 server: withdraw what was sent on an RTC membership withdraw
  • 82e435a table, server: match RTC membership against Route Targets only
  • c311b8d server: drop the unused newPath parameter of sendSecondaryRoutes
  • 3c16205 server: write down what the server state lock covers
  • 231ef09 server: run Serve only once per server
  • 6757c25 table: don't fast-path a community pattern with a leading zero or space
  • 403b244 table: don't fast-path a multi-colon community pattern
  • e2d98a0 server: read the global RIB options under the server lock in zebra
  • 5ecafd7 server: do not hold the server lock while dumping the MRT table
  • e9123fc docs(scenario): document timeout scaling
  • 2933db3 test(scenario): clean labeled Docker resources around pytest sessions
  • 39cf519 test(scenario): probe link-local reachability with scoped pings
  • 32d53e9 server: fix the comment on validating an UPDATE
  • 62caebb packet/bgp: reject a repeated MP_REACH_NLRI or MP_UNREACH_NLRI
  • dd25386 packet/bgp: treat an unrecognized well-known attribute as withdraw
  • f988b41 server: validate an UPDATE after an attribute was discarded
  • 1819cc3 clamp encap nlri endpoint to its length octet
  • 3c5fcf9 table: keep LLGR stale paths out of multipath sets
  • 8ea07aa server: withdraw routes when nexthop tracking invalidates them
  • 1c9e36b table: withdraw all local paths when deleting a VRF
  • c77ac78 packet/bgp: keep unknown MUP extended community sub-types
  • f1fcae1 packet: keep unknown EVPN extended community sub-types
  • 2fe3da6 packet/bgp: keep the FlowSpec 2-octet length form below 240
  • 0de9844 packet/bgp: fix FlowSpec extended length encoding
  • 189deb6 docs: describe which address families a prefix-set matches
  • 1c98a37 table: match prefix sets against EVPN routes
  • 7dd1d37 server: pass t to the RTC membership test helpers
  • a9ba783 fix(server): retain VPN routes while another RT still matches
  • 9297b19 fix(server): suppress VPN updates for duplicate RTC memberships
  • c979c37 server: accept FlowSpec paths without a next hop in AddPathStream
  • 47264c5 table: build each path's attribute list once in packerMP
  • 6dc3bb9 packet/bgp: unmap an IPv4-mapped next hop when decoding
  • 0a3ccf0 table: cache the path count of an AdjRib
  • 756932e server: delete RPKI ROAs with the server key
  • 02cfc40 server: discard ORIGINATOR_ID and CLUSTER_LIST from external peers
  • 689c58b server: start FSM loop timings when an event is received
  • 0ac78f5 packet/bmp: parse the statistics types of RFC 9972

Don't miss a new gobgp release

NewReleases is sending notifications on new releases.