Re: Missing rump/net/libtun and rump/net/libvlan/

  • From: Antti Kantee <pooka@xxxxxx>
  • To: rumpkernel-users@xxxxxxxxxxxxx
  • Date: Mon, 9 Jan 2017 15:35:23 +0000

On 08/01/17 03:39, Hui Kang wrote:

Hi, Antti,
I tried the following two methods in order to add libtun to rump kernel/src-bsd

  (m1) a full sync of upstream netbsd-src. However, "./build-rr.sh hw"
fails to compile.

That is expected, as I explained in the previous mail.

  (m2) I kind of cherry-pick the libtun component (I created a PR to
track the commit [1]) and be able to make the compilation work. With
this PR, the rump kernel client can use the tun component of a rump
kernel. This is not a real "cherry-pick" because the upstream netbsd
has made some change to the app-src branch of rumpkernel/src-bsd [2].
[2] 
https://github.com/huikang/netbsd-src/commit/60a241be2b08a4c81dda8b9b8ec09d2bbe6fba3f#diff-c871c9f5be0e8b75c6fd3de9ea46fa2a

Can you expand on why changes to the tap driver are relevant?

Could you provide some feedback on how to proceed to make libtun a
part of rumpkernel/src-bsd? Thanks.

So, as the README of rumpkernel/src-netbsd says, pull requests are not accepted. The right way is to change rumpkernel/buildrump.sh/checkout.sh and run checkout.sh to regenerate src-netbsd (see comments in checkout.sh). The procedure is not really pull-request friendly, but if you submit a tested PR of checkout.sh, I will merge it manually and regenerate src-netbsd.

The reasons why the procedure is like this are multiple:
* documents the exact upstream revisions src-netbsd is generated from
* avoids accidentally introducing divergence to upstream sources
* allows consumers to check that no malicious changes were intentionally introduced
* gives consumers the opportunity to use whatever method of fetching the sources they like, instead of limiting them to the github mirror

Other related posts: