<?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 | Systems Architecture &amp; DevOps</title><link>https://klifehack.com/en/tags/systemd.service/</link><description>Recent content in Systemd.service on K-Life Hack | Systems Architecture &amp; DevOps</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Sat, 17 Oct 2026 10:09:39 +0900</lastBuildDate><atom:link href="https://klifehack.com/en/tags/systemd.service/index.xml" rel="self" type="application/rss+xml"/><item><title>Automated Configuration for LACP and LLDP Frame Pass-Through on Linux Bridges</title><link>https://klifehack.com/en/p/pnetlab-linux-bridge-lacp-lldp-forwarding/</link><pubDate>Sat, 17 Oct 2026 10:09:39 +0900</pubDate><guid>https://klifehack.com/en/p/pnetlab-linux-bridge-lacp-lldp-forwarding/</guid><description>&lt;p&gt;In virtual network emulation environments such as PNETLab, Linux bridges (kernel bridge module) are dynamically generated and reconstructed to configure Layer-2 connectivity between virtual nodes. In compliance with the IEEE 802.1D standard, the default Linux kernel bridge implementation does not forward certain link-local control frames (such as LACP: IEEE 802.3ad, LLDP: IEEE 802.1AB) upon reception, processing them internally or dropping them instead.&lt;/p&gt;&#10;&lt;p&gt;Due to this behavior, when configuring Link Aggregation (LAG) or performing LLDP-based neighbor discovery between virtual routers or switches, control packets fail to reach the peer devices, resulting in an issue where links cannot be established.&lt;/p&gt;&#10;&lt;h3 id="sysfs-interface-and-bitmask-specifications"&gt;sysfs Interface and Bitmask Specifications&#10;&lt;/h3&gt;&lt;p&gt;The Linux kernel provides the &lt;code&gt;group_fwd_mask&lt;/code&gt; interface under sysfs to control forwarding permissions for reserved multicast MAC addresses on a per-bridge-port basis.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;b&gt;Configuration file path&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;The bit offsets and control mask values for each control protocol are as follows:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;b&gt;LACP (IEEE 802.3ad)&lt;/b&gt;: Bit offset 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;: Bit offset 14 $\rightarrow$ &lt;code&gt;0x4000&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;Composite forward mask (logical OR)&lt;/b&gt;: &lt;code&gt;0x0004 | 0x4000 = 0x4004&lt;/code&gt; (Decimal: &lt;code&gt;16388&lt;/code&gt;)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Because &lt;code&gt;vnet*&lt;/code&gt; virtual interfaces are dynamically created and removed as labs are started and stopped in PNETLab, status monitoring and automatic application via a persistent script are required rather than a static one-shot configuration.&lt;/p&gt;&#10;&lt;h2 id="creating-the-automation-script"&gt;Creating the Automation Script&#10;&lt;/h2&gt;&lt;p&gt;Using a shell script, periodically scan &lt;code&gt;/sys/class/net/vnet*/brif/*/group_fwd_mask&lt;/code&gt; and write only when the current mask value does not contain &lt;code&gt;0x4004&lt;/code&gt; (16388). A diff comparison against current configured values is performed to reduce unnecessary I/O writes.&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;After creating the script, grant execution permissions.&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="registering-the-systemd-service-unit"&gt;Registering the systemd Service Unit&#10;&lt;/h2&gt;&lt;p&gt;Define a &lt;code&gt;systemd&lt;/code&gt; unit to ensure process monitoring and automatic start at system boot.&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;Reload and start the service unit.&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;⚠️ Key error causes and countermeasures encountered during operation and configuration setup are as follows:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;b&gt;Permission denied when writing to 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;Cause&lt;/b&gt;: Occurs when the service runs under non-root privileges, or when security modules such as SELinux / AppArmor restrict unrestricted access under &lt;code&gt;/sys&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;Countermeasure&lt;/b&gt;: Verify that the &lt;code&gt;systemd&lt;/code&gt; execution user is &lt;code&gt;root&lt;/code&gt;, and either allow sysfs write permissions in security profiles or exempt the corresponding process.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;ol start="2"&gt;&#10;&lt;li&gt;&lt;b&gt;File not found error during node deletion (&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;Cause&lt;/b&gt;: If a virtual interface on PNETLab is destroyed mid-polling loop, error logs will occur during path references by &lt;code&gt;cat&lt;/code&gt; or &lt;code&gt;echo&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;Countermeasure&lt;/b&gt;: Prevent exception logs by checking existence via &lt;code&gt;[ -f &amp;quot;$f&amp;quot; ] || continue&lt;/code&gt; within the script and redirecting standard error to &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;Increased CPU resource consumption&lt;/b&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;b&gt;Cause&lt;/b&gt;: Occurs when a &lt;code&gt;sleep&lt;/code&gt; delay is not inserted into the polling loop, causing a busy loop where CPU utilization sticks at 100%.&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;Countermeasure&lt;/b&gt;: Set an appropriate interval such as &lt;code&gt;sleep 2&lt;/code&gt; at the end of the script to suppress kernel I/O load.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="verification"&gt;Verification&#10;&lt;/h2&gt;&lt;p&gt;🛠️ Command and output protocol log examples to verify service running status and normal operation.&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;When the &lt;code&gt;group_fwd_mask&lt;/code&gt; value is automatically applied as &lt;code&gt;16388&lt;/code&gt; (hexadecimal: &lt;code&gt;0x4004&lt;/code&gt;), pass-through processing for LACP and LLDP control frames is successfully enabled.&lt;/p&gt;&#10;&lt;h2 id="operational-notes"&gt;Operational Notes&#10;&lt;/h2&gt;&lt;p&gt;💡 &lt;b&gt;Operational Notes&lt;/b&gt;:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;When adding a new control protocol (e.g., EAPOL &lt;code&gt;0x0001&lt;/code&gt;, etc.) as a pass-through target, perform the bitmask operation &lt;code&gt;0x4004 | NEW_MASK&lt;/code&gt; and update the &lt;code&gt;MASK&lt;/code&gt; variable in the script.&lt;/li&gt;&#10;&lt;li&gt;When operating large-scale topologies, tuning the trade-off between I/O load and interface recognition responsiveness by adjusting the polling interval (&lt;code&gt;sleep&lt;/code&gt; seconds) is recommended.&amp;lt;/port_interface&amp;gt;&amp;lt;/bridge_interface&amp;gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;</description></item></channel></rss>