Vxlan/Gre co-existence,Alarms,tunnelstate,TR fixes
[vpnservice.git] / itm / itm-impl / src / main / java / org / opendaylight / vpnservice / itm / cli / TepEnableTunnelMonitor.java
1 /*
2  * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.vpnservice.itm.cli;
9
10 import org.apache.karaf.shell.commands.Argument;
11 import org.apache.karaf.shell.commands.Command;
12 import org.apache.karaf.shell.console.OsgiCommandSupport;
13 import org.opendaylight.vpnservice.itm.api.IITMProvider;
14 import org.slf4j.Logger;
15 import org.slf4j.LoggerFactory;
16
17 @Command(scope = "tep", name = "enable-tunnel-monitor", description = "switch ON/OFF supervision of VxLAN tunnels")
18 public class TepEnableTunnelMonitor extends OsgiCommandSupport {
19
20     private static final Logger logger = LoggerFactory.getLogger(TepEnableTunnelMonitor.class);
21
22     @Argument(index = 0, name = "true|false", description = "true|false to enable/disable Tunnel Monitoring", required = true, multiValued = false)
23     private Boolean enableTunnelMonitor;
24
25     private IITMProvider itmProvider;
26
27     public void setItmProvider(IITMProvider itmProvider) {
28         this.itmProvider = itmProvider;
29     }
30
31     @Override
32     protected Object doExecute() {
33         try {
34             logger.debug("Executing Enable Tunnel Monitor command");
35             itmProvider.configureTunnelMonitorEnabled(enableTunnelMonitor);
36         } catch (NullPointerException e) {
37             e.printStackTrace();
38         }
39         return null;
40     }
41 }