From nobody Thu Feb 12 08:22:40 2026 X-Original-To: freebsd-net@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fBSwf0hhHz6SZTy for ; Thu, 12 Feb 2026 08:22:58 +0000 (UTC) (envelope-from martin.mayer@m2-it-solutions.de) Received: from mailgate01.m2-it-solutions.de (mailgate01.m2-it-solutions.de [87.128.29.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4fBSwd1pXRz3qdJ; Thu, 12 Feb 2026 08:22:57 +0000 (UTC) (envelope-from martin.mayer@m2-it-solutions.de) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; c=relaxed/relaxed; d=m2-it-solutions.de; s=dkim6519e; t=1770884569; bh=c2yfxylftyhxuvzR6zV+9emXjFpL1wlBG4PTg1YFvNU=; h= Subject:Subject:From:From:Date:Date:ReplyTo:ReplyTo:Cc:Cc:Message-Id:Message-Id; a=ed25519-sha256; b= st3kyK29pKpfsA2CxMNs0HV0ZQbIUx/wEG0XHH27XGBIESnibrrFeKPIUfV6ABWKKvwH10aafw38EB8UGnDfAw== DKIM-Signature: v=1; c=relaxed/relaxed; d=m2-it-solutions.de; s=dkim6519r; t=1770884569; bh=c2yfxylftyhxuvzR6zV+9emXjFpL1wlBG4PTg1YFvNU=; h= Subject:Subject:From:From:Date:Date:ReplyTo:ReplyTo:Cc:Cc:Message-Id:Message-Id; a=rsa-sha256; b= mk0xEZAcOnj/ldzIskkpian+O3BTmLEBPmtvCaYkif8GYiHatJ+7yHqzzUbwikSjBQcHRz4VRqulENK+csTs8TiGSQpHMyXZUvHkyXcTi5Z9RGpckwE+wEBr0QBqrEsK5dCQbM3qe9jReRR7ueNCrD3dfIpBWbb3qhyjvhd65CY= Subject: Re: promisc/netgraph question ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GkiaXEL88e9nZnXgTOvwh1tMe+jotW4MjmFhhhCq/VayMZBRCwpJ67+lheDU/GPstYHm5o1s4LJYzxaeTv4Vbiu7jezOwZbF9nCaB5wjnBHI++5j941kzY/tci3DYpfbu401Pa4dtLdBd0BQEbgZm1ucxbGsqQr//0Zt1HYZcFlZXw5KbcZfQImthljHbBA9gJGl8OnIgAXCv1WtGZAxReHDs6Uqd11uH0+zGLNHr54MAbA41j7OGX08MffkxB8Dlg/lNtYKNNUcfzGY4gQDQbtr/ZzliD42QMdivjjLF2DNWXb99dpio44BYOYUDA4XZu+Lfo/vcxsYf4gAob0H+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=c2yfxylftyhxuvzR6zV+9emXjFpL1wlBG4PTg1YFvNU=; b=s6JEfuk/NBGky4bh5/aEFk6Baqck4WIKTFHKQvCb7e85jGf3ISVs7zgKJujpfZtAGdl1InZhSK8qWJVCQhQmsxawo1mqblzaTkU5fCO40qR6cO5JhjFQIradg+LrqFTSeZO2bKYfimFJ77P4hXeq3A1KgZgBc22hGwhUpvbOvH7pf8W+sF3Ufz423eeb1Y23uw3vmEIZL/X8UXyQBgfXTpc9a8NjLtoGGF61UvFYh/mMbTABo7iIZ25YETG/4DTWX8E3cC3Iux0dDMb49CirZbODUuVAd7G/jt5WxP8tomsqYaIkc60i2znbJ+KfNN8coFiWVFuS5ZwutokhVZGaSQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=m2-it-solutions.de; dmarc=pass action=none header.from=m2-it-solutions.de; dkim=pass header.d=m2-it-solutions.de; arc=none From: Martin Mayer To: Gleb Smirnoff CC: Zhenlei Huang , "freebsd-net@freebsd.org" Thread-Index: AQHcm6tHFpOCgW/W5kmT6IcqKB1RWLV+uiqw Date: Thu, 12 Feb 2026 08:22:40 +0000 Message-ID: References: <20260130234931.073ec5df@nuclight.lan> In-Reply-To: Accept-Language: de-DE, en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: FR2PPF447E0FD2F:EE_|BEYP281MB5581:EE_ x-ms-office365-filtering-correlation-id: 3fab8369-edd2-450b-feab-08de6a0fe3ad x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|10070799003|366016|38070700021; x-microsoft-antispam-message-info: =?us-ascii?Q?NfiFtNpxNui5GvaqvEyLqUCtNTa+LsrjIHl0lepmqAXu2zDV3oS96feWugvS?= =?us-ascii?Q?TaEz+HYCSu6QVbDMkbT4hii9lJeTjcZ/u8WEXP7TWlx1VE2Oona5K7xAyjPM?= =?us-ascii?Q?HackalB+Hm0SnLtnHyBjMvd97+MHZrTAlbZPV8/rIizB7N1FXRqfPJezzdqo?= =?us-ascii?Q?/t3+vKCJV3SQhZSM6bGsijDS/1RmlZcXQr/YCclaw15uYQ9HjXsVBNf/Sif1?= =?us-ascii?Q?anpMiOGA9LdQU8nYq8/pOQFn947mBktsE26mYzetcfzSm7KNO3hkjsDDeZ2Q?= =?us-ascii?Q?ihv7yM3/W3XB9juVfENnyV7WZMZZbhUe5dPHui8PHzrDjbQMh2dbzg9vo9M/?= =?us-ascii?Q?7H5W2iY1ne89p7K5rxWYZCwAFeecLXcbBvTDAJPV9wRwpGp/3mSspv73QdnE?= =?us-ascii?Q?zrRyuj805UhS0m/JYgpbknw+j1F5a5P3chhlqQvkQwImFioMtlzKpe9kiqP/?= =?us-ascii?Q?fxSvsbG14KtApKdhhhLF/DdaqvF0VSoUn2ehWwiIIjPQjGtHBZGpvhUJ3Sj2?= =?us-ascii?Q?rt3UbDZtELV6ukGUi4LYXb0iaP5DKjNH3IsipNqy1V5Q4UhW4pf/q8mHLsRk?= =?us-ascii?Q?5IteBhZG68hR/tFYsYSE21QcMN1il9+cjMNAewIL7uVDM+bCvM76LOXgKnNT?= =?us-ascii?Q?7fJC0mqVNl0apTwv/QD7n7luTDaUHQ1tJhFs5/M/Qt9MyGKz1cVJWSD1Rmv8?= =?us-ascii?Q?dK1I4iYfqPOxTWHzfSgJjQTVHsdrqVPjP0tBW/7sRRsnjmIMcpFBoVrNlyb6?= =?us-ascii?Q?0duRnP4WAOHE/XqG4tcAVATbZLbtRCEMwYCXjaCjMcVTZdzF/XHz4TX66PHp?= =?us-ascii?Q?zTX0DeBFiytbWy+BpgUBGCSjXE1L3p9fjg/NuxBxmpYGNQ2k0wJdNzeox56u?= =?us-ascii?Q?Q7eKpgQK59xiEGqIp4p2BUUJoBWVf3MsEfyzHvfGpXj5KY4ArCH33/shYTaE?= =?us-ascii?Q?j8yi5fogYUIcHPRqsW1CyDaaOr6DRIT06jJHKsRARedvmGMQjCw5aYxJViWY?= =?us-ascii?Q?8nWCSvYA6aK7cT6Gz5M4JTvpSuVTfkFqTreL3PSdIg5LDpVKIZbNhZtCGcqj?= =?us-ascii?Q?fLWqHj74doKk3RkXGJHxZdPM1TFJX9aB689VPr6dAdMaaJgl2U2HBJnCpc3Y?= =?us-ascii?Q?f5uGl8PQ9zxZmIniNzfHv8VnTROmMn6GWZe/X0ajnPpoP1SVKaydJyENF/Uq?= =?us-ascii?Q?keRRiV/+r/HI3BOu5DINQxis39WhZe7Kdp8gB9XNldeKZW4hrPgT81PdZGGr?= =?us-ascii?Q?7ReSQaxXNR1liS6ElwXnBUbMgDBxKoEX1K8vb+Jy+6TRJD/ngB7iXVVVkY5w?= =?us-ascii?Q?ITt/wkAD1wqY8cB4dLiapZnFm/EwP3s13EfI2INGiqGto9v3MN7nIf7ibUYV?= =?us-ascii?Q?FAyIEcHNq5J6LyRzykcgE7ko1IPnMz+awnZqqpDOi073UsbKxXR3uJj/naO2?= =?us-ascii?Q?52XFBNP2RLcg+1m0DHSI0ynzcFPl6vG/ae3+I1Rs7BRHrPSC4p9BlbvSU4Hj?= =?us-ascii?Q?tW/GH4MgcA4cHePY2m+B9yKiJ8Xi2Ak2sWYFXmFO+jH59AvEV6ntTOKtAiMq?= =?us-ascii?Q?OQdHyDv8ZxQF0h8HO4YDlPFm88XPJZt6aPYXz2chcz94eecgbamtKJEEmzuE?= =?us-ascii?Q?BKPDYtLhR13EIWLf3ESr11E=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:FR2PPF447E0FD2F.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(10070799003)(366016)(38070700021);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 2 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?eHnBTWUHExqam5WD+b8fu8OSiEJwz0nV4MSmRNBI5G4KkpVQiAEXJ7gTZqnC?= =?us-ascii?Q?uNEI/ArIVg1IVB4IbEM1G05mfQYnrdPn2KaToHZE/XduZgwEDUClxmlhCfwt?= =?us-ascii?Q?VzL+GY6wiA9z7UBYPZ2w3m7MoghUtiSjach88ynRQ+HHYRN0hi9yTILXUzzU?= =?us-ascii?Q?hG/FJxfO5Flg3Mj5E4kYChqeR9ub1pIoPpWERzZTuhyugzVooAUmpldqugIa?= =?us-ascii?Q?ZMgB7B90D5p7pxy4wIHk2aAOZhzijQJXi8sQ/IhnB0IvDWRYk63h1cUAO1Ua?= =?us-ascii?Q?AJagzheFY0RsX+5zI4Igl7PhRXSoZpfoJ2RfinVzedm7bpEK99qY3LUbCzzx?= =?us-ascii?Q?jA7vr36apvzyDrBg9llbOAwstyE8tA8vC5lflDgT2ZsRPa9+5RmMNou31rjy?= =?us-ascii?Q?7peOyoGcK7IbXK+xdKRGYBgSOQZMgTJxFLPj3/VqqU4ewmxBNywsKd9rsRmp?= =?us-ascii?Q?b3yexrwTDD2Z9BAAn+PIWfgHOHOP8dkCQJrF+JFsuRgrK0xQsJYyNfU42pe5?= =?us-ascii?Q?gWjwQswELuoWxlJ3tYp2k5VCx/+ncOFFTpvdhdFBj9vzIAvU1PIdlz9sQvwS?= =?us-ascii?Q?yK8QS2fW931MZ86G/Nw4Kumxcp8EWJYo2FOh1QNDuCJJZTb0AuLBhNa7t01m?= =?us-ascii?Q?CxAqiSrsKeWEGswzNqXCVoK3OXAjOaPvV8Hd95hcktKAnuhmuhasf1Kdw0ty?= =?us-ascii?Q?zPlYh2N192Tu6K5nxI0ymSxDbfhQxuo9CR3jrmUUJucpesh/oklnY1yghMux?= =?us-ascii?Q?izygJRdUqsixVWz7844Of8CeCKiO3RyXAVm3dFkmqKI9d6GKL9lVpRxlQGV6?= =?us-ascii?Q?IdE4tRJGsVX7x540YQ/C8u9AZFg6uDx1dV0LrPYotp0AzdS92aRJlbiV96Dp?= =?us-ascii?Q?vJRQsYHumA2YFZGKdPOzI0X+giyDf9vIBuzffuHJglfWIsdbIX28wpEORVBE?= =?us-ascii?Q?Dfaio67iHtMhcrsrVHazPy5QFrrTLbn0QJz27cQkIbjH7Du+7cnteRZj5UOd?= =?us-ascii?Q?5vP8XeZ5IguE5S2z7gaO1H6DqjKvFYczJ3ys0r7VK/oGx20CdD7k+Ko2yOVs?= =?us-ascii?Q?SxFhCW0tBC0A7yFC+7fn+F11h0QzVmNUDRkIv0LoB+eJigHk0gl3jkVAWwKN?= =?us-ascii?Q?PTapw/H3IsAUwh7wx1T2ARLPQZtvUSECNzG4WzSe4wYE8wzBsdQfgEGJnza+?= =?us-ascii?Q?TtF3G4AzMOOi0BXsJ+A3xl/7g2f3Gw33hmT7YqxDlRZ4ZR+y8op7Ua5nKahm?= =?us-ascii?Q?I19iCmS5cOw2YvTLMA5Otylg5VwKWYxA/3XqTPhPHtT7bRFDLauhxkctnFA1?= =?us-ascii?Q?WdyjtRkt7IvcWtUgBHRkO0bt2M5BMrfld2BwLkSd4BXmFz2GduOiNyIiv0GN?= =?us-ascii?Q?mN/GiOepKhUNDpVVRB2m3E0rLGZGXcARCjqJd4MyX0tomtXyC8v/Kg2bXQW0?= =?us-ascii?Q?0q5D8RlX6UKZGSTxuMlpjWvGlat3/QbK04viaxPkd2pDGP/+spLiUHF+Waia?= =?us-ascii?Q?G41JPL5JH0RG6S5a9+lyNe4vOkbphU4hK9tMWKflFNk6QDhdK9s9YP2EYMfk?= =?us-ascii?Q?+8bt2H6+HMVSubJkJf6biGYx8o79MizRsIH5YH7Se9joRHpHAfDJqYsRLf+2?= =?us-ascii?Q?WP4lCkrPZ38J5Ngd7KRKceUES4+I4sg5ycWxxJyjI1RpF8ITLY/PfQ2OZQD2?= =?us-ascii?Q?xW6Eie40uJo3ywXJIYnWa1elGeHQMjJf9NxASTLbV+7RIV6VY3F7GRsVQnd5?= =?us-ascii?Q?Cd99Ska9fUrPbwwUuXYxagIgkFMJEymQdPlaaF+PYielnZP1toVrdgWbipWc?= x-ms-exchange-antispam-messagedata-1: JRx5L+7w3au3UEDYfw3NNkBeSmrXiTjkagI= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable List-Id: Networking and TCP/IP with FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-net List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-net@FreeBSD.org MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: UKVUxuxOk9P8I2O1UEzWhaseQIAVELYGd8iYLTOkcQcWkl1Khkl7dH69Bng0vswJ0R5LULW/140SdPZfUOPv2jTgq06hNwLL/ptxdv7MfT5R8tiboFpwF2X7c/kbeF+pgWSRp3QPxrtOKQuZPDEAh/jHdJd/nwKJRwJ6VZ/6cirvP7v3M6r2S+OYpp3c5Vee92MQfj7w7EA3KRqi5UKX2UY4f40D/HOELRa4EwxPLBPSXmDD0eiwQMU+8i4AeiZ/FM+fyIixYZAxCiIWm3/dQ6hsbKfL7pyhJaYcttOVylxU7F5gjU+VixriFqdvwf2ZKAWfl39cyRhpJg3DzwJ1ZW/OvgyXHS3J0J8woBAbCM2BVf3mOLOD8TvboD4uXC4d/uBAdeYpbSn7/zOarr+eG/6vRYDJeX4qmUSqUyA/7uRw9QmnTs/hIiYGZpsuUVOlT7Lss2FT7tI07BXDJwy1X63IBgDzRO6ag+BMYmVDE0ZLaT/NPC9g419j6bUrVPzCx1SvKxM9YjBSG7XGkMYshIdwu3EoDzhvSqdkoWS8WfjDq9Ahm8mQ6THYUo8sX0agSuOnMKANKc3K2Rn16NupE2+fAo2V8THNbSbHDYLEM2U= X-OriginatorOrg: m2-it-solutions.de X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: FR2PPF447E0FD2F.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 3fab8369-edd2-450b-feab-08de6a0fe3ad X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Feb 2026 08:22:40.9956 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 62df63d0-2fdf-4174-a799-d6eb3262ce92 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6t9O65XCrGAlcqjuq3CGt58nUNHa+6E/ZWuTZqVh22KswyM693OT+aFzqz50Ak1CdeMuyC0aaWYS51QL9L/jxulE/fbWhRWQmC6B/C0I9yE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BEYP281MB5581 X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:3320, ipnet:87.128.0.0/10, country:DE] X-Rspamd-Queue-Id: 4fBSwd1pXRz3qdJ X-Spamd-Bar: ---- Hello Gleb, thanks for the patch. I did a quick check and it does not work as expected. If my understanding is correct (correct me if I'm wrong), the problem is no= t that M_PROMISC needs to be restored in the same routine. The problem seems to be that ether_input_internal() is not executed till th= e end if netgraph (or bridge) claims the frame. All destination address checks are performed at the end of ether_input_inte= rnal() and are skipped if netgraph claims a frame. Because M_PROMISC is always set to 0 before the frame is being passed to ne= tgraph, and netgraph passes the mbuf to ether_demux(), there is never a cha= nce for M_PROMISC to survive in the chain even if destination address check= s were performed and M_PROMISC was set accordingly - it is always unset. As M_PROMISC together with M_PPROMISC are the only indicators for ether_dem= ux() to drop a frame, this never happens. Maybe I understand something wrong...? I think it may be worth thinking about re-ordering the checks or moving the= m to ether_demux(). -------------------------------------------------- I also did a dirty test with the following. Of course this can't be a solut= ion but it adds an (incomplete) check to ether_demux() and mitigates the is= sue. diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 9c157bf3d..4cfddafd6 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -890,6 +890,10 @@ ether_demux(struct ifnet *ifp, struct mbuf *m) return; } + if (!ETHER_IS_MULTICAST(eh->ether_dhost) && + memcmp(IF_LLADDR(ifp), eh->ether_dhost, ETHER_ADDR_LEN) != =3D 0) + m->m_flags |=3D M_PROMISC; + /* * Pass promiscuously received frames to the upper layer if the use= r * requested this by setting IFF_PPROMISC. Otherwise, drop them. -------------------------------------------------- Just for information how I did the network tests: sysctl net.inet.ip.forwarding=3D1 ngctl mkpeer em0: tee lower left && \ ngctl name em0:lower tee1 && \ ngctl connect em0: tee1: upper right ngctl msg em0: setpromisc 1 -------------------------------------------------- Regards, Martin