blob: d93bf6f0f1869da4bb1c5a113baddc2497c559ce [file] [log] [blame]
samuel7a5691a2015-05-23 00:36:32 +08001/*
Thomas Vachuska52f2cd12018-11-08 21:20:04 -08002 * Copyright 2018-present Open Networking Foundation
samuel7a5691a2015-05-23 00:36:32 +08003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
Thomas Vachuska52f2cd12018-11-08 21:20:04 -080016package org.onosproject.incubator.net.resource.label.cli;
samuel7a5691a2015-05-23 00:36:32 +080017
Ray Milkeyd84f89b2018-08-17 14:54:17 -070018import org.apache.karaf.shell.api.action.Command;
19import org.apache.karaf.shell.api.action.lifecycle.Service;
samuel7a5691a2015-05-23 00:36:32 +080020import org.onosproject.cli.AbstractShellCommand;
21import org.onosproject.incubator.net.resource.label.LabelResourcePool;
22import org.onosproject.incubator.net.resource.label.LabelResourceService;
23
Ray Milkeyd84f89b2018-08-17 14:54:17 -070024@Service
samuel7a5691a2015-05-23 00:36:32 +080025@Command(scope = "onos", name = "global-label-pool",
26 description = "Gets global label resource pool information.")
27public class GlobalLabelCommand extends AbstractShellCommand {
28 private static final String FMT = "deviceid=%s, beginLabel=%s,"
29 + "endLabel=%s, totalNum=%s, usedNum=%s, currentUsedMaxLabelId=%s,"
30 + "releaseLabelIds=%s";
31
32 @Override
Ray Milkeyd84f89b2018-08-17 14:54:17 -070033 protected void doExecute() {
samuel7a5691a2015-05-23 00:36:32 +080034 LabelResourceService lrs = get(LabelResourceService.class);
35 LabelResourcePool pool = lrs.getGlobalLabelResourcePool();
36 if (pool != null) {
37 print(FMT, pool.deviceId().toString(), pool.beginLabel(),
38 pool.endLabel(), pool.totalNum(), pool.usedNum(),
39 pool.currentUsedMaxLabelId(), pool.releaseLabelId()
40 .toString());
41 }
42 }
43
44}