cdce(4)なUSB-Ethernetアダプターを使っている時に、ブリッジネットワークが使えなかった話

この記事は、NetBSD Advent Calendar 2024の3日目の記事です。

qemuで使うブリッジネットワークを用意したい

qemuで仮想マシンを使ってみるときには、qemuのユーザーネットワークが手軽ですが、ホスト側からアクセスしようとすると、自由度が低く面倒です。 そうなると、tap(4)とbridge(4)を使って、ホストと同じネットワークに接続したくなります。 私が通常使っているラップトップPCには、内蔵のEthernetデバイスはありません。 そして、過去にcdce(4)でしか認識されず、ure(4)としては認識されないUSB-Ethernetアダプターを使っていたのもあって、 以下のように/boot.cfgに設定しています。 これにより、滑てのure(4)なデバイスがcdce(4)なデバイスとして認識されます。

# cat /boot.cfg
(snip)
userconf=disable ure*
(snip)

ところが、cdce(4)として認識されているUSB-Ethernetデバイスをブリッジネットワークに参加させようとすると、 どうやっても通信ができないようでした。 もしかしたら、私のラップトップPCのxhciのせいかもしれませんが…。

ブリッジネットワークを設定する

The NetBSD guideのConfiguring bridged networking on a NetBSD host に記載のように、以下のようにすれば、ブリッジネットワークを設定できるはずです。 私は、以下のようにcdce(4)で設定してみました。

# ifconfig tap0 create
# ifconfig tap0 descr "NetBSD VM" up
# ifconfig bridge0 create
# ifconfig bridge0 descr "LAN VM bridge" up
# brconfig bridge0 add tap0 add cdce0

これで、qemuの仮想マシンを起動させても、そこで動かしているNetBSDから外のホストと同じネットワークにはアクセスできませんでした。 その時、以下のようにカーネルをエラーを出していました。

cdce0: watchdog timeout
cdce0: usb error on tx: IOERROR
cdce0: watchdog timeout
cdce0: usb error on tx: IOERROR
cdce0: watchdog timeout
cdce0: usb error on tx: IOERROR

とりあえずure(4)として使えばブリッジネットワークは構築できますが、同じ状態の人がいたら、参考になればと思います。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

plgarc/wip/llama.cppでpkgsrcのBLASサポートを探る

この記事は、 NetBSD Advent Calendar 2024 の13日目の記事です。 llama.cppを使ってみる 以前に、 NetBSD/amd64でllama.cppを使ってみる という記事で llama.cpp を使ってみていました。 あれか...