**FreeBSD 15 の新しいブリッジ機能**

FreeBSD 15 では、パフォーマンスの向上・設定の簡易化・安定性の強化を実現したスリム化されたブリッジ実装が導入されました。

---

### 主な改善点
- **低レイテンシ** を実現するために最適化されたパケット処理経路。
- ブリッジインターフェース上で直接 VLAN タギングをサポート。
- 帯域幅やキュー制限のチューニング用 `sysctl` 設定が簡素化。
- ブリッジ接続セグメント間で IPv6 フォワーディングを組み込みでサポート。

---

### インストールと設定手順
1. **ブリッジモジュールの読み込み**  
   ```sh
   kldload bridge
   ```
2. **ブリッジインターフェース作成**(例:`bridge0`)  
   ```sh
   ifconfig bridge0 create
   ```
3. **メンバーインターフェースの追加** (`em0`, `em1`, …)  
   ```sh
   ifconfig bridge0 addm em0 addm em1 up
   ```
4. **IP アドレスを割り当てる(管理用に任意)**  
   ```sh
   ifconfig bridge0 inet 192.168.10.1/24
   ```

---

### よくある利用ケース
- L2 仮想化(例:KVM ゲストが同一ネットワークセグメントを共有)
- 複数のアップリンクで冗長構成
- 追加ルーティング不要で VLAN 分割をシンプルに実現

---

### パフォーマンス向上のヒント
- NIC がサポートしている場合は `bridge_hwfilter` を有効化し、ハードウェアアクセラレーテッドフィルタリングを利用。
- トラフィックプロファイルに合わせて `bridge_maxframe` と `bridge_mtu` の `sysctl` 値を調整。
- `netstat -e` や `sockstat -4` でブリッジ統計情報をモニタリング。

---

### トラブルシューティング
- ブリッジ上のインターフェースに IP アドレス競合がないか確認。
- カーネルログ(`dmesg`)で「bridge」に関するエラーを探す。
- `ifconfig bridge0` でメンバー接続と状態を確認。

---

これらの手順を踏むことで、FreeBSD 15 の新ブリッジ機能を活用し、高性能かつ信頼性の高いネットワーク環境を構築できます。

2026/02/23 7:42

**FreeBSD 15 の新しいブリッジ機能** FreeBSD 15 では、パフォーマンスの向上・設定の簡易化・安定性の強化を実現したスリム化されたブリッジ実装が導入されました。 --- ### 主な改善点 - **低レイテンシ** を実現するために最適化されたパケット処理経路。 - ブリッジインターフェース上で直接 VLAN タギングをサポート。 - 帯域幅やキュー制限のチューニング用 `sysctl` 設定が簡素化。 - ブリッジ接続セグメント間で IPv6 フォワーディングを組み込みでサポート。 --- ### インストールと設定手順 1. **ブリッジモジュールの読み込み** ```sh kldload bridge ``` 2. **ブリッジインターフェース作成**(例:`bridge0`) ```sh ifconfig bridge0 create ``` 3. **メンバーインターフェースの追加** (`em0`, `em1`, …) ```sh ifconfig bridge0 addm em0 addm em1 up ``` 4. **IP アドレスを割り当てる(管理用に任意)** ```sh ifconfig bridge0 inet 192.168.10.1/24 ``` --- ### よくある利用ケース - L2 仮想化(例:KVM ゲストが同一ネットワークセグメントを共有) - 複数のアップリンクで冗長構成 - 追加ルーティング不要で VLAN 分割をシンプルに実現 --- ### パフォーマンス向上のヒント - NIC がサポートしている場合は `bridge_hwfilter` を有効化し、ハードウェアアクセラレーテッドフィルタリングを利用。 - トラフィックプロファイルに合わせて `bridge_maxframe` と `bridge_mtu` の `sysctl` 値を調整。 - `netstat -e` や `sockstat -4` でブリッジ統計情報をモニタリング。 --- ### トラブルシューティング - ブリッジ上のインターフェースに IP アドレス競合がないか確認。 - カーネルログ(`dmesg`)で「bridge」に関するエラーを探す。 - `ifconfig bridge0` でメンバー接続と状態を確認。 --- これらの手順を踏むことで、FreeBSD 15 の新ブリッジ機能を活用し、高性能かつ信頼性の高いネットワーク環境を構築できます。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

FreeBSD 15は、従来のVLANごとのブリッジモデルを廃止し、

vlanfilter
フラグで複数のタグ付きまたはタグなし VLAN をホストできる単一の多機能ブリッジに置き換えました。新設計では個別のブリッジが不要になり設定が簡素化されます。sysctl
net.link.bridge.member_ifaddrs
は、ブリッジメンバー上のレイヤー3アドレスをソフト非推奨にし(FreeBSD 16.0‑RELEASEで削除予定)、VLAN フィルタリングが有効でない場合はタグ付きメンバーを追加すると

ifconfig: BRDGSIFVLANSET ix1: Invalid argument (extended error VLAN filtering not enabled)

というエラーになります。

最小構成例:

ifconfig_ix1="up -tso4 -tso6 …"
cloned_interfaces="bridge0"
ifconfig_bridge0="vlanfilter addm ix1 tagged 2,3,128"

VNET ジャイルは

jib
スクリプト(またはカスタム
/scripts/vnetif
)を使い、epair デバイスを作成して正しい VLAN タグでブリッジに接続できます。カーネルは現在 epair 用の安定した MAC 生成 (
net.link.epair.ether_gen_addr
) を提供しているため、jib スクリプトの MAC 安定化ロジックは不要です。例として
/scripts/vnetif
は epair を作成し、IPv6 link‑local を無効にし、ポート名を付け、一方の側をタグなし VLAN 2 としてブリッジへ追加します。

Bhyve VM では手動でタップインタフェース(例:

tap133
)が事前に作成され、ブリッジに追加されます (
ifconfig bridge0 addm tap133 untagged 2
)。VM 設定はこれらのタップを参照しますが、新しいブリッジ/VLAN モデルへのネイティブサポートはありません。FreeBSD 15 の変更後は
network0_mac
フィールドが無効になるため、タップインタフェース作成時に安定した MAC アドレスを設定する必要があります。

総じて、新しいブリッジ+VLAN デザインは従来の VLAN ごとのアプローチよりも設定が簡単になり、カスタムスクリプトへの依存が減少し、ギガビット速度でのパフォーマンスが向上します(10 Gbps でも潜在的にメリットがあります)。残る懸念点としては、ルーター・オン・ア・ストック構成との互換性があります。

本文

FreeBSD 15 では、VLAN をネイティブにサポートし、メンバーインタフェース上のレイヤー 3 アドレスをソフト‑デプリケートする新しいブリッジ実装が導入されました。これによりブリッジは本物のハードウェアスイッチと同様に振る舞います。

net.link.bridge.member_ifaddrs
という sysctl がこの挙動を制御しており、FreeBSD 16.0‑RELEASE で削除されます(ゼロに設定した場合と同じです)。

🚧 「ルーター・オン・ア・スティック」構成との互換性については懸念がありますが、これは将来の課題です。

主なメリット

  • 一つのブリッジで全 VLAN を扱える
  • パケット処理が最適化されており、多数のメンバーインタフェースを持つ旧設計よりも高速
    私のハードウェアではギガビットトラフィックに対しては影響はほとんどありませんが、10 Gb/s のラインレートを目指す場合には顕著になる可能性があります。

従来のブリッジ

旧設計では VLAN ごとに別々のブリッジが必要でした。

  1. 特定 VLAN 用にブリッジを作成
  2. 物理インタフェースから VLAN インタフェースを作成
  3. VLAN インタフェースをブリッジに接続

このようにすると、すべてのブリッジメンバーがその VLAN 上で通信できるようになります。VLAN が増えると管理が煩雑になり、ジャイルが複数 VLAN を跨いで通信する際には特に面倒です。

例:
rc.conf
の一部

# Bhyve と VNET
ifconfig_ix1="up -tso4 -tso6 \
  -vlanhwfilter -vlanmtu -vlanhwtso -vlanhwtag -vlanhwcsum -lro"

vlans_ix1="vlan2 vlan3 vlan128"
create_args_vlan2="vlan 2"
create_args_vlan3="vlan 3"
create_args_vlan128="vlan 128"

cloned_interfaces="bridge0 bridge1 bridge2"

ifconfig_bridge0_name="vlan2bridge"
ifconfig_vlan2bridge="addm vlan2 up"

ifconfig_bridge1_name="vlan3bridge"
ifconfig_vlan3bridge="addm vlan3 up"

ifconfig_bridge2_name="vlan128bridge"
ifconfig_vlan128bridge="addm vlan128 addm"

新しいブリッジ

新実装では、単一のブリッジを使い、各メンバーに対してタグ付き/未タグ付き VLAN を指定できます。

# Bhyve と VNET
ifconfig_ix1="up -tso4 -tso6 \
  -vlanhwfilter -vlanmtu -vlanhwtso -vlanhwtag -vlanhwcsum -lro"

cloned_interfaces="bridge0"
ifconfig_bridge0="vlanfilter addm ix1 tagged 2,3,128"

これだけです。
重要: ブリッジに

vlanfilter
フラグを付けることが必須です。設定しないと

ifconfig: BRDGSIFVLANSET ix1: Invalid argument (extended error VLAN filtering not enabled)

というエラーになります。


VNET ジャイル

旧公式

/usr/share/examples/jails/jib
スクリプトは
epair(4)
デバイスを作成していました。
私はスクリプトを簡素化し、安定した MAC アドレス管理機能を追加しました。

webserver {
    exec.prestart += "jib addm $name vlan2";
    exec.poststop = "jib destroy $name";
    vnet;
    vnet.interface = "e0b_$name";
}

スクリプトはジャイルのホスト ID を使って

ether_gen_addr(9)
で安定した MAC アドレスを生成しますので、追加設定は不要です。

スタブルな
epair
名とブリッジへの接続

#!/bin/sh
# /scripts/vnetif

set -eu

ENAME=$1   # ジャイル名
BRIDGE=$2  # ブリッジ名(例: bridge0)
VLAN=$3    # VLAN 番号

