Date: Thu, 17 Oct 2019 17:48:32 +0000 (UTC) From: Conrad Meyer <cem@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r353689 - head/sys/net Message-ID: <201910171748.x9HHmWm3031490@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: cem Date: Thu Oct 17 17:48:32 2019 New Revision: 353689 URL: https://svnweb.freebsd.org/changeset/base/353689 Log: debugnet: Respond to broadcast ARP requests The in-tree netdump code has always ignored non-directed ARP requests, and that seems to work most of the time for netdump. In my work and testing on NetGDB, it seems like sometimes the remote FreeBSD conversant (the non-panic system) will send broadcast-destination ARP requests to the debugnet kernel; without this change, those are dropped and the remote will see EHOSTDOWN "Host is down" errors from the userspace interface of the network stack. Discussed with: markj Modified: head/sys/net/debugnet.c Modified: head/sys/net/debugnet.c ============================================================================== --- head/sys/net/debugnet.c Thu Oct 17 17:19:16 2019 (r353688) +++ head/sys/net/debugnet.c Thu Oct 17 17:48:32 2019 (r353689) @@ -434,7 +434,8 @@ debugnet_pkt_in(struct ifnet *ifp, struct mbuf *m) goto done; } if (memcmp(ifr.ifr_addr.sa_data, eh->ether_dhost, - ETHER_ADDR_LEN) != 0) { + ETHER_ADDR_LEN) != 0 && + (etype != ETHERTYPE_ARP || !ETHER_IS_BROADCAST(eh->ether_dhost))) { DNETDEBUG_IF(ifp, "discard frame with incorrect destination addr\n"); goto done;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201910171748.x9HHmWm3031490>