From nobody Mon Jan 15 10:00:59 2024 X-Original-To: xen@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 4TD7246yRCz56WKl for ; Mon, 15 Jan 2024 10:01:00 +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 4TD72431zDz40p9 for ; Mon, 15 Jan 2024 10:01:00 +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=1705312860; 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: in-reply-to:in-reply-to:references:references; bh=NWwlB7g3pYK8koGS2yqLNj67aIyMCwYu8YdGo7Kbg5o=; b=SWkOOqXtqGf46X09REuXWK5NAYmSnV0Rr63+0pUesOfKRgjpNR44Yacp+qc4Ywkw2IbmqW 7iMLR0H2cUHmst33IX0xZVW88+yfMja/DczoXMahgI5SWTMtPluSH3baEsZf9/z+pLt4ok hXnHxNPFTs28Jri7Aenk7f5b8h6gEFDKincXio+9OIlS+Gix89oCiV8Dxpxw8nlXl1Vmg2 QWUPDcfnUsLByXBwkL1mWxaCQXENMBMJ6vUVcsQ+YfZURB6BJilBJyORKXKWnfcpSQNT5v OtbglWQBqRxLEQ806PEZrfNmUDaNXezMSUXKUQUdMKmgUw2UrwtsuJdaUgICCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1705312860; a=rsa-sha256; cv=none; b=C3bJmqPmpu7eHude/9S2OicfvvZXHf09QBSs9t+YHy8tFVakWyOZiOmSq0cSDqIA+1xdWj 47hQmtf1LSqAIphg+UDGAZXOcxfLj826fHwuadsmPbP+0ZL/wz12601seD8UII+1vi81WQ ByJ0WkXIkOhQHzRD05meIClNjPJ8etYosN+aaF8sk7nJu6PXW2zZF3fYpvvkarXrAMRDtP MQL1g08Z6ICB7r01zP2HcCOfPCN7nnjME2qJPjqjeEnmWI2xv6+3dzgnTSKBAYOjAHXqOk yQ07ucU0xhtkpzlNVMB0rRBtZDzDGEce//8h2V/BzlS7lPQH8yDq+c5EPW9EPA== 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 4TD724222Fzs0J for ; Mon, 15 Jan 2024 10:01:00 +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 40FA10Hr031403 for ; Mon, 15 Jan 2024 10:01:00 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 40FA1080031356 for xen@FreeBSD.org; Mon, 15 Jan 2024 10:01:00 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: xen@FreeBSD.org Subject: [Bug 188990] [xen] dhclient(8) does not accept DHCP Offer on FreeBSD 10 as Xen DomU Guest Date: Mon, 15 Jan 2024 10:00:59 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: bin X-Bugzilla-Version: 10.0-RELEASE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: zlei@FreeBSD.org X-Bugzilla-Status: In Progress X-Bugzilla-Resolution: X-Bugzilla-Priority: Normal X-Bugzilla-Assigned-To: xen@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: 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: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-xen List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-xen@freebsd.org X-BeenThere: freebsd-xen@freebsd.org MIME-Version: 1.0 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D188990 Zhenlei Huang changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |zlei@FreeBSD.org --- Comment #25 from Zhenlei Huang --- (In reply to Roger Pau Monn=C3=A9 from comment #24) I spent sometime diagnosing this issue. From the code how kernel process inbound UDP packets and how BPF works, I may conclude this issue is caused = by a combination of 1. Dom0 Virtual NIC does not really calculate the checksum of outbound UDP packets ( if TXCSUM is enabled, which cheat the Dom0 kernel not do soft checksum calculatation ), and only some *flags* are set on the internal presentation of packets, but the packets' on-wire checksum field is not fil= led with correct value. 2. DomU Virtual NIC' RXCSUM does not matter. If the internal presentation = of UDP packets have *flags* then those packets are marked valid. If not then it make no difference between re-calculating in driver and kernel. 3. DomU guest (FreeBSD) kernel will check and drop inbound UDP packets with invalid checksum.=20 4. The BPF was hooked into driver part, it does not care checksums of pack= ets and pass them as is to consumers such as DHCP client. And BPF consumers will have to re-calculate the checksum by themself. 5. Unfortunately BPF consumer (DHCP client) would definitely got wrong checksum and it is not the fault of BPF consumers. So it sound like a design defect of BPF, which does not have a way to pass checksum (offload) information to its consumers. @Roger Pau Monn=C3=A9 I bet disabling DomU Virtual NIC' RXCSUM feature will not help. I think it is more a hack to workaround the problem in BPF consumers' code.= The right approach should be disable Dom0 Virtual NIC's TXCSUM offload feature (large impact), or using firewall rules (on Dom0 side) to calculate and fill UDP checksum of outbound packets from DHCP server application. --=20 You are receiving this mail because: You are the assignee for the bug.=