diff --git a/op-mode-definitions/firewall.xml.in b/op-mode-definitions/firewall.xml.in
old mode 100644
new mode 100755
index b6ce5bae2..82e6c8668
--- a/op-mode-definitions/firewall.xml.in
+++ b/op-mode-definitions/firewall.xml.in
@@ -1,549 +1,769 @@
 <?xml version="1.0"?>
 <interfaceDefinition>
   <node name="show">
     <children>
       <node name="firewall">
         <properties>
           <help>Show firewall information</help>
         </properties>
         <children>
           <tagNode name="group">
             <properties>
               <help>Show firewall group</help>
               <completionHelp>
                 <path>firewall group address-group</path>
                 <path>firewall group network-group</path>
                 <path>firewall group port-group</path>
                 <path>firewall group interface-group</path>
                 <path>firewall group ipv6-address-group</path>
                 <path>firewall group ipv6-network-group</path>
               </completionHelp>
             </properties>
             <children>
               <leafNode name="detail">
                 <properties>
                   <help>Show list view of firewall groups</help>
                   <completionHelp>
                     <path>firewall group detail</path>
                   </completionHelp>
                 </properties>
                 <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show_group --name $4 --detail $5</command>
               </leafNode>
             </children>
             <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show_group --name $4</command>
           </tagNode>
           <node name="group">
             <properties>
               <help>Show firewall group</help>
             </properties>
             <children>
               <leafNode name="detail">
                 <properties>
                   <help>Show list view of firewall group</help>
                   <completionHelp>
                     <path>firewall group detail</path>
                   </completionHelp>
                 </properties>
                 <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show_group --detail $4</command>
               </leafNode>
             </children>
             <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show_group</command>
           </node>
           <node name="bridge">
             <properties>
               <help>Show bridge firewall</help>
             </properties>
             <children>
               <node name="forward">
                 <properties>
                   <help>Show bridge forward firewall ruleset</help>
                 </properties>
                 <children>
                   <node name="filter">
                     <properties>
                       <help>Show bridge forward filter firewall ruleset</help>
                     </properties>
                     <children>
                       <leafNode name="detail">
                         <properties>
                           <help>Show list view of bridge forward filter firewall rules</help>
                           <completionHelp>
                             <path>firewall bridge forward filter detail</path>
                           </completionHelp>
                         </properties>
                         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --detail $6</command>
                       </leafNode>
                       <tagNode name="rule">
                         <properties>
                           <help>Show summary of bridge forward filter firewall rules</help>
                           <completionHelp>
                             <path>firewall bridge forward filter rule</path>
                           </completionHelp>
                         </properties>
                         <children>
                           <leafNode name="detail">
                             <properties>
                               <help>Show list view of specific bridge forward filter firewall rule</help>
                               <completionHelp>
                                 <path>firewall bridge forward filter detail</path>
                               </completionHelp>
                             </properties>
                             <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7 --detail $8</command>
                           </leafNode>
                         </children>
                         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7</command>
                       </tagNode>
                     </children>
                     <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5</command>
                   </node>
                 </children>
               </node>
