Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release-v1.9.8 #998

Merged
merged 83 commits into from
Oct 10, 2024
Merged

Release-v1.9.8 #998

merged 83 commits into from
Oct 10, 2024

Conversation

ywc689
Copy link
Collaborator

@ywc689 ywc689 commented Sep 24, 2024

Merge devel to master, and release v1.9.8.

Features

  • dpvs: Support QUIC/HTTP3, add nginx patches and facilitating code snippets for use of quic.
  • dpvs: Support SCTP forwarding implementation.
  • dpvs: Support LLDP protocol.
  • dpvs: Update default dpdk version to dpdk-stable-20.11.10.
  • dpvs: IPVS supports ipset based allow/deny list which allows for cidr acl rule.
  • dpvs: Support IPv6 link-local address auto configuration.
  • tools: Add ipset supports in dpvs-agent.
  • tools: Add snapshot caches for dpvs-agent virtual server apis.
  • doc: Update README.md.

Bugfixes

  • dpvs: Fix multicast address sync problems and add dpip supports for multicast address lookup.
  • dpvs: Fix build errors and warnings with gcc verison 8.0+.
  • dpvs: Fix coredump problem when starting dpvs with insufficient memory.
  • dpvs: Use dpdk random generator in critical datapath for performance enhancement.
  • dpvs: Fix ipset default address family problem.
  • dpvs: Fix segmentation fault problem when running on machines whose cpu number is over DPVS_MAX_LCORE.
  • dpvs: Refactor netif_rte_port_alloc with netif_alloc.
  • dpvs: Fix prolems in IPv6 all-nodes and all-routers address initialization.
  • dpvs: Fix memory corruption problem when retrieving nic's xstats.
  • tools: Fix concurrency racing problem when dpvs-agent and healthcheck changing rs simultaneously.
  • tools: Fix healthchech bad icmp checksum problem ocasionally appeared in udp and udpping checkers.
  • tools: Fix keepalived quorum up script not excuted problem when old rs removed and new ones added in a reload.
  • tools: Fix ipvsadm local IP won't remove problem.
  • tools: Fix ipset list-all problem and improve efficiency.
  • tools: Fix dpip delay problem when list empty ipset with sorting enabled.

…vice into cache file.

2. resume running service with snapshot cache file by launch params 'init-mode=local'
3. new API(/v2/vs/${SERVICE-ID}/health) for dpvs-healthcheck
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.10.0 to 0.17.0.
- [Commits](golang/net@v0.10.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
…gent/golang.org/x/net-0.17.0

build(deps): bump golang.org/x/net from 0.10.0 to 0.17.0 in /tools/dpvs-agent
…ged adminstratively

When healthcheck program updating the rs's weight, it should consider:

* rs's weight may change adminstratively
* rs availabilty may change due to the server is closed or crashed

Healthcheck stores the original weight when it sends down notification in order to restore
the rs's weight when it gets healthy later. The problem is original weight is syncd from
dpvs periodically and not always up-to-date, which may result in incorrect weight update in
healthcheck up notification.

Signed-off-by: ywc689 <[email protected]>
Unfortunately, the CAS solution in the last commit is not effective for healthcheck
process cannot maintain the correct previous weight value. Thus resource version is
used instead, which should be passed to the lb api when the healthcheck try to update
rs, and the api would reject the request if the resouce version is outdated.

use vs version to resync target status when notification fails

Signed-off-by: ywc689 <[email protected]>
- update config version finally in updateConfig and only when the backend config is in healthy state
- fix notification resync fail problem caused by insufficient channel size
- fix array index problem in function NewTargetFromStr

Signed-off-by: ywc689 <[email protected]>
…g. POST|PUT /vs/${ID}/rs, PUT /vs/${ID})

Healthcheck api /vs/${ID}/rs/health would not update local cache.

GET API /vs | /vs/${ID} response dpvs-agent local cache info default
and response dpvs running service detail with query param `healthcheck=true`
Signed-off-by: ywc689 <[email protected]>
…p script will not be excuted

when all old rs(healthcheck is alive) are removed and new rs(healthcheck is alive) add in same reload.
Fix backend update racing problem with dpvs-agent and healthcheck.
ywc689 and others added 23 commits August 8, 2024 09:46
This problem is caused by underflow of unsigned integer.

Signed-off-by: ywc689 <[email protected]>
define buffer size by INET6_ADDRSTRLEN
ipset supports for ipvs acl and dpvs-agent
…ber is over DPVS_MAX_LCORE.

Fixed issue #991.

Signed-off-by: ywc689 <[email protected]>
…ation

- configure the addresses only when ipv6 is enabled
- configure the addresses on vlan devices
- configure the addresses on ip-tunnel devices (though nothing is done)

Signed-off-by: ywc689 <[email protected]>
Referencing linux kernel(https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt),
dpvs supports 4 addr_gen_mode
  - eui64
  - none
  - stable-privacy
  - random

Signed-off-by: ywc689 <[email protected]>
@ywc689 ywc689 merged commit 7144011 into master Oct 10, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants