<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Systemd.service on K-Life Hack | システムアーキテクチャ &amp; DevOps</title><link>https://klifehack.com/tags/systemd.service/</link><description>Recent content in Systemd.service on K-Life Hack | システムアーキテクチャ &amp; DevOps</description><generator>Hugo -- gohugo.io</generator><language>ja</language><lastBuildDate>Sat, 17 Oct 2026 10:09:38 +0900</lastBuildDate><atom:link href="https://klifehack.com/tags/systemd.service/index.xml" rel="self" type="application/rss+xml"/><item><title>LinuxブリッジにおけるLACP・LLDPフレーム透過処理の自動化構成</title><link>https://klifehack.com/p/pnetlab-linux-bridge-lacp-lldp-forwarding/</link><pubDate>Sat, 17 Oct 2026 10:09:38 +0900</pubDate><guid>https://klifehack.com/p/pnetlab-linux-bridge-lacp-lldp-forwarding/</guid><description>&lt;p&gt;PNETLabをはじめとする仮想化ネットワークエミュレーション環境では、仮想ノード間のLayer-2接続を構成するためにLinuxブリッジ（kernel bridge module）が動的に生成・再構築されます。標準のLinuxカーネルブリッジ実装では、IEEE 802.1D規格に準拠する形で、特定のリンクローカル制御フレーム（LACP: IEEE 802.3ad、LLDP: IEEE 802.1ABなど）を受信した場合に転送を行わず、内部で処理または破棄する挙動をとります。&lt;/p&gt;&#10;&lt;p&gt;この挙動により、仮想ルーターやスイッチ間でLink Aggregation（LAG）を構成したり、LLDPによる隣接機器検出を行う際に、対向機器間で制御パケットが到達せずリンクが確立しない問題が発生します。&lt;/p&gt;&#10;&lt;h3 id="sysfs-インターフェースとビットマスク仕様"&gt;sysfs インターフェースとビットマスク仕様&#10;&lt;/h3&gt;&lt;p&gt;Linuxカーネルは、ブリッジポート単位で予約済みマルチキャストMACアドレスの転送許可を制御するため、sysfs配下に &lt;code&gt;group_fwd_mask&lt;/code&gt; インターフェースを提供しています。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;b&gt;設定ファイルパス&lt;/b&gt;: &lt;code&gt;/sys/class/net/&amp;lt;bridge_interface&amp;gt;/brif/&amp;lt;port_interface&amp;gt;/group_fwd_mask&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;各制御プロトコルのビットオフセットおよび制御マスク値は以下の通りです。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;b&gt;LACP (IEEE 802.3ad)&lt;/b&gt;: ビットオフセット 2 $\rightarrow$ &lt;code&gt;0x0004&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;LLDP (IEEE 802.1AB)&lt;/b&gt;: ビットオフセット 14 $\rightarrow$ &lt;code&gt;0x4000&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;合成転送マスク（論理OR）&lt;/b&gt;: &lt;code&gt;0x0004 | 0x4000 = 0x4004&lt;/code&gt; (10進数: &lt;code&gt;16388&lt;/code&gt;)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;PNETLab上ではラボの起動・停止に伴い &lt;code&gt;vnet*&lt;/code&gt; 仮想インターフェースが動的に生成・削除されるため、静的なワンショット設定ではなく、常駐型スクリプトによる状態監視と自動適用が必要となります。&lt;/p&gt;&#10;&lt;h2 id="自動化スクリプトの作成"&gt;自動化スクリプトの作成&#10;&lt;/h2&gt;&lt;p&gt;シェルスクリプトを用いて &lt;code&gt;/sys/class/net/vnet*/brif/*/group_fwd_mask&lt;/code&gt; を定期的にスキャンし、現在のマスク値が &lt;code&gt;0x4004&lt;/code&gt; (16388) を含んでいない場合にのみ書き込みを行います。不必要な I/O 書き込みを削減するため、現在の設定値との差分比較を実施します。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat &amp;amp;gt; /usr/local/sbin/pnetlab-lacp-forward.sh &amp;amp;lt;&amp;amp;lt;&lt;span style="color:#e6db74"&gt;&amp;#39;EOF&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#!/bin/bash&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;MASK&lt;span style="color:#f92672"&gt;=&lt;/span&gt;0x4004&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;while&lt;/span&gt; true; &lt;span style="color:#66d9ef"&gt;do&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; f in /sys/class/net/vnet*/brif/*/group_fwd_mask; &lt;span style="color:#66d9ef"&gt;do&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;[&lt;/span&gt; -f &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$f&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;]&lt;/span&gt; &lt;span style="color:#f92672"&gt;||&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;continue&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; old&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;cat &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$f&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; 2&amp;amp;gt;/dev/null&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt; &lt;span style="color:#f92672"&gt;||&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;continue&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# Validate hexadecimal or standard integer decimal strings&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;[[&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$old&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt;~ ^&lt;span style="color:#f92672"&gt;(&lt;/span&gt;0&lt;span style="color:#f92672"&gt;[&lt;/span&gt;xX&lt;span style="color:#f92672"&gt;][&lt;/span&gt;0-9a-fA-F&lt;span style="color:#f92672"&gt;]&lt;/span&gt;+|&lt;span style="color:#f92672"&gt;[&lt;/span&gt;0-9&lt;span style="color:#f92672"&gt;]&lt;/span&gt;+&lt;span style="color:#f92672"&gt;)&lt;/span&gt;$ &lt;span style="color:#f92672"&gt;]]&lt;/span&gt; &lt;span style="color:#f92672"&gt;||&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;continue&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# Convert to base-10 integer and compute bitwise OR with target mask&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; old_dec&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;$((&lt;/span&gt;old&lt;span style="color:#66d9ef"&gt;))&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; new_dec&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;$((&lt;/span&gt;old_dec &lt;span style="color:#f92672"&gt;|&lt;/span&gt; MASK&lt;span style="color:#66d9ef"&gt;))&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# Apply configuration update only if current state diverges from target&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; &lt;span style="color:#f92672"&gt;((&lt;/span&gt; old_dec !&lt;span style="color:#f92672"&gt;=&lt;/span&gt; new_dec &lt;span style="color:#f92672"&gt;))&lt;/span&gt;; &lt;span style="color:#66d9ef"&gt;then&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; echo &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$new_dec&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; &amp;amp;gt; &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$f&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; 2&amp;amp;gt;/dev/null&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fi&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;done&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sleep &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;done&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;EOF&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;スクリプトの作成後、実行権限を付与します。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chmod +x /usr/local/sbin/pnetlab-lacp-forward.sh&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="systemd-サービスユニット登録"&gt;systemd サービスユニット登録&#10;&lt;/h2&gt;&lt;p&gt;プロセス監視およびシステム起動時の自動開始を担保するため、&lt;code&gt;systemd&lt;/code&gt; ユニットとして定義します。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat &amp;amp;gt; /etc/systemd/system/pnetlab-lacp-forward.service &amp;amp;lt;&amp;amp;lt;&lt;span style="color:#e6db74"&gt;&amp;#39;EOF&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;[&lt;/span&gt;Unit&lt;span style="color:#f92672"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Description&lt;span style="color:#f92672"&gt;=&lt;/span&gt;PNETLab LACP and LLDP Auto Forwarding&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;After&lt;span style="color:#f92672"&gt;=&lt;/span&gt;network.target&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;[&lt;/span&gt;Service&lt;span style="color:#f92672"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;simple&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ExecStart&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/sbin/pnetlab-lacp-forward.sh&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Restart&lt;span style="color:#f92672"&gt;=&lt;/span&gt;always&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;RestartSec&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;[&lt;/span&gt;Install&lt;span style="color:#f92672"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;WantedBy&lt;span style="color:#f92672"&gt;=&lt;/span&gt;multi-user.target&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;EOF&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;サービスユニットの反映と起動処理を実行します。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;systemctl daemon-reload&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;systemctl enable pnetlab-lacp-forward.service&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;systemctl restart pnetlab-lacp-forward.service&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="troubleshooting"&gt;Troubleshooting&#10;&lt;/h2&gt;&lt;p&gt;⚠️ 運用時および構成構築時に発生する主なエラー要因と対策は以下の通りです。&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;b&gt;sysfs への書き込み権限エラー (&lt;code&gt;Permission denied&lt;/code&gt;)&lt;/b&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;b&gt;原因&lt;/b&gt;: サービスが root 権限以外で実行されているか、SELinux / AppArmor などのセキュリティモジュールが &lt;code&gt;/sys&lt;/code&gt; 配下への無制限アクセスを制限している場合に発生します。&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;対策&lt;/b&gt;: &lt;code&gt;systemd&lt;/code&gt; の実行ユーザーが &lt;code&gt;root&lt;/code&gt; であることを確認し、セキュリティプロファイルで sysfs 書き込み権限を許可するか、該当プロセスを非適用対象に設定します。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;ol start="2"&gt;&#10;&lt;li&gt;&lt;b&gt;ノード削除時のファイル非存在エラー (&lt;code&gt;No such file or directory&lt;/code&gt;)&lt;/b&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;b&gt;原因&lt;/b&gt;: ポーリングループの途中で PNETLab 上の仮想インターフェースが破棄された場合、&lt;code&gt;cat&lt;/code&gt; や &lt;code&gt;echo&lt;/code&gt; のパス参照でエラーログが発生します。&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;対策&lt;/b&gt;: スクリプト内の &lt;code&gt;[ -f &amp;quot;$f&amp;quot; ] || continue&lt;/code&gt; による存在確認と、標準エラー出力の &lt;code&gt;/dev/null&lt;/code&gt; へのリダイレクトで例外ログの発生を防止します。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;ol start="3"&gt;&#10;&lt;li&gt;&lt;b&gt;CPUリソース消費の増大&lt;/b&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;b&gt;原因&lt;/b&gt;: ポーリングループに &lt;code&gt;sleep&lt;/code&gt; 待機が挿入されていない場合、CPU使用率が100%に張り付くビジーループが発生します。&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;対策&lt;/b&gt;: スクリプト末尾に &lt;code&gt;sleep 2&lt;/code&gt; 程度の適切なインターバルを設定し、カーネルの I/O 負荷を抑えます。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="verification"&gt;Verification&#10;&lt;/h2&gt;&lt;p&gt;🛠️ サービスの稼働状態および正常動作を確認するためのコマンドと出力結果のプロトコルログ例です。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# systemctl status pnetlab-lacp-forward.service --no-pager&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;● pnetlab-lacp-forward.service - PNETLab LACP and LLDP Auto Forwarding&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Loaded: loaded (/etc/systemd/system/pnetlab-lacp-forward.service; enabled; vendor preset: enabled)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Active: active (running) since Sat 2026-10-17 10:15:32 KST; 5min ago&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Main PID: 12043 (pnetlab-lacp-f)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Tasks: 2 (limit: 9452)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Memory: 1.2M&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; CGroup: /system.slice/pnetlab-lacp-forward.service&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ├─12043 /bin/bash /usr/local/sbin/pnetlab-lacp-forward.sh&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; └─12089 sleep 2&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# cat /sys/class/net/vnet0/brif/vnet0_1/group_fwd_mask&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;16388&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;group_fwd_mask&lt;/code&gt; の値が &lt;code&gt;16388&lt;/code&gt;（16進数: &lt;code&gt;0x4004&lt;/code&gt;）に自動適用されている場合、LACPおよびLLDP制御フレームの透過処理が正常に有効化されています。&lt;/p&gt;&#10;&lt;h2 id="operational-notes"&gt;Operational Notes&#10;&lt;/h2&gt;&lt;p&gt;💡 &lt;b&gt;運用上の留意事項&lt;/b&gt;:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;新たな制御プロトコル（例: EAPOL &lt;code&gt;0x0001&lt;/code&gt; 等）を透過対象に追加する場合は、ビットマスク演算 &lt;code&gt;0x4004 | NEW_MASK&lt;/code&gt; を行い、スクリプト内の &lt;code&gt;MASK&lt;/code&gt; 変数を更新する必要があります。&lt;/li&gt;&#10;&lt;li&gt;大規模なトポロジを運用する場合、ポーリング間隔（&lt;code&gt;sleep&lt;/code&gt; 秒数）を調整することで、I/O 負荷とインターフェース認識の応答速度のトレードオフをチューニングすることが推奨されます。&amp;lt;/port_interface&amp;gt;&amp;lt;/bridge_interface&amp;gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;</description></item></channel></rss>