+              <node name="input">
+                <properties>
+                  <help>Show bridge input firewall ruleset</help>
+                </properties>
+                <children>
+                  <node name="filter">
+                    <properties>
+                      <help>Show bridge input filter firewall ruleset</help>
+                    </properties>
+                    <children>
+                      <leafNode name="detail">
+                        <properties>
+                          <help>Show list view of bridge input filter firewall rules</help>
+                          <completionHelp>
+                            <path>firewall bridge input filter detail</path>
+                          </completionHelp>
+                        </properties>
+                        <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --detail $6</command>
+                      </leafNode>
+                      <tagNode name="rule">
+                        <properties>
+                          <help>Show summary of bridge input filter firewall rules</help>
+                          <completionHelp>
+                            <path>firewall bridge input filter rule</path>
+                          </completionHelp>
+                        </properties>
+                        <children>
+                          <leafNode name="detail">
+                            <properties>
+                              <help>Show list view of specific bridge input filter firewall rule</help>
+                              <completionHelp>
+                                <path>firewall bridge input filter detail</path>
+                              </completionHelp>
+                            </properties>
+                            <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7 --detail $8</command>
+                          </leafNode>
+                        </children>
+                        <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7</command>
+                      </tagNode>
+                    </children>
+                    <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5</command>
+                  </node>
+                </children>
+              </node>
+              <node name="output">
+                <properties>
+                  <help>Show bridge output firewall ruleset</help>
+                </properties>
+                <children>
+                  <node name="filter">
+                    <properties>
+                      <help>Show bridge output filter firewall ruleset</help>
+                    </properties>
+                    <children>
+                      <leafNode name="detail">
+                        <properties>
+                          <help>Show list view of bridge output filter firewall rules</help>
+                          <completionHelp>
+                            <path>firewall bridge output filter detail</path>
+                          </completionHelp>
+                        </properties>
+                        <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --detail $6</command>
+                      </leafNode>
+                      <tagNode name="rule">
+                        <properties>
+                          <help>Show summary of bridge output filter firewall rules</help>
+                          <completionHelp>
+                            <path>firewall bridge output filter rule</path>
+                          </completionHelp>
+                        </properties>
+                        <children>
+                          <leafNode name="detail">
+                            <properties>
+                              <help>Show list view of specific bridge output filter firewall rule</help>
+                              <completionHelp>
+                                <path>firewall bridge output filter detail</path>
+                              </completionHelp>
+                            </properties>
+                            <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7 --detail $8</command>
+                          </leafNode>
+                        </children>
+                        <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7</command>
+                      </tagNode>
+                    </children>
+                    <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5</command>
+                  </node>
+                </children>
+              </node>
+              <node name="prerouting">
+                <properties>
+                  <help>Show bridge prerouting firewall ruleset</help>
+                </properties>
+                <children>
+                  <node name="filter">
+                    <properties>
+                      <help>Show bridge prerouting filter firewall ruleset</help>
+                    </properties>
+                    <children>
+                      <leafNode name="detail">
+                        <properties>
+                          <help>Show list view of bridge prerouting filter firewall rules</help>
+                          <completionHelp>
+                            <path>firewall bridge prerouting filter detail</path>
+                          </completionHelp>
+                        </properties>
+                        <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --detail $6</command>
+                      </leafNode>
+                      <tagNode name="rule">
+                        <properties>
+                          <help>Show summary of bridge prerouting filter firewall rules</help>
+                          <completionHelp>
+                            <path>firewall bridge prerouting filter rule</path>
+                          </completionHelp>
+                        </properties>
+                        <children>
+                          <leafNode name="detail">
+                            <properties>
+                              <help>Show list view of specific bridge prerouting filter firewall rule</help>
+                              <completionHelp>
+                                <path>firewall bridge prerouting filter detail</path>
+                              </completionHelp>
+                            </properties>
+                            <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7 --detail $8</command>
+                          </leafNode>
+                        </children>
+                        <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7</command>
+                      </tagNode>
+                    </children>
+                    <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5</command>
+                  </node>
+                </children>
+              </node>
               <tagNode name="name">
                 <properties>
                   <help>Show bridge custom firewall chains</help>
                   <completionHelp>
                     <path>firewall bridge name</path>
                   </completionHelp>
                 </properties>
                 <children>
                   <leafNode name="detail">
                     <properties>
                       <help>Show list view of bridge custom firewall chains</help>
                       <completionHelp>
                         <path>firewall bridge name detail</path>
                       </completionHelp>
                     </properties>
                     <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --detail $6</command>
                   </leafNode>
                   <tagNode name="rule">
                     <properties>
                       <help>Show summary of bridge custom firewall ruleset</help>
                       <completionHelp>
                         <path>firewall bridge name ${COMP_WORDS[4]} rule</path>
                       </completionHelp>
                     </properties>
                     <children>
                       <leafNode name="detail">
                         <properties>
                           <help>Show list view of bridge custom firewall rules</help>
                           <completionHelp>
                             <path>firewall bridge name ${COMP_WORDS[4]} rule detail</path>
                           </completionHelp>
                         </properties>
                         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7 --detail $8</command>
                       </leafNode>
                     </children>
                     <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7</command>
                   </tagNode>
                 </children>
                 <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5</command>
               </tagNode>
             </children>
             <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show_family --family $3</command>
           </node>
           <node name="ipv6">
             <properties>
               <help>Show IPv6 firewall</help>
             </properties>
             <children>
               <node name="forward">
                 <properties>
                   <help>Show IPv6 forward firewall ruleset</help>
                 </properties>
                 <children>
                   <node name="filter">
                     <properties>
                       <help>Show IPv6 forward filter firewall ruleset</help>
                     </properties>
                     <children>
                       <leafNode name="detail">
                         <properties>
                           <help>Show list view of IPv6 forward filter firewall ruleset</help>
                           <completionHelp>
                             <path>firewall ipv6 forward filter detail</path>
                           </completionHelp>
                         </properties>
                         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --detail $6</command>
                       </leafNode>
                       <tagNode name="rule">
                         <properties>
                           <help>Show summary of IPv6 forward filter firewall rules</help>
                           <completionHelp>
                             <path>firewall ipv6 forward filter rule</path>
                           </completionHelp>
                         </properties>
                         <children>
                           <leafNode name="detail">
                             <properties>
                               <help>Show list view of IPv6 forward filter firewall rules</help>
                               <completionHelp>
                                 <path>firewall ipv6 forward filter rule detail</path>
                               </completionHelp>
                             </properties>
                             <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7 --detail $8</command>
                           </leafNode>
                         </children>
                         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7</command>
                       </tagNode>
                     </children>
                     <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5</command>
                   </node>
                 </children>
               </node>
               <node name="input">
                 <properties>
                   <help>Show IPv6 input firewall ruleset</help>
                 </properties>
                 <children>
                   <node name="filter">
                     <properties>
                       <help>Show IPv6 forward input firewall ruleset</help>
                     </properties>
                     <children>
                       <leafNode name="detail">
                         <properties>
                           <help>Show list view of IPv6 input firewall ruleset</help>
                           <completionHelp>
                             <path>firewall ipv6 input filter detail</path>
                           </completionHelp>
                         </properties>
                         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --detail $6</command>
                       </leafNode>
                       <tagNode name="rule">
                         <properties>
                           <help>Show summary of IPv6 input filter firewall rules</help>
                           <completionHelp>
                             <path>firewall ipv6 input filter rule</path>
                           </completionHelp>
                         </properties>
                         <children>
                           <leafNode name="detail">
                             <properties>
                               <help>Show list view of IPv6 input filter firewall rules</help>
                               <completionHelp>
                                 <path>firewall ipv6 input filter rule detail</path>
                               </completionHelp>
                             </properties>
                             <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7 --detail $8</command>
                           </leafNode>
                         </children>
                         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7</command>
                       </tagNode>
                     </children>
                     <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5</command>
                   </node>
                 </children>
               </node>
               <node name="output">
                 <properties>
                   <help>Show IPv6 output firewall ruleset</help>
                 </properties>
                 <children>
                   <node name="filter">
                     <properties>
                       <help>Show IPv6 output filter firewall ruleset</help>
                     </properties>
                     <children>
                       <leafNode name="detail">
                         <properties>
                           <help>Show list view of IPv6 output input firewall ruleset</help>
                           <completionHelp>
                             <path>firewall ipv6 output filter detail</path>
                           </completionHelp>
                         </properties>
                         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --detail $6</command>
                       </leafNode>
                       <tagNode name="rule">
                         <properties>
                           <help>Show summary of IPv6 output filter firewall rules</help>
                           <completionHelp>
                             <path>firewall ipv6 output filter rule</path>
                           </completionHelp>
                         </properties>
                         <children>
                           <leafNode name="detail">
                             <properties>
                               <help>Show list view of IPv6 output filter firewall rules</help>
                               <completionHelp>
                                 <path>firewall ipv6 output filter rule detail</path>
                               </completionHelp>
                             </properties>
                             <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7 --detail $8</command>
                           </leafNode>
                         </children>
                         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7</command>
                       </tagNode>
                     </children>
                     <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5</command>
                   </node>
                 </children>
               </node>
+              <node name="prerouting">
+                <properties>
+                  <help>Show IPv6 prerouting firewall ruleset</help>
+                </properties>
+                <children>
+                  <node name="raw">
+                    <properties>
+                      <help>Show IPv6 prerouting raw firewall ruleset</help>
+                    </properties>
+                    <children>
+                      <leafNode name="detail">
+                        <properties>
+                          <help>Show list view of IPv6 prerouting raw firewall ruleset</help>
+                          <completionHelp>
+                            <path>firewall ipv6 prerouting raw detail</path>
+                          </completionHelp>
+                        </properties>
+                        <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --detail $6</command>
+                      </leafNode>
+                      <tagNode name="rule">
+                        <properties>
+                          <help>Show summary of IPv6 prerouting raw firewall rules</help>
+                          <completionHelp>
+                            <path>firewall ipv6 prerouting raw rule</path>
+                          </completionHelp>
+                        </properties>
+                        <children>
+                          <leafNode name="detail">
+                            <properties>
+                              <help>Show list view of IPv6 prerouting raw firewall rules</help>
+                              <completionHelp>
+                                <path>firewall ipv6 prerouting raw rule detail</path>
+                              </completionHelp>
+                            </properties>
+                            <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7 --detail $8</command>
+                          </leafNode>
+                        </children>
+                        <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7</command>
+                      </tagNode>
+                    </children>
+                    <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5</command>
+                  </node>
+                </children>
+              </node>
               <tagNode name="name">
                 <properties>
                   <help>Show IPv6 custom firewall chains</help>
                   <completionHelp>
                     <path>firewall ipv6 name</path>
                   </completionHelp>
                 </properties>
                 <children>
                   <leafNode name="detail">
                     <properties>
                       <help>Show list view of IPv6 custom firewall chains</help>
                       <completionHelp>
                         <path>firewall ipv6 name detail</path>
                       </completionHelp>
                     </properties>
                     <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --detail $6</command>
                   </leafNode>
                   <tagNode name="rule">
                     <properties>
                       <help>Show summary of IPv6 custom firewall ruleset</help>
                       <completionHelp>
                         <path>firewall ipv6 name ${COMP_WORDS[4]} rule</path>
                       </completionHelp>
                     </properties>
                     <children>
                       <leafNode name="detail">
                         <properties>
                           <help>Show list view of IPv6 custom firewall rules</help>
                           <completionHelp>
                             <path>firewall ipv6 name ${COMP_WORDS[4]} rule detail</path>
                           </completionHelp>
                         </properties>
                         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7 --detail $8</command>
                       </leafNode>
                     </children>
                     <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7</command>
                   </tagNode>
                 </children>
                 <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5</command>
               </tagNode>
             </children>
             <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show_family --family $3</command>
           </node>
           <node name="ipv4">
             <properties>
               <help>Show IPv4 firewall</help>
             </properties>
             <children>
               <node name="forward">
                 <properties>
                   <help>Show IPv4 forward firewall ruleset</help>
                 </properties>
                 <children>
                   <node name="filter">
                     <properties>
                       <help>Show IPv4 forward filter firewall ruleset</help>
                     </properties>
                     <children>
                       <leafNode name="detail">
                         <properties>
                           <help>Show list view of IPv4 forward filter firewall ruleset</help>
                           <completionHelp>
                             <path>firewall ipv4 forward filter detail</path>
                           </completionHelp>
                         </properties>
                         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --detail $6</command>
                       </leafNode>
                       <tagNode name="rule">
                         <properties>
                           <help>Show summary of IPv4 forward filter firewall rules</help>
                           <completionHelp>
                             <path>firewall ipv4 forward filter rule</path>
                           </completionHelp>
                         </properties>
                         <children>
                           <leafNode name="detail">
                             <properties>
                               <help>Show list view of IPv4 forward filter firewall rules</help>
                               <completionHelp>
                                 <path>firewall ipv4 forward filter rule detail</path>
                               </completionHelp>
                             </properties>
                             <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7 --detail $8</command>
                           </leafNode>
                         </children>
                         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7</command>
                       </tagNode>
                     </children>
                     <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5</command>
                   </node>
                 </children>
               </node>
               <node name="input">
                 <properties>
                   <help>Show IPv4 input firewall ruleset</help>
                 </properties>
                 <children>
                   <node name="filter">
                     <properties>
                       <help>Show IPv4 forward input firewall ruleset</help>
                     </properties>
                     <children>
                       <leafNode name="detail">
                         <properties>
                           <help>Show list view of IPv4 input filter firewall ruleset</help>
                           <completionHelp>
                             <path>firewall ipv4 input filter detail</path>
                           </completionHelp>
                         </properties>
                         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --detail $6</command>
                       </leafNode>
                       <tagNode name="rule">
                         <properties>
                           <help>Show summary of IPv4 input filter firewall rules</help>
                           <completionHelp>
                             <path>firewall ipv4 input filter rule</path>
                           </completionHelp>
                         </properties>
                         <children>
                           <leafNode name="detail">
                             <properties>
                               <help>Show list view of IPv4 input filter firewall rules</help>
                               <completionHelp>
                                 <path>firewall ipv4 input filter rule detail</path>
                               </completionHelp>
                             </properties>
                             <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7 --detail $8</command>
                           </leafNode>
                         </children>
                         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7</command>
                       </tagNode>
                     </children>
                     <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5</command>
                   </node>
                 </children>
               </node>
               <node name="output">
                 <properties>
                   <help>Show IPv4 output firewall ruleset</help>
                 </properties>
                 <children>
                   <node name="filter">
                     <properties>
                       <help>Show IPv4 output filter firewall ruleset</help>
                     </properties>
                     <children>
                       <leafNode name="detail">
                         <properties>
                           <help>Show list view of IPv4 output filter firewall ruleset</help>
                           <completionHelp>
                             <path>firewall ipv4 input output detail</path>
                           </completionHelp>
                         </properties>
                         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --detail $6</command>
                       </leafNode>
                       <tagNode name="rule">
                         <properties>
                           <help>Show summary of IPv4 output filter firewall rules</help>
                           <completionHelp>
                             <path>firewall ipv4 output filter rule</path>
                           </completionHelp>
                         </properties>
                         <children>
                           <leafNode name="detail">
                             <properties>
                               <help>Show list view of IPv4 output filter firewall rules</help>
                               <completionHelp>
                                 <path>firewall ipv4 input output rule detail</path>
                               </completionHelp>
                             </properties>
                             <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7 --detail $8</command>
                           </leafNode>
                         </children>
                         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7</command>
                       </tagNode>
                     </children>
                     <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5</command>
                   </node>
                 </children>
               </node>
+              <node name="prerouting">
+                <properties>
+                  <help>Show IPv4 prerouting firewall ruleset</help>
+                </properties>
+                <children>
+                  <node name="raw">
+                    <properties>
+                      <help>Show IPv4 prerouting raw firewall ruleset</help>
+                    </properties>
+                    <children>
+                      <leafNode name="detail">
+                        <properties>
+                          <help>Show list view of IPv4 prerouting raw firewall ruleset</help>
+                          <completionHelp>
+                            <path>firewall ipv4 prerouting raw detail</path>
+                          </completionHelp>
+                        </properties>
+                        <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --detail $6</command>
+                      </leafNode>
+                      <tagNode name="rule">
+                        <properties>
+                          <help>Show summary of IPv4 prerouting raw firewall rules</help>
+                          <completionHelp>
+                            <path>firewall ipv4 prerouting raw rule</path>
+                          </completionHelp>
+                        </properties>
+                        <children>
+                          <leafNode name="detail">
+                            <properties>
+                              <help>Show list view of IPv4 prerouting raw firewall rules</help>
+                              <completionHelp>
+                                <path>firewall ipv4 prerouting raw rule detail</path>
+                              </completionHelp>
+                            </properties>
+                            <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7 --detail $8</command>
+                          </leafNode>
+                        </children>
+                        <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7</command>
+                      </tagNode>
+                    </children>
+                    <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5</command>
+                  </node>
+                </children>
+              </node>
               <tagNode name="name">
                 <properties>
                   <help>Show IPv4 custom firewall chains</help>
                   <completionHelp>
                     <path>firewall ipv4 name</path>
                   </completionHelp>
                 </properties>
                 <children>
                   <leafNode name="detail">
                     <properties>
                       <help>Show list view of IPv4 custom firewall chains</help>
                       <completionHelp>
                         <path>firewall ipv4 name detail</path>
                       </completionHelp>
                     </properties>
                     <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --detail $6</command>
                   </leafNode>
                   <tagNode name="rule">
                     <properties>
                       <help>Show summary of IPv4 custom firewall ruleset</help>
                       <completionHelp>
                         <path>firewall ipv4 name ${COMP_WORDS[4]} rule</path>
                       </completionHelp>
                     </properties>
                     <children>
                       <leafNode name="detail">
                         <properties>
                           <help>Show list view of IPv4 custom firewall ruleset</help>
                           <completionHelp>
                             <path>firewall ipv4 name ${COMP_WORDS[4]} rule detail</path>
                           </completionHelp>
                         </properties>
                         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7 --detail $8</command>
                       </leafNode>
                     </children>
                     <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5 --rule $7</command>
                   </tagNode>
                 </children>
                 <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show --family $3 --hook $4 --priority $5</command>
               </tagNode>
             </children>
           <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show_family --family $3</command>
           </node>
           <node name="statistics">
             <properties>
               <help>Show statistics of firewall application</help>
             </properties>
             <children>
               <leafNode name="detail">
                 <properties>
                   <help>Show list view of firewall statistics</help>
                   <completionHelp>
                     <path>firewall statistics detail</path>
                   </completionHelp>
                 </properties>
                 <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show_statistics --detail $4</command>
               </leafNode>
             </children>
             <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show_statistics</command>
           </node>
           <leafNode name="summary">
             <properties>
               <help>Show summary of firewall application</help>
             </properties>
             <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show_summary</command>
           </leafNode>
           <node name="zone-policy">
             <properties>
               <help>Show zone policy information</help>
             </properties>
             <children>
               <tagNode name="zone">
                 <properties>
                   <help>Show summary of zone policy for a specific zone</help>
                   <completionHelp>
                     <path>firewall zone</path>
                   </completionHelp>
                 </properties>
                 <command>sudo ${vyos_op_scripts_dir}/zone.py show --zone $5</command>
               </tagNode>
             </children>
             <command>sudo ${vyos_op_scripts_dir}/zone.py show</command>
           </node>
         </children>
         <command>sudo ${vyos_op_scripts_dir}/firewall.py --action show_all</command>
       </node>
     </children>
   </node>
 </interfaceDefinition>