NEW_EPAIR=$(ifconfig -D epair create -vlanhwfilter up)
EPAIR_NUM=${NEW_EPAIR##epair}
EPAIR_NUM=${EPAIR_NUM//[a]/}

# IPv6 link‑local を無効化;レイヤー 3 はブリッジメンバーに許可されない
ifconfig ${NEW_EPAIR} inet6 ifdisabled -auto_linklocal -accept_rtadv no_radr

# epair の両端を名前変更
ifconfig epair${EPAIR_NUM}a name e0a_${ENAME}
ifconfig epair${EPAIR_NUM}b name e0b_${ENAME}

# 正しい VLAN タグでブリッジに追加
ifconfig ${BRIDGE} addm e0a_${ENAME} untagged ${VLAN}

ジャイル設定は次のようになります。

webserver {
    exec.prestart += "/scripts/vnetif $name bridge0 2";
    vnet;
    vnet.interface = "e0b_$name";
}

epair
インタフェースはジャイル停止時に自動で破棄されるので、
exec.poststop
は不要です。


Bhyve VM

Bhyve の

vm-bhyve
ツールは現状、新しいブリッジ+VLAN 機能をサポートしていません。
対策としては、タップインタフェースを事前に作成し
/etc/rc.local
でブリッジへ追加します。

VM 設定例

loader="grub"
cpu="2"
memory="4G"

network0_type="virtio-net"
network0_switch="bridge0"          # 手動で作成したブリッジ
network0_device="tap133"           # 事前に作成したタップインタフェース

disk0_type="nvme"
disk0_name="disk0.img"

uuid="2109c019-9fd0-11f0-9ab1-d05099db8057"
network0_mac="58:9c:fc:0f:74:60"   # 必要ならここで MAC を固定

disk1_type="ahci-cd"
disk1_name="seed.iso"
disk1_dev="file"

/vm-bhyve/.config/system.conf

switch_list="bridge0"
type_bridge0="manual"
bridge_bridge0="bridge0"

/etc/rc.local
(例)

# VM such-and-such 用
ifconfig tap129 create up
ifconfig bridge0 addm tap129 untagged 2

この方法は機能しますが、やや手間がかかります。より良い解決策が出たら更新予定です。


結論

FreeBSD 15 の新ブリッジ+VLAN デザインにより、単一のブリッジで多くの VLAN を簡潔に管理できます。

vlanfilter
フラグを付けることで安定した
epair
管理(VNET ジャイル)や手動タップ設定(Bhyve VM)が可能になり、公式ツールが対応するまで迅速に導入できます。

同じ日のほかのニュース

一覧に戻る →

2026/02/23 4:12

私は「Timeframe」、すなわち私たち家族用の電子ペーパー・ダッシュボードを構築しました。

## Japanese Translation: 著者は長期プロトタイプを **Timeframe** に変え、カレンダー・天気・スマートホームデータを電子ペーパー画面に表示する常時稼働型ファミリーダッシュボードを作り上げました。 初期テストでは、自然光下で読みづらい Magic Mirror LCD と 30 分ごとしか更新されないジャイルブレークされた Kindle e‑ink ディスプレイから始めました。2019 年に著者は Visionect の電子ペーパー パネル(6″、10″、13″、32″)へ切り替え、単一充電で 10 分ごとに更新可能となりました。これらは Raspberry Pi 上の Ruby on Rails と IMGKit を用いて PNG を生成することで制御されました。13″ パネルの価格が 1,000 ドル、さらにデバイスあたり月額 7 ドルの新料金がかかったため、システムは高価になってしまいました。 2021 年末にマシャル火災で著者の家を失い、再建にはより信頼性の高いソリューションが必要だったため、Boox の 25.3″ Mira Pro 電子ペーパー画面(HDMI 経由でリアルタイム更新)と Mac Mini プロトタイプを採用しました。現在のディスプレイには、時計、Sonos 曲情報(node‑sonos‑http‑api を介して取得)、Dark Sky の翌時間降水予報などのリアルタイムデータが表示されます。 バックエンドは Rails/Redis から Home Assistant (HA) に書き換えられました。HA は Google カレンダー、Apple Weather、Sonos などを直接取得し、データベース層を排除します。著者は Home Assistant のテンプレートセンサー(例:食洗機のリマインダー)を追加し、コード再配備なしでアラートをトリガーできるようにしました。これにより電子ペーパー画面上で自動化されたステータスアラートが実現しました。 現在のディスプレイには左上に「ハウスヘルス」インジケーターがあり、ドアの開閉状態・ロック解除状況・洗濯完了など、必要な情報のみを表示して画面を常に確認する手間を省きます。 残っている課題は、保守不要で配備可能な組み込みハードウェアの強化、すべてのデータソースを HA に完全統合すること、および 25″ Boox の約 2,000 ドルというコストと複雑性を削減することです。著者は Timeframe を継続的に開発しつつ、潜在顧客からの関心を得て、Home Assistant アプリとして市場へ投入することを目指しています。同時に日常業務のソフトウェア作業と並行して個人的な情熱プロジェクトとして進めています。

2026/02/23 3:56

「Loopsは、フェデレーテッド(分散型)でオープンソースなTikTokです。」

## Japanese Translation: > Loopsは、現在オープンベータ段階にある企業支配を拒否するオープンソースの分散型短編動画プラットフォームです。分散化されたアーキテクチャにより、ユーザーは単一の企業エコシステムに縛られることなく、独立したサーバ間でコンテンツを共有できます。Fediverseモデルに従い、Loopsはクリエイターとコミュニティに作品とオーディエンスデータの所有権を与えることで力を付与します。このプラットフォームはクリエイターに優しく、広告は一切含まれていません。持続可能性はユーザーによるスポンサーシップから来ており、すべての寄付は開発・インフラストラクチャー・コミュニティイニシアチブへと向けられ、Loopsが独立した状態を保つようにしています。

2026/02/22 21:36

「メディアへの注目はソーシャルネットワークと同じではない」

## Japanese Translation: (欠落要素を補い、不要な推測を除外したもの) --- ## 要約 この記事では、現代のウェブベースのソーシャルネットワークが、真に友人中心の交流から注目度主導型デザインへと逸脱していることを説明し、Mastodon のようなプラットフォームはまだ初期の Web 2.0 の雰囲気を保っていると述べています。 - **初期段階**:ソーシャルネットワークはユーザーが既知の人物をフォローし、リアルタイムで更新情報を受け取ることから始まり、初期 Web 2.0 の楽観主義を反映していました。 - **2012–2016 年の転換**:インフィニットスクロールなどの機能がページ境界を打破し、プラットフォームは「偽」の通知を生成するようになり、ユーザーに関係のない投稿が表示されるようになりました。 - **結果として**:タイムラインは友人よりもむしろランダムな見知らぬ人からのコンテンツで埋め尽くされ、サービスは注目度主導型メディアへと変貌しました。 - **個人的反応**:著者は主要プラットフォームを使用するのをやめ、もはや「社会的」ではなく「個人の注意」に消費されていると感じました。 - **Mastodon の発見**:Mastodon は 2006 年の初期 Twitter に似ており、小規模で自己選択したフォローリストから真に興味深い更新を提供します。タイムラインはユーザーが選んだコンテンツのみを含み、偽通知はなく、落ち着いた予測可能な体験をもたらします。 - **未来への希望**:著者は Mastodon が元のソーシャルネットワークモデルに忠実であり続けることを願っています。 主なメッセージは明確です。主要プラットフォームがエンゲージメントを優先し真実性を犠牲にする一方、Mastodon は友人中心かつ注目度のない環境を保ち続けています。これにより、本物の繋がりを求めるユーザーを惹き付ける可能性がありますが、この記事は業界全体の変化や企業圧力を主張していません。

**FreeBSD 15 の新しいブリッジ機能** FreeBSD 15 では、パフォーマンスの向上・設定の簡易化・安定性の強化を実現したスリム化されたブリッジ実装が導入されました。 --- ### 主な改善点 - **低レイテンシ** を実現するために最適化されたパケット処理経路。 - ブリッジインターフェース上で直接 VLAN タギングをサポート。 - 帯域幅やキュー制限のチューニング用 `sysctl` 設定が簡素化。 - ブリッジ接続セグメント間で IPv6 フォワーディングを組み込みでサポート。 --- ### インストールと設定手順 1. **ブリッジモジュールの読み込み** ```sh kldload bridge ``` 2. **ブリッジインターフェース作成**(例:`bridge0`) ```sh ifconfig bridge0 create ``` 3. **メンバーインターフェースの追加** (`em0`, `em1`, …) ```sh ifconfig bridge0 addm em0 addm em1 up ``` 4. **IP アドレスを割り当てる(管理用に任意)** ```sh ifconfig bridge0 inet 192.168.10.1/24 ``` --- ### よくある利用ケース - L2 仮想化(例:KVM ゲストが同一ネットワークセグメントを共有) - 複数のアップリンクで冗長構成 - 追加ルーティング不要で VLAN 分割をシンプルに実現 --- ### パフォーマンス向上のヒント - NIC がサポートしている場合は `bridge_hwfilter` を有効化し、ハードウェアアクセラレーテッドフィルタリングを利用。 - トラフィックプロファイルに合わせて `bridge_maxframe` と `bridge_mtu` の `sysctl` 値を調整。 - `netstat -e` や `sockstat -4` でブリッジ統計情報をモニタリング。 --- ### トラブルシューティング - ブリッジ上のインターフェースに IP アドレス競合がないか確認。 - カーネルログ(`dmesg`)で「bridge」に関するエラーを探す。 - `ifconfig bridge0` でメンバー接続と状態を確認。 --- これらの手順を踏むことで、FreeBSD 15 の新ブリッジ機能を活用し、高性能かつ信頼性の高いネットワーク環境を構築できます。 | そっか~ニュース