diff --git a/op-mode-definitions/pppoe-server.xml b/op-mode-definitions/pppoe-server.xml
index 13a4570e8..0293c9502 100644
--- a/op-mode-definitions/pppoe-server.xml
+++ b/op-mode-definitions/pppoe-server.xml
@@ -1,74 +1,104 @@
 <?xml version="1.0"?>
 <interfaceDefinition>
   <node name="show">
     <children>
       <node name="pppoe-server">
         <properties>
           <help>show pppoe-server status</help>
         </properties>
         <children>
           <leafNode name="sessions">
             <properties>
               <help>Show active PPPoE server sessions</help>
             </properties>
             <command>/usr/bin/accel-cmd 'show sessions ifname,username,ip,ip6,ip6-dp,calling-sid,rate-limit,state,uptime,rx-bytes,tx-bytes'</command>
           </leafNode>
           <leafNode name="statistics">
             <properties>
               <help>Show PPPoE server statistics</help>
             </properties>
             <command>/usr/bin/accel-cmd 'show stat'</command>
           </leafNode>
           <leafNode name="interfaces">
             <properties>
               <help>Show interfaces where pppoe-server listens on</help>
             </properties>
             <command>/usr/bin/accel-cmd 'pppoe interface show'</command>
           </leafNode>
         </children>
       </node>
     </children>
   </node>
   <node name="restart">
     <children>
       <leafNode name="pppoe-server">
         <properties>
           <help>Restarts pppoe-server</help>
         </properties>
         <command>if [ -e /var/run/accel_pppoe.pid ]; then /usr/bin/accel-cmd restart -p 2001; else echo "pppoe-server not running"; fi</command> 
       </leafNode>
     </children>
   </node>
   <node name="reset">
     <properties>
       <help>Reset a service</help>
     </properties>
     <children>
       <node name="pppoe-server">
         <properties>
           <help>Reset PPPoE server sessions</help>
         </properties>
         <children>
           <leafNode name="all">
             <properties>
               <help>Terminate all pppoe-server users</help>
             </properties>
             <command>/usr/bin/accel-cmd terminate all</command>
           </leafNode>
           <tagNode name="interface">
             <properties>
               <help>Terminate a ppp interface</help>
             </properties>
             <command>/usr/bin/accel-cmd terminate if "$4"</command>
           </tagNode>
           <tagNode name="username">
             <properties>
               <help>Terminate specified users</help>
             </properties>
             <command>/usr/bin/accel-cmd terminate match username "$4"</command>
           </tagNode>
         </children>
       </node>
     </children>
   </node>
+  <node name="set">
+    <children>
+      <node name="pppoe-server">
+        <properties>
+          <help>Set PPPoE server maintenance mode</help>
+        </properties>
+        <children>
+          <node name="maintenance-mode">
+            <properties>
+              <help>Set PPPoE server maintenance mode</help>
+            </properties>
+            <children>
+              <leafNode name="enable">
+                <properties>
+                  <help>Deny new connections and stop to serve pppoe after disconnect last session</help>
+                </properties>
+                <command>/usr/bin/accel-cmd shutdown soft</command>
+              </leafNode>
+              <leafNode name="cancel">
+                <properties>
+                  <help>Cancel maintenance mode</help>
+                </properties>
+                <command>/usr/bin/accel-cmd shutdown cancel</command>
+              </leafNode>
+            </children>
+          </node>
+        </children>
+      </node>
+    </children>
+  </node>
 </interfaceDefinition>