diff --git a/op-mode-definitions/show-log.xml.in b/op-mode-definitions/show-log.xml.in
old mode 100644
new mode 100755
index f0fad63d2..c2504686d
--- a/op-mode-definitions/show-log.xml.in
+++ b/op-mode-definitions/show-log.xml.in
@@ -1,822 +1,947 @@
 <?xml version="1.0"?>
 <interfaceDefinition>
   <node name="show">
     <properties>
       <help>Show system information</help>
     </properties>
     <children>
       <tagNode name="log">
         <properties>
           <help>Show last number of messages in master logging buffer</help>
           <completionHelp>
             <list>&lt;1-9999&gt;</list>
           </completionHelp>
         </properties>
         <command>if ${vyos_validators_dir}/numeric --range 1-9999 "$3"; then journalctl --no-hostname --boot --lines "$3"; fi</command>
       </tagNode>
       <node name="log">
         <properties>
           <help>Show contents of current master logging buffer</help>
         </properties>
         <command>journalctl --no-hostname --boot</command>
         <children>
           <leafNode name="audit">
             <properties>
               <help>Show audit logs</help>
             </properties>
             <command>cat /var/log/audit/audit.log</command>
           </leafNode>
           <leafNode name="all">
             <properties>
               <help>Show contents of all master log files</help>
             </properties>
             <command>sudo bash -c 'eval $(lesspipe); less $_vyatta_less_options --prompt=".logm, file %i of %m., page %dt of %D" -- `printf "%s\n" /var/log/messages* | sort -nr`'</command>
           </leafNode>
           <leafNode name="authorization">
             <properties>
               <help>Show listing of authorization attempts</help>
             </properties>
             <command>journalctl --no-hostname --boot --quiet SYSLOG_FACILITY=10 SYSLOG_FACILITY=4</command>
           </leafNode>
           <leafNode name="certbot">
             <properties>
               <help>Show log for certbot</help>
             </properties>
             <command>if sudo test -f /var/log/letsencrypt/letsencrypt.log; then sudo cat /var/log/letsencrypt/letsencrypt.log; else echo "Cerbot log does not exist"; fi</command>
           </leafNode>
           <leafNode name="cluster">
             <properties>
               <help>Show log for Cluster</help>
             </properties>
             <command>cat $(printf "%s\n" /var/log/messages* | sort -nr) | grep -e heartbeat -e cl_status -e mach_down -e ha_log</command>
           </leafNode>
           <leafNode name="conntrack-sync">
             <properties>
               <help>Show log for Conntrack-sync</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit conntrackd.service</command>
           </leafNode>
           <leafNode name="console-server">
             <properties>
               <help>Show log for console server</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit conserver-server.service</command>
           </leafNode>
           <node name="ids">
             <properties>
               <help>Show log for for Intrusion Detection System</help>
             </properties>
             <children>
               <leafNode name="ddos-protection">
                 <properties>
                   <help>Show log for DDOS protection</help>
                 </properties>
                 <command>journalctl --no-hostname --boot --unit fastnetmon.service</command>
               </leafNode>
             </children>
           </node>
           <node name="dhcp">
             <properties>
               <help>Show log for Dynamic Host Control Protocol (DHCP)</help>
             </properties>
             <children>
               <node name="server">
                 <properties>
                   <help>Show log for DHCP server</help>
                 </properties>
                 <command>journalctl --no-hostname --boot --unit kea-dhcp4-server.service</command>
               </node>
               <node name="client">
                 <properties>
                   <help>Show DHCP client logs</help>
                 </properties>
                 <command>journalctl --no-hostname --boot --unit "dhclient@*.service"</command>
                 <children>
                   <tagNode name="interface">
                     <properties>
                       <help>Show DHCP client log on specific interface</help>
                       <completionHelp>
                         <script>${vyos_completion_dir}/list_interfaces --broadcast</script>
                       </completionHelp>
                     </properties>
                     <command>journalctl --no-hostname --boot --unit "dhclient@$6.service"</command>
                   </tagNode>
                 </children>
               </node>
             </children>
           </node>
           <node name="dhcpv6">
             <properties>
               <help>Show log for Dynamic Host Control Protocol IPv6 (DHCPv6)</help>
             </properties>
             <children>
               <node name="server">
                 <properties>
                   <help>Show log for DHCPv6 server</help>
                 </properties>
                 <command>journalctl --no-hostname --boot --unit kea-dhcp6-server.service</command>
               </node>
               <node name="client">
                 <properties>
                   <help>Show DHCPv6 client logs</help>
                 </properties>
                 <command>journalctl --no-hostname --boot --unit "dhcp6c@*.service"</command>
                 <children>
                   <tagNode name="interface">
                     <properties>
                       <help>Show DHCPv6 client log on specific interface</help>
                       <completionHelp>
                         <script>${vyos_completion_dir}/list_interfaces</script>
                       </completionHelp>
                     </properties>
                     <command>journalctl --no-hostname --boot --unit "dhcp6c@$6.service"</command>
                   </tagNode>
                 </children>
               </node>
             </children>
           </node>
           <node name="firewall">
             <properties>
               <help>Show log for Firewall</help>
             </properties>
             <command>journalctl --no-hostname --boot -k | egrep "(ipv[46]|bri)-(FWD|INP|OUT|NAM)"</command>
             <children>
               <node name="bridge">
                 <properties>
                   <help>Show firewall bridge log</help>
                 </properties>
                 <command>journalctl --no-hostname --boot -k | egrep "bri-(FWD|INP|OUT|NAM)"</command>
                 <children>
                   <node name="forward">
                     <properties>
                       <help>Show Bridge forward firewall log</help>
                     </properties>
                     <command>journalctl --no-hostname --boot -k | grep bri-FWD</command>
                     <children>
                       <node name="filter">
                         <properties>
                           <help>Show Bridge firewall forward filter</help>
                         </properties>
                         <command>journalctl --no-hostname --boot -k | grep bri-FWD-filter</command>
                         <children>
                           <tagNode name="rule">
                             <properties>
                               <help>Show log for a rule in the specified firewall</help>
                               <completionHelp>
                                 <path>firewall bridge forward filter rule</path>
                               </completionHelp>
                             </properties>
                             <command>journalctl --no-hostname --boot -k | egrep "\[bri-FWD-filter-$8-[ADRJC]\]"</command>
                           </tagNode>
                         </children>
                       </node>
                     </children>
                   </node>
