blob: 25b13f1ca447206654bd912417a80f298fab96b4 [file] [log] [blame]
Jonathan Hart039d2b12014-10-10 09:33:04 -07001package org.onlab.onos.sdnip;
2
3import static org.slf4j.LoggerFactory.getLogger;
4
5import org.apache.felix.scr.annotations.Activate;
6import org.apache.felix.scr.annotations.Component;
7import org.apache.felix.scr.annotations.Deactivate;
Jonathan Hartdc711bd2014-10-15 11:24:23 -07008import org.apache.felix.scr.annotations.Reference;
9import org.apache.felix.scr.annotations.ReferenceCardinality;
10import org.onlab.onos.net.host.HostService;
11import org.onlab.onos.net.intent.IntentService;
Jonathan Hartbac07a02014-10-13 21:29:54 -070012import org.onlab.onos.sdnip.config.SdnIpConfigReader;
Jonathan Hart039d2b12014-10-10 09:33:04 -070013import org.slf4j.Logger;
14
15/**
16 * Placeholder SDN-IP component.
17 */
18@Component(immediate = true)
19public class SdnIp {
20
21 private final Logger log = getLogger(getClass());
22
Jonathan Hartdc711bd2014-10-15 11:24:23 -070023 @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
24 protected IntentService intentService;
25
26 @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
27 protected HostService hostService;
28
Jonathan Hartbac07a02014-10-13 21:29:54 -070029 private SdnIpConfigReader config;
Jonathan Hartdc711bd2014-10-15 11:24:23 -070030 private PeerConnectivity peerConnectivity;
Jonathan Hartbac07a02014-10-13 21:29:54 -070031
Jonathan Hart039d2b12014-10-10 09:33:04 -070032 @Activate
33 protected void activate() {
34 log.debug("SDN-IP started");
Jonathan Hartbac07a02014-10-13 21:29:54 -070035
36 config = new SdnIpConfigReader();
37 config.init();
Jonathan Hartdc711bd2014-10-15 11:24:23 -070038
39 InterfaceService interfaceService = new HostServiceBasedInterfaceService(hostService);
40
41 peerConnectivity = new PeerConnectivity(config, interfaceService, intentService);
42 peerConnectivity.start();
43
Jonathan Hart039d2b12014-10-10 09:33:04 -070044 }
45
46 @Deactivate
47 protected void deactivate() {
48 log.info("Stopped");
49 }
50}