Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3493069pxk; Mon, 7 Sep 2020 15:05:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyRG5o9bj0PQqM/odvH/hKb3/j3UH6BypzlnIQ7hKFqvYVInyimQfj3fUrx2XyotwsXo0YE X-Received: by 2002:a50:b946:: with SMTP id m64mr24325064ede.92.1599516354037; Mon, 07 Sep 2020 15:05:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599516354; cv=none; d=google.com; s=arc-20160816; b=HE6ZV9aMdeOQ1yfisCa0AqY0NNq6f3/NnmOa4GnIBUzvdRDFMhF8fMyfNSDJ2B6Egy ozuca0hlMMBNM+K4OvjOpPruT2+ihByrcj97xInMYP/H3kuH3Zc8E0U9sNnEoDH62pZV Sjwd3JdSwd6REB+OK+Jye7/hjHPUdmBE9Y6v1XyqPcibJ+IfTCZajchoGEWofAUEqT5V up5Uf5u1gPeKg3bNPa1awfhnR4j7HkZzcsVFrszNKwpUjhhzZ1hQUR2Xh672nqQIYtix f9SupLZQKLTG9rNR7iQu/8N4Dz4tG5yKWCq9FS8VeYcCrkrdRoXamSk3Qe+1N6o9PCiD I0+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=Q02+/9NY7pSuY9wiR+9Qb9y2Y6jEeyrcs5Z2A0X3LB0=; b=YFTCy9Z846+GurXl7sLQcpQVSi24Hg7K3jl8CoWVA/mtL4Px6aOSSn+i97BuG1Hfbj /rhenzZzTyhhlnE3WI8lCUAptYYSBZqQy7aXRfOiugNPW5IVgKELao+gY+YMDahqQcoH 8Lb07Vo3qmakgHBGsZa/L4M9+22MpSPeEXPoy9Y4Ne+gArSMlZfZkJfUi0N5qJ6/pZ5i IyveDb4GogaEsGyFYJAVaerFDmE6oW2MwUsVeYbKotnrL5RjSjI3OcN/dRCIyRGKrGHX YNvbcK+c1XUfsH17cAPN5PuS5lvmwt+dcgOTzv8tHWqq2F9XkPkC40jI1+6ELcvXH+CH ceyA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@alliedtelesis.co.nz header.s=mail181024 header.b=EAwXcvhP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=alliedtelesis.co.nz Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d7si9943247ejc.635.2020.09.07.15.05.32; Mon, 07 Sep 2020 15:05:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@alliedtelesis.co.nz header.s=mail181024 header.b=EAwXcvhP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=alliedtelesis.co.nz Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728252AbgIGWEc (ORCPT + 99 others); Mon, 7 Sep 2020 18:04:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58416 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727103AbgIGWEU (ORCPT ); Mon, 7 Sep 2020 18:04:20 -0400 Received: from gate2.alliedtelesis.co.nz (gate2.alliedtelesis.co.nz [IPv6:2001:df5:b000:5::4]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D9571C061755 for ; Mon, 7 Sep 2020 15:04:19 -0700 (PDT) Received: from mmarshal3.atlnz.lc (mmarshal3.atlnz.lc [10.32.18.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by gate2.alliedtelesis.co.nz (Postfix) with ESMTPS id C8D39806B5; Tue, 8 Sep 2020 10:04:14 +1200 (NZST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alliedtelesis.co.nz; s=mail181024; t=1599516254; bh=Q02+/9NY7pSuY9wiR+9Qb9y2Y6jEeyrcs5Z2A0X3LB0=; h=From:To:Cc:Subject:Date; b=EAwXcvhPjr4/jl3mLpfonY2+A0A1HNwzg/5jDFqjf4UJ62suA4PZDpoaDB1/OcXa7 8U6dWhUkrz7oRO1kOhiwXoT7VnE4x5o3bw3/75Hs4ACIouksjuOgfiAFOyTxH9CylJ 4rZn/HmjPAJYg64x79ETH41datqgfkvXsJq151Xquf/baCCMkJJiSuiV9PhOob/TeT Xu2PO6At1diZkS8xBiw53fNnL7y3q91keuR3Kz+Cesq5rJCVB7lJEQ7XiMM/Bt7dM6 a9P4XBNSJW3khAa8106tAIuAGIM2yoaS39d+5G+TszegsZwYEyprkED7Ym3C0IsiWW z1mEr1cwNm1AA== Received: from smtp (Not Verified[10.32.16.33]) by mmarshal3.atlnz.lc with Trustwave SEG (v7,5,8,10121) id ; Tue, 08 Sep 2020 10:04:14 +1200 Received: from pauld-dl.ws.atlnz.lc (pauld-dl.ws.atlnz.lc [10.33.23.16]) by smtp (Postfix) with ESMTP id C2EEB13EEBA; Tue, 8 Sep 2020 10:04:13 +1200 (NZST) Received: by pauld-dl.ws.atlnz.lc (Postfix, from userid 1684) id 7657A1E3850; Tue, 8 Sep 2020 10:04:14 +1200 (NZST) From: Paul Davey To: "David S. Miller" Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Paul Davey Subject: [PATCH net-next v2 0/3] Allow more than 255 IPv4 multicast interfaces Date: Tue, 8 Sep 2020 10:04:05 +1200 Message-Id: <20200907220408.32385-1-paul.davey@alliedtelesis.co.nz> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable x-atlnz-ls: pat Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently it is not possible to use more than 255 multicast interfaces for IPv4 due to the format of the igmpmsg header which only has 8 bits available for the VIF ID. There is space available in the igmpmsg header to store the full VIF ID in the form of an unused byte following the VIF ID field. There is also enough space for the full VIF ID in the Netlink cache notifications, however the value is currently taken directly from the igmpmsg header and has thus already been truncated. Adding the high byte of the VIF ID into the unused3 byte of igmpmsg allows use of more than 255 IPv4 multicast interfaces. The full VIF ID is also available in the Netlink notification by assembling it from both bytes from the igmpmsg. Additionally this reveals a deficiency in the Netlink cache report notifications, they lack any means for differentiating cache reports relating to different multicast routing tables. This is easily resolved by adding the multicast route table ID to the cache reports. changes in v2: - Added high byte of VIF ID to igmpmsg struct replacing unused3 member. - Assemble VIF ID in Netlink notification from both bytes in igmpmsg header. Paul Davey (3): ipmr: Add route table ID to netlink cache reports ipmr: Add high byte of VIF ID to igmpmsg ipmr: Use full VIF ID in netlink cache reports include/uapi/linux/mroute.h | 5 +++-- net/ipv4/ipmr.c | 14 ++++++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) --=20 2.28.0