+                  <node name="input">
+                    <properties>
+                      <help>Show Bridge input firewall log</help>
+                    </properties>
+                    <command>journalctl --no-hostname --boot -k | grep bri-INP</command>
+                    <children>
+                      <node name="filter">
+                        <properties>
+                          <help>Show Bridge firewall input filter</help>
+                        </properties>
+                        <command>journalctl --no-hostname --boot -k | grep bri-INP-filter</command>
+                        <children>
+                          <tagNode name="rule">
+                            <properties>
+                              <help>Show log for a rule in the specified firewall</help>
+                              <completionHelp>
+                                <path>firewall bridge input filter rule</path>
+                              </completionHelp>
+                            </properties>
+                            <command>journalctl --no-hostname --boot -k | egrep "\[bri-INP-filter-$8-[ADRJC]\]"</command>
+                          </tagNode>
+                        </children>
+                      </node>
+                    </children>
+                  </node>
+                  <node name="output">
+                    <properties>
+                      <help>Show Bridge output firewall log</help>
+                    </properties>
+                    <command>journalctl --no-hostname --boot -k | grep bri-OUT</command>
+                    <children>
+                      <node name="filter">
+                        <properties>
+                          <help>Show Bridge firewall output filter</help>
+                        </properties>
+                        <command>journalctl --no-hostname --boot -k | grep bri-OUT-filter</command>
+                        <children>
+                          <tagNode name="rule">
+                            <properties>
+                              <help>Show log for a rule in the specified firewall</help>
+                              <completionHelp>
+                                <path>firewall bridge output filter rule</path>
+                              </completionHelp>
+                            </properties>
+                            <command>journalctl --no-hostname --boot -k | egrep "\[bri-OUT-filter-$8-[ADRJC]\]"</command>
+                          </tagNode>
+                        </children>
+                      </node>
+                    </children>
+                  </node>
+                  <node name="prerouting">
+                    <properties>
+                      <help>Show Bridge prerouting firewall log</help>
+                    </properties>
+                    <command>journalctl --no-hostname --boot -k | grep bri-PRE</command>
+                    <children>
+                      <node name="filter">
+                        <properties>
+                          <help>Show Bridge firewall prerouting filter</help>
+                        </properties>
+                        <command>journalctl --no-hostname --boot -k | grep bri-PRE-filter</command>
+                        <children>
+                          <tagNode name="rule">
+                            <properties>
+                              <help>Show log for a rule in the specified firewall</help>
+                              <completionHelp>
+                                <path>firewall bridge prerouting filter rule</path>
+                              </completionHelp>
+                            </properties>
+                            <command>journalctl --no-hostname --boot -k | egrep "\[bri-PRE-filter-$8-[ADRJC]\]"</command>
+                          </tagNode>
+                        </children>
+                      </node>
+                    </children>
+                  </node>
                   <tagNode name="name">
                     <properties>
                       <help>Show custom Bridge firewall log</help>
                       <completionHelp>
                         <path>firewall bridge name</path>
                       </completionHelp>
                     </properties>
                     <command>journalctl --no-hostname --boot -k | grep bri-NAM-$6</command>
                     <children>
                       <tagNode name="rule">
                         <properties>
                           <help>Show log for a rule in the specified firewall</help>
                           <completionHelp>
                             <path>firewall bridge name ${COMP_WORDS[5]} rule</path>
                           </completionHelp>
                         </properties>
                         <command>journalctl --no-hostname --boot -k | egrep "\[bri-NAM-$6-$8-[ADRJC]\]"</command>
                       </tagNode>
                     </children>
                   </tagNode>
                 </children>
               </node>
               <node name="ipv4">
                 <properties>
                   <help>Show firewall IPv4 log</help>
                 </properties>
                 <command>journalctl --no-hostname --boot -k | egrep "ipv4-(FWD|INP|OUT|NAM)"</command>
                 <children>
                   <node name="forward">
                     <properties>
                       <help>Show firewall IPv4 forward log</help>
                     </properties>
                     <command>journalctl --no-hostname --boot -k | grep ipv4-FWD</command>
                     <children>
                       <node name="filter">
                         <properties>
                           <help>Show firewall IPv4 forward filter log</help>
                         </properties>
                         <command>journalctl --no-hostname --boot -k | grep ipv4-FWD-filter</command>
                         <children>
                           <tagNode name="rule">
                             <properties>
                               <help>Show log for a rule in the specified firewall</help>
                               <completionHelp>
                                 <path>firewall ipv4 forward filter rule</path>
                               </completionHelp>
                             </properties>
                             <command>journalctl --no-hostname --boot -k | egrep "\[ipv4-FWD-filter-$8-[ADRJCO]\]"</command>
                           </tagNode>
                         </children>
                       </node>
                     </children>
                   </node>
                   <node name="input">
                     <properties>
                       <help>Show firewall IPv4 input log</help>
                     </properties>
                     <command>journalctl --no-hostname --boot -k | grep ipv4-INP</command>
                     <children>
                       <node name="filter">
                         <properties>
                           <help>Show firewall IPv4 input filter log</help>
                         </properties>
                         <command>journalctl --no-hostname --boot -k | grep ipv4-INP-filter</command>
                         <children>
                           <tagNode name="rule">
                             <properties>
                               <help>Show log for a rule in the specified firewall</help>
                               <completionHelp>
                                 <path>firewall ipv4 input filter rule</path>
                               </completionHelp>
                             </properties>
                             <command>journalctl --no-hostname --boot -k | egrep "\[ipv4-INP-filter-$8-[ADRJC]\]"</command>
                           </tagNode>
                         </children>
                       </node>
                     </children>
                   </node>
                   <tagNode name="name">
                     <properties>
                       <help>Show custom IPv4 firewall log</help>
                       <completionHelp>
                         <path>firewall ipv4 name</path>
                       </completionHelp>
                     </properties>
                     <command>journalctl --no-hostname --boot -k | grep ipv4-NAM-$6</command>
                     <children>
                       <tagNode name="rule">
                         <properties>
                           <help>Show log for a rule in the specified firewall</help>
                           <completionHelp>
                             <path>firewall ipv4 name ${COMP_WORDS[5]} rule</path>
                           </completionHelp>
                         </properties>
                         <command>journalctl --no-hostname --boot -k | egrep "\[ipv4-NAM-$6-$8-[ADRJC]\]"</command>
                       </tagNode>
                     </children>
                   </tagNode>
                   <node name="output">
                     <properties>
                       <help>Show firewall IPv4 output log</help>
                     </properties>
                     <command>journalctl --no-hostname --boot -k | grep ipv4-OUT</command>
                     <children>
                       <node name="filter">
                         <properties>
                           <help>Show firewall IPv4 output filter log</help>
                         </properties>
                         <command>journalctl --no-hostname --boot -k | grep ipv4-OUT-filter</command>
                         <children>
                           <tagNode name="rule">
                             <properties>
                               <help>Show log for a rule in the specified firewall</help>
                               <completionHelp>
                                 <path>firewall ipv4 output filter rule</path>
                               </completionHelp>
                             </properties>
                             <command>journalctl --no-hostname --boot -k | egrep "\[ipv4-OUT-filter-$8-[ADRJC]\]"</command>
                           </tagNode>
                         </children>
                       </node>
                     </children>
                   </node>
