対象は config device セクションと config interface の option device を導入した OpenWrt 21.02 以降で、21.02 より前の option ifname 形式は出力しません。共有アドレシングモデル全体(802.1Q VLAN を option type 8021q の config device として 表現する機能を含む)に対応します。
IPv6 は static・dhcp・none のみを受け付けます。OpenWrt の dhcpv6 プロトコルは単体で ルーター広告を受け付けるため、この項目には独立したルーター広告専用モードは存在せず、共有モデルの auto 方式は dhcpv6 へ暗黙変換したり無視したりせず明示的に拒否します。
UCI の config interface セクションは proto を1つしか持てないため、セクション構成はファミリーの組み合わせに従います。両方が static の場合は1つの static セクションにまとめ、IPv6 のみ static の場合も static セクションを使います (proto none はインターフェースを未管理にするため ip6addr が適用されません)。それ以外の組み合わせでは、OpenWrt 自身の wan/wan6 の慣習にならい、設定されたファミリーごとに1つずつセクションを生成し、IPv4 セクションが存在する場合の IPv6 セクション名は <名前>6 とします。したがって proto none は出力されません。手動 DNS を指定した場合、option peerdns 0 は「自分自身のピアから DNS を受け取りうるセクション」それぞれに付与するため、DHCPv6 セクションにも個別に出力します。
IPv6 の「設定しない」は IPv6 のセクションや option を出力しないだけで、IPv6 を無効にはしません。出力は dhcpv6 セクションを追加せず、/etc/config/network に既にある同じデバイスを使う IPv6 セクション (wan6 など) や、ipv6 auto (既定値) の PPP プロトコルが作る <名前>_6 などの動的な IPv6 インターフェースを削除・無効化する設定も含みません。それらが動作し続けるかはルーターの既存設定次第で、この出力が保証するものではありません。また、同じ名前のセクションが既にある場合は、出力の適用方法 (そのセクションを置き換えるか追記するか) によって既存の設定が変わることがあります。
OpenWrt の既定では、起動時に /etc/init.d/sysctl が全インターフェースを accept_ra=0 にし、/etc/sysctl.d/10-default.conf が forwarding=1 にする (21.02〜24.10 で確認) ため、カーネル自身はルーター広告を受け付けません。DHCPv6 クライアントを動かすセクションでは、odhcp6c がルーター広告を受信して処理します。sysctl を変更している場合はその値に従い、たとえば accept_ra=2 にすると forwarding=1 でもカーネルがルーター広告を受け付けます。デバイスには、カーネルの sysctl (disable_ipv6、addr_gen_mode) で変更していない限り IPv6 link-local アドレスが付きます。UCI では、netifd のデバイス単位の ipv6 設定 (option ipv6 '0') がデバイスの disable_ipv6 を設定するため、そのデバイスを使う全ての論理インターフェースに影響します。このツールはこれを出力しません。
このツールはルーターに接続しません。生成結果は uci commit network と service network reload で自分自身が適用し、新しいインターフェースは OpenWrt ファイアウォールルールジェネレーターなどでファイアウォールゾーンに配置してください。