From nobody Sat Dec 10 21:27:16 2022 X-Original-To: bugs@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 4NV1F04LZ4z4kWSP for ; Sat, 10 Dec 2022 21:27:16 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4NV1F02mv4z412J for ; Sat, 10 Dec 2022 21:27:16 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1670707636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LzDX7xs7eRr1O8kzV0z8EaigSqyyz73gYaPSv65ypU8=; b=MX5FVqqUiYhUn4Y1JR7Q/d8nVJbsyvsmPXACAKnHoMRr2+bdiRNLzK+WhcZl9RTa5Mq1gC lhqGn7uL67LKqPT046/hijoF0BCx60greRpX09XKGgng1xXXLYHx89RSly+k8h/1l1k1k4 7CkM0/TPOT4CY4BpziHII6zf0tt33evtwFPQxUatxsszfVEvaiGhmQ0KrSEkwJBFcnte22 5DxEJIMHsYCyjt8Vgt9hqLpKod8Wzt6LKiZR8PfSvicz7haiZjfSxCrywDlImbdGliMNn9 m4zKO3POtyo3B1eMwGV1qhRpJFM1cjHP3r2wuH+reCwGSEodJ8RWF+DE56N4Dw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1670707636; a=rsa-sha256; cv=none; b=onm6GvbiR3iTWKw3HGOq6Px8XFwOwkMCqT4ClV1HEK7sh+O0SoNKKjy51is1DU2S+T4Igj KQR06Zh2usjNtT8DLYxyLKHvu69sb4PJO1FCUIHgYpTVW0zMxqU18UBH56aBXS4Oc0HKCv DY3F6bPk1qoMKBwFxUBMZN7sh+DUcjUYjLvuarzHJGVoMR88+xcF7PmptHpNmaZ4Mh6U/C 0OQyvwS8rZF7UjJ3iGWMXJ6M4V0f/g71Muu4jlY4Zy5w/N0JI40NWjRxaizA+8QqH562Jf g40x8N5v+i9wU7UlnVl8cWqsXKLo47Ck4b6p7hyXTz9Oo8mHPjM6FTqfo6mAJA== Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4NV1F01pyLzWJB for ; Sat, 10 Dec 2022 21:27:16 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 2BALRGrd073895 for ; Sat, 10 Dec 2022 21:27:16 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 2BALRGTO073894 for bugs@FreeBSD.org; Sat, 10 Dec 2022 21:27:16 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 268305] ether_gen_addr() uses wrong OUI range Date: Sat, 10 Dec 2022 21:27:16 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 13.1-RELEASE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: topical@gmx.net X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated List-Id: Bug reports List-Archive: https://lists.freebsd.org/archives/freebsd-bugs List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-bugs@freebsd.org MIME-Version: 1.0 X-ThisMailContainsUnwantedMimeParts: N https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D268305 Bug ID: 268305 Summary: ether_gen_addr() uses wrong OUI range Product: Base System Version: 13.1-RELEASE Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: topical@gmx.net According to documentation in /usr/include/net/ieee_oui.h ether_gen_addr() should generate OUIs in range 100000..10ffff. In practise, is generates OUI= s in range 000000..00ffff or 100000..10ffff.=20 In if_ethersubr.c you see addr =3D ((digest[0] << 16) | (digest[1] << 8) | digest[2]) & OUI_FREEBSD_GENERATED_MASK; addr =3D OUI_FREEBSD(addr); The first line generates an address in range 000000..00ffff or 100000..10ff= ff=20 It should be=20 addr =3D ((digest[0] << 16) | (digest[1] << 8) | digest[2]) & 0xffff; Probably, we should define a macro for 0xffff The second list uses OUI_FREEBSD which doesn't add 0x100000 to the generated address. It should be=20 addr =3D OUI_FREEBSD(addr | 0x100000); In general, definitions in ieee_oui.h are a bit misleading. Definition of OUI_FREEBSD_GENERATED_MASK is a mixture of an AND-mask 0xffff and the allocation number 0x10.=20 It would be better to separate them, e.g. OUI_FREEBSD_GENERATED_BASE 0x100000 OUI_FREEBSD_GENERATED_MASK 0xffff OUI_FREEBSD_NVME_BASE 0x200000 OUI_FREEBSD_NVME_MASK 0xffff This way, you can cleanly define e.g. range "0x41800...0x41fff" OUI_FREEBSD_FOO_BASE 0x41800 OUI_FREEBSD_FOO_MASK 0x7ff --=20 You are receiving this mail because: You are the assignee for the bug.=