+                  <node name="prerouting">
+                    <properties>
+                      <help>Show firewall IPv4 prerouting log</help>
+                    </properties>
+                    <command>journalctl --no-hostname --boot -k | grep ipv4-PRE</command>
+                    <children>
+                      <node name="raw">
+                        <properties>
+                          <help>Show firewall IPv4 prerouting raw log</help>
+                        </properties>
+                        <command>journalctl --no-hostname --boot -k | grep ipv4-PRE-raw</command>
+                        <children>
+                          <tagNode name="rule">
+                            <properties>
+                              <help>Show log for a rule in the specified firewall</help>
+                              <completionHelp>
+                                <path>firewall ipv4 prerouting raw rule</path>
+                              </completionHelp>
+                            </properties>
+                            <command>journalctl --no-hostname --boot -k | egrep "\[ipv4-PRE-raw-$8-[ADRJC]\]"</command>
+                          </tagNode>
+                        </children>
+                      </node>
+                    </children>
+                  </node>
                 </children>
               </node>
               <node name="ipv6">
                 <properties>
                   <help>Show firewall IPv6 log</help>
                 </properties>
                 <command>journalctl --no-hostname --boot -k | egrep "ipv6-(FWD|INP|OUT|NAM)"</command>
                 <children>
                   <node name="forward">
                     <properties>
                       <help>Show firewall IPv6 forward log</help>
                     </properties>
                     <command>journalctl --no-hostname --boot -k | grep ipv6-FWD</command>
                     <children>
                       <node name="filter">
                         <properties>
                           <help>Show firewall IPv6 forward filter log</help>
                         </properties>
                         <command>journalctl --no-hostname --boot -k | grep ipv6-FWD-filter</command>
                         <children>
                           <tagNode name="rule">
                             <properties>
                               <help>Show log for a rule in the specified firewall</help>
                               <completionHelp>
                                 <path>firewall ipv6 forward filter rule</path>
                               </completionHelp>
                             </properties>
                             <command>journalctl --no-hostname --boot -k | egrep "\[ipv6-FWD-filter-$8-[ADRJCO]\]"</command>
                           </tagNode>
                         </children>
                       </node>
                     </children>
                   </node>
                   <node name="input">
                     <properties>
                       <help>Show firewall IPv6 input log</help>
                     </properties>
                     <command>journalctl --no-hostname --boot -k | grep ipv6-INP</command>
                     <children>
                       <node name="filter">
                         <properties>
                           <help>Show firewall IPv6 input filter log</help>
                         </properties>
                         <command>journalctl --no-hostname --boot -k | grep ipv6-INP-filter</command>
                         <children>
                           <tagNode name="rule">
                             <properties>
                               <help>Show log for a rule in the specified firewall</help>
                               <completionHelp>
                                 <path>firewall ipv6 input filter rule</path>
                               </completionHelp>
                             </properties>
                             <command>journalctl --no-hostname --boot -k | egrep "\[ipv6-INP-filter-$8-[ADRJC]\]"</command>
                           </tagNode>
                         </children>
                       </node>
                     </children>
                   </node>
                   <tagNode name="name">
                     <properties>
                       <help>Show custom IPv6 firewall log</help>
                       <completionHelp>
                         <path>firewall ipv6 name</path>
                       </completionHelp>
                     </properties>
                     <command>journalctl --no-hostname --boot -k | grep ipv6-NAM-$6</command>
                     <children>
                       <tagNode name="rule">
                         <properties>
                           <help>Show log for a rule in the specified firewall</help>
                           <completionHelp>
                             <path>firewall ipv6 name ${COMP_WORDS[5]} rule</path>
                           </completionHelp>
                         </properties>
                         <command>journalctl --no-hostname --boot -k | egrep "\[ipv6-NAM-$6-$8-[ADRJC]\]"</command>
                       </tagNode>
                     </children>
                   </tagNode>
                   <node name="output">
                     <properties>
                       <help>Show firewall IPv6 output log</help>
                     </properties>
                     <command>journalctl --no-hostname --boot -k | grep ipv6-OUT</command>
                     <children>
                       <node name="filter">
                         <properties>
                           <help>Show firewall IPv6 output filter log</help>
                         </properties>
                         <command>journalctl --no-hostname --boot -k | grep ipv6-OUT-filter</command>
                         <children>
                           <tagNode name="rule">
                             <properties>
                               <help>Show log for a rule in the specified firewall</help>
                               <completionHelp>
                                 <path>firewall ipv6 output filter rule</path>
                               </completionHelp>
                             </properties>
                             <command>journalctl --no-hostname --boot -k | egrep "\[ipv6-OUT-filter-$8-[ADRJC]\]"</command>
                           </tagNode>
                         </children>
                       </node>
                     </children>
                   </node>
+                  <node name="prerouting">
+                    <properties>
+                      <help>Show firewall IPv6 prerouting log</help>
+                    </properties>
+                    <command>journalctl --no-hostname --boot -k | grep ipv6-PRE</command>
+                    <children>
+                      <node name="raw">
+                        <properties>
+                          <help>Show firewall IPv6 prerouting raw log</help>
+                        </properties>
+                        <command>journalctl --no-hostname --boot -k | grep ipv6-PRE-raw</command>
+                        <children>
+                          <tagNode name="rule">
+                            <properties>
+                              <help>Show log for a rule in the specified firewall</help>
+                              <completionHelp>
+                                <path>firewall ipv6 prerouting raw rule</path>
+                              </completionHelp>
+                            </properties>
+                            <command>journalctl --no-hostname --boot -k | egrep "\[ipv6-PRE-raw-$8-[ADRJC]\]"</command>
+                          </tagNode>
+                        </children>
+                      </node>
+                    </children>
+                  </node>
                 </children>
               </node>
             </children>
           </node>
           <leafNode name="flow-accounting">
             <properties>
               <help>Show log for flow-accounting</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit uacctd.service</command>
           </leafNode>
           <leafNode name="https">
             <properties>
               <help>Show log for HTTPs</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit nginx.service</command>
           </leafNode>
           <tagNode name="image">
             <properties>
               <help>Show contents of master log file for image</help>
               <completionHelp>
                 <script>compgen -f /lib/live/mount/persistence/boot/ | grep -v grub | sed -e s@/lib/live/mount/persistence/boot/@@</script>
               </completionHelp>
             </properties>
             <command>less $_vyatta_less_options --prompt=".log, page %dt of %D" -- /lib/live/mount/persistence/boot/$4/rw/var/log/messages</command>
             <children>
               <leafNode name="all">
                 <properties>
                   <help>Show contents of all master log files for image</help>
                 </properties>
                 <command>eval $(lesspipe); less $_vyatta_less_options --prompt=".log?m, file %i of %m., page %dt of %D" -- `printf "%s\n" /lib/live/mount/persistence/boot/$4/rw/var/log/messages* | sort -nr`</command>
               </leafNode>
               <leafNode name="authorization">
                 <properties>
                   <help>Show listing of authorization attempts for image</help>
                 </properties>
                 <command>less $_vyatta_less_options --prompt=".log, page %dt of %D" -- /lib/live/mount/persistence/boot/$4/rw/var/log/auth.log</command>
               </leafNode>
               <tagNode name="tail">
                 <properties>
                   <help>Show last changes to messages</help>
                   <completionHelp>
                     <list>&lt;NUMBER&gt;</list>
                   </completionHelp>
                 </properties>
                 <command>tail -n "$6" /lib/live/mount/persistence/boot/$4/rw/var/log/messages | ${VYATTA_PAGER:-cat}</command>
               </tagNode>
             </children>
           </tagNode>
           <leafNode name="ipoe-server">
             <properties>
               <help>Show log for IPoE server</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit accel-ppp@ipoe.service</command>
           </leafNode>
           <leafNode name="kernel">
             <properties>
               <help>Show log for Linux Kernel</help>
             </properties>
             <command>journalctl --no-hostname --boot --dmesg</command>
           </leafNode>
           <leafNode name="lldp">
             <properties>
               <help>Show log for Link Layer Discovery Protocol (LLDP)</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit lldpd.service</command>
           </leafNode>
           <node name="nat">
             <properties>
               <help>Show log for Network Address Translation (NAT)</help>
             </properties>
             <children>
               <node name="destination">
                 <properties>
                   <help>Show NAT destination log</help>
                 </properties>
                 <command>journalctl --no-hostname --boot -k | egrep "\[DST-NAT-[0-9]+\]"</command>
                 <children>
                   <tagNode name="rule">
                     <properties>
                       <help>Show NAT destination log for specified rule</help>
                     </properties>
                     <command>journalctl --no-hostname --boot -k | egrep "\[DST-NAT-$6\]"</command>
                   </tagNode>
                 </children>
               </node>
               <node name="source">
                 <properties>
                   <help>Show NAT source log</help>
                 </properties>
                 <command>journalctl --no-hostname --boot -k | egrep "\[SRC-NAT-[0-9]+(-MASQ)?\]"&quot;"</command>
                 <children>
                   <tagNode name="rule">
                     <properties>
                       <help>Show NAT source log for specified rule</help>
                     </properties>
                     <command>journalctl --no-hostname --boot -k | egrep "\[SRC-NAT-$6(-MASQ)?\]"</command>
                   </tagNode>
                 </children>
               </node>
               <node name="static">
                 <properties>
                   <help>Show NAT static log</help>
                 </properties>
                 <command>journalctl --no-hostname --boot -k | egrep "\[STATIC-(SRC|DST)-NAT-[0-9]+\]"</command>
                 <children>
                   <tagNode name="rule">
                     <properties>
                       <help>Show NAT static log for specified rule</help>
                     </properties>
                     <command>journalctl --no-hostname --boot -k | egrep "\[STATIC-(SRC|DST)-NAT-$6\]"</command>
                   </tagNode>
                 </children>
               </node>
             </children>
             <command>journalctl --no-hostname --boot -k | egrep "\[(STATIC-)?(DST|SRC)-NAT-[0-9]+(-MASQ)?\]"</command>
           </node>
           <leafNode name="ndp-proxy">
             <properties>
               <help>Show log for Neighbor Discovery Protocol (NDP) Proxy</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit ndppd.service</command>
           </leafNode>
           <leafNode name="nhrp">
             <properties>
               <help>Show log for Next Hop Resolution Protocol (NHRP)</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit opennhrp.service</command>
           </leafNode>
           <leafNode name="ntp">
             <properties>
               <help>Show log for Network Time Protocol (NTP)</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit chrony.service</command>
           </leafNode>
           <node name="macsec">
             <properties>
               <help>Show log for MACsec</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit "wpa_supplicant-macsec@*.service"</command>
             <children>
               <tagNode name="interface">
                 <properties>
                   <help>Show MACsec log on specific interface</help>
                   <completionHelp>
                     <path>interfaces macsec</path>
                   </completionHelp>
                 </properties>
                 <command>SRC=$(cli-shell-api returnValue interfaces macsec "$5" source-interface); journalctl --no-hostname --boot --unit "wpa_supplicant-macsec@$SRC.service"</command>
               </tagNode>
             </children>
           </node>
           <node name="openvpn">
             <properties>
               <help>Show log for OpenVPN</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit openvpn@*.service</command>
             <children>
               <tagNode name="interface">
                 <properties>
                   <help>Show OpenVPN log on specific interface</help>
                   <completionHelp>
                     <path>interfaces openvpn</path>
                   </completionHelp>
                 </properties>
                 <command>journalctl --no-hostname --boot --unit openvpn@$5.service</command>
               </tagNode>
             </children>
           </node>
           <node name="pppoe">
             <properties>
               <help>Show log for PPPoE interface</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit "ppp@pppoe*.service"</command>
             <children>
               <tagNode name="interface">
                 <properties>
                   <help>Show PPPoE log on specific interface</help>
                   <completionHelp>
                     <path>interfaces pppoe</path>
                   </completionHelp>
                 </properties>
                 <command>journalctl --no-hostname --boot --unit "ppp@$5.service"</command>
               </tagNode>
             </children>
           </node>
           <leafNode name="pppoe-server">
             <properties>
               <help>Show log for PPPoE server</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit accel-ppp@pppoe.service</command>
           </leafNode>
           <node name="protocol">
             <properties>
               <help>Show log for Routing Protocol</help>
             </properties>
             <children>
               <leafNode name="ospf">
                 <properties>
                   <help>Show log for OSPF</help>
                 </properties>
                 <command>journalctl --boot /usr/lib/frr/ospfd</command>
               </leafNode>
               <leafNode name="ospfv3">
                 <properties>
                   <help>Show log for OSPF for IPv6</help>
                 </properties>
                 <command>journalctl --boot /usr/lib/frr/ospf6d</command>
               </leafNode>
               <leafNode name="bgp">
                 <properties>
                   <help>Show log for BGP</help>
                 </properties>
                 <command>journalctl --boot /usr/lib/frr/bgpd</command>
               </leafNode>
               <leafNode name="rip">
                 <properties>
                   <help>Show log for RIP</help>
                 </properties>
                 <command>journalctl --boot /usr/lib/frr/ripd</command>
               </leafNode>
               <leafNode name="ripng">
                 <properties>
                   <help>Show log for RIPng</help>
                 </properties>
                 <command>journalctl --boot /usr/lib/frr/ripngd</command>
               </leafNode>
               <leafNode name="static">
                 <properties>
                   <help>Show log for static route</help>
                 </properties>
                 <command>journalctl --boot /usr/lib/frr/staticd</command>
               </leafNode>
               <leafNode name="multicast">
                 <properties>
                   <help>Show log for Multicast protocol</help>
                 </properties>
                 <command>journalctl --boot /usr/lib/frr/pimd</command>
               </leafNode>
               <leafNode name="isis">
                 <properties>
                   <help>Show log for ISIS</help>
                 </properties>
                 <command>journalctl --boot /usr/lib/frr/isisd</command>
               </leafNode>
               <leafNode name="openfabric">
                 <properties>
                   <help>Show log for OpenFabric</help>
                 </properties>
                 <command>journalctl --boot /usr/lib/frr/fabricd</command>
               </leafNode>
               <leafNode name="nhrp">
                 <properties>
                   <help>Show log for NHRP</help>
                 </properties>
                 <command>journalctl --boot /usr/lib/frr/nhrpd</command>
               </leafNode>
               <leafNode name="bfd">
                 <properties>
                   <help>Show log for BFD</help>
                 </properties>
                 <command>journalctl --boot /usr/lib/frr/bfdd</command>
               </leafNode>
               <leafNode name="mpls">
                 <properties>
                   <help>Show log for MPLS</help>
                 </properties>
                 <command>journalctl --boot /usr/lib/frr/ldpd</command>
               </leafNode>
             </children>
           </node>
           <leafNode name="router-advert">
             <properties>
               <help>Show log for Router Advertisement Daemon (radvd)</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit radvd.service</command>
           </leafNode>
           <leafNode name="snmp">
             <properties>
               <help>Show log for Simple Network Monitoring Protocol (SNMP)</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit snmpd.service</command>
           </leafNode>
           <node name="ssh">
             <properties>
               <help>Show log for Secure Shell (SSH)</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit ssh.service</command>
             <children>
               <node name="dynamic-protection">
                 <properties>
                   <help>Show SSH guard log</help>
                 </properties>
                 <command>journalctl --no-hostname --boot --unit sshguard.service</command>
               </node>
             </children>
           </node>
           <tagNode name="tail">
             <properties>
               <help>Show last n changes to messages</help>
               <completionHelp>
                 <list>&lt;NUMBER&gt;</list>
               </completionHelp>
             </properties>
             <command>tail -n "$4" /var/log/messages | ${VYATTA_PAGER:-cat}</command>
           </tagNode>
           <node name="tail">
             <properties>
               <help>Show last 10 lines of /var/log/messages file</help>
             </properties>
             <command>tail -n 10 /var/log/messages</command>
           </node>
           <leafNode name="vpn">
             <properties>
               <help>Monitor last lines of ALL Virtual Private Network services</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit strongswan.service --unit accel-ppp@*.service --unit ocserv.service</command>
           </leafNode>
           <leafNode name="ipsec">
             <properties>
               <help>Show log for IPsec</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit strongswan.service</command>
           </leafNode>
           <leafNode name="l2tp">
             <properties>
               <help>Show log for L2TP</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit accel-ppp@l2tp.service</command>
           </leafNode>
           <leafNode name="openconnect">
             <properties>
               <help>Show log for OpenConnect</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit ocserv.service</command>
           </leafNode>
           <leafNode name="pptp">
             <properties>
               <help>Show log for PPTP</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit accel-ppp@pptp.service</command>
           </leafNode>
           <leafNode name="sstp">
             <properties>
               <help>Show log for Secure Socket Tunneling Protocol (SSTP) server</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit accel-ppp@sstp.service</command>
           </leafNode>
           <node name="sstpc">
             <properties>
               <help>Show log for Secure Socket Tunneling Protocol (SSTP) client</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit "ppp@sstpc*.service"</command>
             <children>
               <tagNode name="interface">
                 <properties>
                   <help>Show SSTP client log on specific interface</help>
                   <completionHelp>
                     <path>interfaces sstpc</path>
                   </completionHelp>
                 </properties>
                 <command>journalctl --no-hostname --boot --unit "ppp@$5.service"</command>
               </tagNode>
             </children>
           </node>
           <leafNode name="vrrp">
             <properties>
               <help>Show log for Virtual Router Redundancy Protocol (VRRP)</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit keepalived.service</command>
           </leafNode>
           <node name="wireless">
             <properties>
               <help>Show log for Wireless interface</help>
             </properties>
             <children>
               <node name="wpa-supplicant">
                 <properties>
                   <help>Show log for WPA supplicant</help>
                 </properties>
                 <command>if cli-shell-api existsActive interfaces wireless; then journalctl --no-hostname --boot --unit "wpa_supplicant@*.service"; else echo "No wireless interface configured!"; fi</command>
                 <children>
                   <tagNode name="interface">
                     <properties>
                       <help>Show log for specific wireless interface supplicant</help>
                       <completionHelp>
                         <path>interfaces wireless</path>
                       </completionHelp>
                     </properties>
                     <command>if [[ $(cli-shell-api returnActiveValue interfaces wireless $6 type) == "station" ]]; then journalctl --no-hostname --boot --unit "wpa_supplicant@$6.service"; else echo "Wireless interface $6 not configured as station!"; fi</command>
                   </tagNode>
                 </children>
               </node>
               <node name="hostapd">
                 <properties>
                   <help>Show log for host access point daemon</help>
                 </properties>
                 <command>if cli-shell-api existsActive interfaces wireless; then journalctl --no-hostname --boot --unit "hostapd@*.service"; else echo "No wireless interface configured!"; fi</command>
                 <children>
                   <tagNode name="interface">
                     <properties>
                       <help>Show log for specific host access point daemon interface</help>
                       <completionHelp>
                         <path>interfaces wireless</path>
                       </completionHelp>
                     </properties>
                     <command>if [[ $(cli-shell-api returnActiveValue interfaces wireless $6 type) == "access-point" ]]; then journalctl --no-hostname --boot --unit "hostapd@$6.service"; else echo "Wireless interface $6 not configured as access-point!"; fi</command>
                   </tagNode>
                 </children>
               </node>
             </children>
           </node>
           <leafNode name="webproxy">
             <properties>
               <help>Show log for Webproxy</help>
             </properties>
             <command>journalctl --no-hostname --boot --unit squid.service</command>
           </leafNode>
         </children>
       </node>
     </children>
   </node>
 </interfaceDefinition>