From patchwork Mon Aug 12 20:04:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 13760995 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7F35FC52D7C for ; Mon, 12 Aug 2024 20:08:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=Ea/hepG1riZcgQ3a/aL+ihST+BRCrV+sO+KpTY3LT20=; b=qQ7ikOxSqjg+65RC4BKyhURsBc aBR5QMkDwe9QnSXeKX+xZ0jOM58WbyTIDQ7Dj4BA8UaK7P0T1cbKtNDc3oW4UukRRdEBGEQUucIlt eHYxGLmm9w9sEyw7wcqtcT/93/q/0cQpY4lfK85YT9MARMMnwt3msYD3Dow8qIBQNUV4FghFyjNBQ 53ibFj4fLGBd/G+g5CRT8KFA5paxloOtotpqrT9t4LqMbAz3Lsq8ScyoXfBYwSrFtZgOKqcx2mgkq H9kAMTTPEa0OqeJWTXEQULRHL+Q7k23zMrQjIf0OE7j7r+F92CFYigoW+WFITGADsnBWMxmadowu1 4PtZ0WoQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sdbKm-00000001PcO-0C8C; Mon, 12 Aug 2024 20:08:04 +0000 Received: from out-183.mta0.migadu.com ([91.218.175.183]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sdbHl-00000001Oe2-1KaJ for linux-arm-kernel@lists.infradead.org; Mon, 12 Aug 2024 20:04:58 +0000 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1723493092; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=Ea/hepG1riZcgQ3a/aL+ihST+BRCrV+sO+KpTY3LT20=; b=pikZ2+UhYxs0BNIb309hytaGFYcpGifNsWrv1Y3v2fDMsgJqWR03t1bm+xaOsKB1zyN4oQ LOMQCd7Ubl98NvX20OYHOnBsZ1Tda23S3PnxIH/nUewE8yYev4LK4Nlv3BSlGNQyxG5FbN WXob9jRW96mJzgAHgVykdaP6Tr68CmM= From: Sean Anderson To: Radhey Shyam Pandey , netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Andrew Lunn , Michal Simek , Daniel Borkmann , Paolo Abeni , "David S . Miller" , Eric Dumazet , linux-arm-kernel@lists.infradead.org, Jakub Kicinski , Ariane Keller , Sean Anderson Subject: [PATCH net-next 0/4] net: xilinx: axienet: Multicast fixes and improvements Date: Mon, 12 Aug 2024 16:04:33 -0400 Message-Id: <20240812200437.3581990-1-sean.anderson@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240812_130457_516222_1828698B X-CRM114-Status: UNSURE ( 9.55 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This series has a few small patches improving the handling of multicast addresses. In particular, it makes the driver a whole lot less spammy, and adjusts things so we aren't in promiscuous mode when we have more than four multicast addresses (a common occurance on modern systems). As the hardware has a 4-entry CAM, the ideal method would be to "pack" multiple addresses into one CAM entry. Something like: entry.address = address[0] | address[1]; entry.mask = ~(address[0] ^ address[1]); Which would make the entry match both addresses (along with some others that would need to be filtered in software). Mapping addresses to entries in an efficient way is a bit tricky. If anyone knows of an in-tree example of something like this, I'd be glad to hear about it. Sean Anderson (4): net: xilinx: axienet: Always disable promiscuous mode net: xilinx: axienet: Fix dangling multicast addresses net: xilinx: axienet: Don't print if we go into promiscuous mode net: xilinx: axienet: Support IFF_ALLMULTI drivers/net/ethernet/xilinx/xilinx_axienet.h | 3 ++ .../net/ethernet/xilinx/xilinx_axienet_main.c | 52 +++++++++---------- 2 files changed, 29 insertions(+), 26 deletions(-)