Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Apr 2023 16:01:17 +0800
From:      Zhenlei Huang <zlei@FreeBSD.org>
To:        Hans Petter Selasky <hps@selasky.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Is it valid to combine CTLFLAG_TUN with CTLFLAG_VNET ?
Message-ID:  <6B4FF474-6E25-4E8A-8FDE-7E8F01989038@FreeBSD.org>
In-Reply-To: <263045d4-409a-8a2d-87e1-50b1afcb7338@selasky.org>
References:  <94C1B333-9C0F-4874-BBB1-3E72F3DF3F6A@FreeBSD.org> <9dc65578-9312-1139-932f-396bc42e66b2@selasky.org> <ZC28li9kOc5e4rbc@FreeBSD.org> <b2338626-4f3a-d0f8-ce6b-365b8e393fec@selasky.org> <263045d4-409a-8a2d-87e1-50b1afcb7338@selasky.org>

next in thread | previous in thread | raw e-mail | index | archive | help


> On Apr 6, 2023, at 3:56 AM, Hans Petter Selasky <hps@selasky.org> =
wrote:
>=20
> On 4/5/23 21:44, Hans Petter Selasky wrote:
>> On 4/5/23 20:23, Gleb Smirnoff wrote:
>>> What if we remove the CTLFLAG_VNET check from the code you posted =
above?
>>> I don't see anything going wrong, rather going right =F0=9F=98=84
>>>=20
>>> CTLFLAG_VNET will not mask away CTLFLAG_TUN.
>> Hi Gleb,
>> It's possible to bypass that check, but some work needs to be done =
first. Then all jails created, will also start from those sysctl tunable =
values.
>> The problem is, where does the VNET base pointer come from?
>> Especially those static sysctl's. You would need to make some design =
there I guess and look at the SYSINIT() order. When are SYSINIT's filled =
with tunable data's. And when is the default VNET created.
>> Because the data pointer passed to the register sysctl function is =
simply an offset pointer into a malloc'ed structure.
>> --HPS
>=20
> Hi Zhenlei,
>=20
> Feel free to work on this, and add me as a reviewer and complete phase =
two of:
>=20
>> commit 3da1cf1e88f8448bb10c5f778ab56ff65c7a6938
>> Author: Hans Petter Selasky <hselasky@FreeBSD.org>
>> Date:   Fri Jun 27 16:33:43 2014 +0000
>>    Extend the meaning of the CTLFLAG_TUN flag to automatically check =
if
>>    there is an environment variable which shall initialize the SYSCTL
>>    during early boot. This works for all SYSCTL types both statically =
and
>>    dynamically created ones, except for the SYSCTL NODE type and =
SYSCTLs
>>    which belong to VNETs. A new flag, CTLFLAG_NOFETCH, has been added =
to
>=20

I'd like to do some refactoring firstly, so that I can focus on =
CTLFLAG_VNET ;)

> --HPS

Best regards,
Zhenlei




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6B4FF474-6E25-4E8A-8FDE-7E8F01989038>