Skip to content

Revert garp to old system#770

Merged
byteocean merged 1 commit intomainfrom
fix/arp
Mar 23, 2026
Merged

Revert garp to old system#770
byteocean merged 1 commit intomainfrom
fix/arp

Conversation

@PlagueCZ
Copy link
Copy Markdown
Contributor

This is a fix of a fix from #769 which introduced a bug in ARP which degraded performace. Network wos working but with occasional packet loss, that is why previous tests missed it.

I simply fully reverted the garp implementation to before #714, the rest of #769, i.e. DHCP and ND is kept.

Fixes #768

@PlagueCZ PlagueCZ requested a review from a team as a code owner March 19, 2026 23:52
@github-actions github-actions bot added bug Something isn't working size/M labels Mar 19, 2026
Comment thread src/nodes/arp_node.c

// ARP reply from VM
if (unlikely(sender_ip == htonl(port->iface.cfg.own_ip))) {
if (unlikely(dp_arp_cycle_needed(port) && sender_ip == htonl(port->iface.cfg.own_ip))) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if we want to update MAC address cache even if VM suddenly changes it during running, we can also do

if (sender_ip == htonl(port->iface.cfg.own_ip)) {
      dp_l2_addr_set(port, &incoming_eth_hdr->src_addr);
      port->iface.arp_done = true;  // stop further probing
      // fall through — don't consume
  }

But they are different approaches with very minor difference, so the change in this PR should be sufficient now.

@byteocean byteocean merged commit 0eb5acb into main Mar 23, 2026
7 checks passed
@github-project-automation github-project-automation bot moved this to Done in Roadmap Mar 23, 2026
@byteocean byteocean deleted the fix/arp branch March 23, 2026 13:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/networking bug Something isn't working size/M

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

No VM traffic after host restart

3 participants