On Tue, Sep 30, 2025 at 11:30:15PM +0200, Stefano Brivio wrote: > On Sat, 27 Sep 2025 15:25:21 -0400 > Jon Maloy wrote: [snip] > > -void *tap_push_l2h(const struct ctx *c, void *buf, uint16_t proto) > > +void *tap_push_l2h(const struct ctx *c, void *buf, > > + const void *src_mac, uint16_t proto) > > { > > struct ethhdr *eh = (struct ethhdr *)buf; > > > > - /* TODO: ARP table lookup */ > > + /* TODO: ARP lookup on tap side */ > > Why? I mean, what would we do with guest-side MAC addresses, as we > don't control Layer-2 host-side? I actually have some loose plans in this area. We could repurpose the ARP cache data structure to track MAC addresses on the guest side. That would be one piece we'd need in order to handle multiple bridged guests simultaneously. Obviously it would be populated by different means than the host side cache. -- David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson