2 * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
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
9 package org.opendaylight.openflowplugin.api.openflow.device;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutput;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.role.service.rev150727.OfpRole;
16 import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
19 * Created by Martin Bobak <mbobak@cisco.com> on 25.2.2015.
21 public interface DeviceState {
24 * @return id of encapsulated node
29 * @return {@link Node} instance identifier
31 KeyedInstanceIdentifier<Node, NodeKey> getNodeInstanceIdentifier();
34 * @return the features of corresponding switch
36 GetFeaturesOutput getFeatures();
39 * @return true if this session is valid
44 * @param valid the valid to set
46 void setValid(boolean valid);
49 * Return node current OF protocol version
56 * Return true if we have relevant meter information
61 boolean isMetersAvailable();
64 * Set information about meter statistics availability.
66 void setMeterAvailable(boolean available);
69 * Return true if we have relevant group information
74 boolean isGroupAvailable();
77 * Set information about group statistics availability.
79 void setGroupAvailable(boolean available);
82 * Method returns true if initial statistics data were collected and written to DS.
86 boolean deviceSynchronized();
89 * Method returns true, if device capabilities provides flow statistics.
93 boolean isFlowStatisticsAvailable();
95 void setFlowStatisticsAvailable(boolean available);
98 * Method returns true, if device capabilities provides table statistics.
102 boolean isTableStatisticsAvailable();
104 void setTableStatisticsAvailable(boolean available);
107 * Method returns true, if device capabilities provides flow statistics.
111 boolean isPortStatisticsAvailable();
113 void setPortStatisticsAvailable(boolean available);
116 * Method returns true, if device capabilities provides queue statistics.
120 boolean isQueueStatisticsAvailable();
122 void setQueueStatisticsAvailable(boolean available);
124 void setDeviceSynchronized(boolean deviceSynchronized);
126 boolean isStatisticsPollingEnabled();
128 void setStatisticsPollingEnabledProp(boolean statPollEnabled);