blob: 837a0a75919a9395afc30102889d3a7b5760659f [file] [log] [blame]
tomf5c9d922014-10-03 15:22:03 -07001package org.onlab.onos.cli.net;
2
3import org.apache.karaf.shell.commands.Argument;
4import org.apache.karaf.shell.commands.Command;
5import org.onlab.onos.cli.AbstractShellCommand;
6import org.onlab.onos.net.HostId;
7import org.onlab.onos.net.flow.DefaultTrafficSelector;
8import org.onlab.onos.net.flow.DefaultTrafficTreatment;
9import org.onlab.onos.net.flow.TrafficSelector;
10import org.onlab.onos.net.flow.TrafficTreatment;
11import org.onlab.onos.net.intent.HostToHostIntent;
12import org.onlab.onos.net.intent.IntentId;
13import org.onlab.onos.net.intent.IntentService;
14
15/**
16 * Installs host-to-host connectivity intent.
17 */
18@Command(scope = "onos", name = "add-host-intent",
19 description = "Installs host-to-host connectivity intent")
20public class AddHostToHostIntentCommand extends AbstractShellCommand {
21
22 @Argument(index = 0, name = "one", description = "One host ID",
23 required = true, multiValued = false)
24 String one = null;
25
26 @Argument(index = 1, name = "two", description = "Another host ID",
27 required = true, multiValued = false)
28 String two = null;
29
Brian O'Connorf10fcf62014-10-08 15:35:59 -070030 private static long id = 0x7870001;
tomf5c9d922014-10-03 15:22:03 -070031
32 @Override
33 protected void execute() {
34 IntentService service = get(IntentService.class);
35
36 HostId oneId = HostId.hostId(one);
37 HostId twoId = HostId.hostId(two);
38
39 TrafficSelector selector = DefaultTrafficSelector.builder().build();
40 TrafficTreatment treatment = DefaultTrafficTreatment.builder().build();
41
42 HostToHostIntent intent =
43 new HostToHostIntent(new IntentId(id++), oneId, twoId,
44 selector, treatment);
45 service.submit(intent);
46 }
47
48}