Manikandan K
Committed by Gerrit Code Review

ONOS-4361 OSPF Provider

Change-Id: I8260940baac93b48862aff390a3d8e276461842d
1 +BUNDLES = [
2 + '//protocols/ospf/api:onos-protocols-ospf-api',
3 + '//protocols/ospf/ctl:onos-protocols-ospf-ctl',
4 + '//protocols/ospf/protocol:onos-protocols-ospf-protocol',
5 + '//providers/ospf/cfg:onos-providers-ospf-cfg',
6 + '//providers/ospf/topology:onos-providers-ospf-topology',
7 +]
8 +
9 +onos_app (
10 + title = 'OSPF Provider',
11 + category = 'Provider',
12 + url = 'http://onosproject.org',
13 + description = 'ONOS OSPF protocol adapters.',
14 + included_bundles = BUNDLES,
15 +)
16 +
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!--
3 + ~ Copyright 2016-present Open Networking Laboratory
4 + ~
5 + ~ Licensed under the Apache License, Version 2.0 (the "License");
6 + ~ you may not use this file except in compliance with the License.
7 + ~ You may obtain a copy of the License at
8 + ~
9 + ~ http://www.apache.org/licenses/LICENSE-2.0
10 + ~
11 + ~ Unless required by applicable law or agreed to in writing, software
12 + ~ distributed under the License is distributed on an "AS IS" BASIS,
13 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 + ~ See the License for the specific language governing permissions and
15 + ~ limitations under the License.
16 + -->
17 +<app name="org.onosproject.ospf" origin="ON.Lab" version="${project.version}"
18 + featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
19 + features="${project.artifactId}">
20 + <description>${project.description}</description>
21 + <artifact>mvn:${project.groupId}/onos-ospf-api/${project.version}</artifact>
22 + <artifact>mvn:${project.groupId}/onos-ospf-ctl/${project.version}</artifact>
23 + <artifact>mvn:${project.groupId}/onos-ospf-provider-topology/${project.version}</artifact>
24 + <artifact>mvn:${project.groupId}/onos-ospf-provider-cfg/${project.version}</artifact>
25 + <artifact>mvn:${project.groupId}/onos-ospf-provider-cli/${project.version}</artifact>
26 +</app>
1 +<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2 +<!--
3 + ~ Copyright 2016-present Open Networking Laboratory
4 + ~
5 + ~ Licensed under the Apache License, Version 2.0 (the "License");
6 + ~ you may not use this file except in compliance with the License.
7 + ~ You may obtain a copy of the License at
8 + ~
9 + ~ http://www.apache.org/licenses/LICENSE-2.0
10 + ~
11 + ~ Unless required by applicable law or agreed to in writing, software
12 + ~ distributed under the License is distributed on an "AS IS" BASIS,
13 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 + ~ See the License for the specific language governing permissions and
15 + ~ limitations under the License.
16 + -->
17 +<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="${project.artifactId}-${project.version}">
18 + <feature name="${project.artifactId}" version="${project.version}"
19 + description="${project.description}">
20 + <feature>onos-api</feature>
21 + <bundle>mvn:${project.groupId}/onos-ospf-api/${project.version}</bundle>
22 + <bundle>mvn:${project.groupId}/onos-ospf-ctl/${project.version}</bundle>
23 + <bundle>mvn:${project.groupId}/onos-ospf-provider-topology/${project.version}</bundle>
24 + <bundle>mvn:${project.groupId}/onos-ospf-provider-cfg/${project.version}</bundle>
25 + <bundle>mvn:${project.groupId}/onos-ospf-provider-cli/${project.version}</bundle>
26 + </feature>
27 +</features>
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!--
3 + ~ Copyright 2016-present Open Networking Laboratory
4 + ~
5 + ~ Licensed under the Apache License, Version 2.0 (the "License");
6 + ~ you may not use this file except in compliance with the License.
7 + ~ You may obtain a copy of the License at
8 + ~
9 + ~ http://www.apache.org/licenses/LICENSE-2.0
10 + ~
11 + ~ Unless required by applicable law or agreed to in writing, software
12 + ~ distributed under the License is distributed on an "AS IS" BASIS,
13 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 + ~ See the License for the specific language governing permissions and
15 + ~ limitations under the License.
16 + -->
17 +<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
18 + xmlns="http://maven.apache.org/POM/4.0.0"
19 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
20 + <modelVersion>4.0.0</modelVersion>
21 +
22 + <parent>
23 + <groupId>org.onosproject</groupId>
24 + <artifactId>onos-ospf-providers</artifactId>
25 + <version>1.6.0-SNAPSHOT</version>
26 + <relativePath>../pom.xml</relativePath>
27 + </parent>
28 +
29 + <artifactId>onos-ospf-app</artifactId>
30 + <packaging>pom</packaging>
31 + <description>OSPF protocol southbound providers</description>
32 +
33 + <dependencies>
34 + <dependency>
35 + <groupId>org.onosproject</groupId>
36 + <artifactId>onos-ospf-api</artifactId>
37 + <version>${project.version}</version>
38 + </dependency>
39 + <dependency>
40 + <groupId>org.onosproject</groupId>
41 + <artifactId>onos-ospf-ctl</artifactId>
42 + <version>${project.version}</version>
43 + </dependency>
44 + <dependency>
45 + <groupId>org.onosproject</groupId>
46 + <artifactId>onos-ospf-provider-topology</artifactId>
47 + <version>${project.version}</version>
48 + </dependency>
49 +
50 + <dependency>
51 + <groupId>org.onosproject</groupId>
52 + <artifactId>onos-ospf-provider-cfg</artifactId>
53 + <version>${project.version}</version>
54 + </dependency>
55 + <dependency>
56 + <groupId>org.onosproject</groupId>
57 + <artifactId>onos-ospf-provider-cli</artifactId>
58 + <version>${project.version}</version>
59 + </dependency>
60 + </dependencies>
61 +</project>
...\ No newline at end of file ...\ No newline at end of file
1 +COMPILE_DEPS = [
2 + '//lib:CORE_DEPS',
3 + '//protocols/ospf/api:onos-protocols-ospf-api',
4 +]
5 +
6 +osgi_jar_with_tests (
7 + deps = COMPILE_DEPS,
8 +)
9 +
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!--
3 + ~ Copyright 2016-present Open Networking Laboratory
4 + ~
5 + ~ Licensed under the Apache License, Version 2.0 (the "License");
6 + ~ you may not use this file except in compliance with the License.
7 + ~ You may obtain a copy of the License at
8 + ~
9 + ~ http://www.apache.org/licenses/LICENSE-2.0
10 + ~
11 + ~ Unless required by applicable law or agreed to in writing, software
12 + ~ distributed under the License is distributed on an "AS IS" BASIS,
13 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 + ~ See the License for the specific language governing permissions and
15 + ~ limitations under the License.
16 + -->
17 +<project xmlns="http://maven.apache.org/POM/4.0.0"
18 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
19 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
20 + <modelVersion>4.0.0</modelVersion>
21 +
22 + <parent>
23 + <groupId>org.onosproject</groupId>
24 + <artifactId>onos-ospf-providers</artifactId>
25 + <version>1.6.0-SNAPSHOT</version>
26 + <relativePath>../pom.xml</relativePath>
27 + </parent>
28 +
29 + <artifactId>onos-ospf-provider-cfg</artifactId>
30 + <packaging>bundle</packaging>
31 + <description>ONOS OSPF Providers</description>
32 +
33 + <dependencies>
34 + <dependency>
35 + <groupId>org.osgi</groupId>
36 + <artifactId>org.osgi.compendium</artifactId>
37 + </dependency>
38 + <dependency>
39 + <groupId>org.onosproject</groupId>
40 + <artifactId>onos-ospf-ctl</artifactId>
41 + <version>${project.version}</version>
42 + </dependency>
43 + <dependency>
44 + <groupId>org.onosproject</groupId>
45 + <artifactId>onos-ospf-api</artifactId>
46 + <version>${project.version}</version>
47 + </dependency>
48 + </dependencies>
49 +</project>
1 +/*
2 +* Copyright 2016-present Open Networking Laboratory
3 +*
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 +*/
16 +
17 +package org.onosproject.provider.ospf.cfg.impl;
18 +
19 +import com.fasterxml.jackson.databind.JsonNode;
20 +import org.apache.felix.scr.annotations.Reference;
21 +import org.apache.felix.scr.annotations.ReferenceCardinality;
22 +import org.onlab.osgi.DefaultServiceDirectory;
23 +import org.onosproject.core.ApplicationId;
24 +import org.onosproject.net.config.Config;
25 +import org.onosproject.ospf.controller.OspfController;
26 +
27 +/**
28 + * Configuration object for OSPF.
29 + */
30 +public class OspfAppConfig extends Config<ApplicationId> {
31 + public static final String METHOD = "method";
32 + public static final String ATTRIBUTE = "attribute";
33 + public static final String PROCESSES = "processes";
34 + @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
35 + private OspfController ospfController;
36 +
37 + /**
38 + * Returns the configuration method, add, delete etc.
39 + *
40 + * @return the configuration method, add, delete etc
41 + */
42 + public String method() {
43 + return get(METHOD, null);
44 + }
45 +
46 + /**
47 + * Returns the configuration attribute, area, process etc.
48 + *
49 + * @return the configuration attribute, area, process etc
50 + */
51 + public String attribute() {
52 + return get(ATTRIBUTE, null);
53 + }
54 +
55 + /**
56 + * Returns the configured processes.
57 + *
58 + * @return the configured processes
59 + */
60 + public JsonNode processes() {
61 + JsonNode jsonNodes = object.get(PROCESSES);
62 +
63 + return jsonNodes;
64 + }
65 +
66 + @Override
67 + public boolean isValid() {
68 + this.ospfController = DefaultServiceDirectory.getService(OspfController.class);
69 +
70 + return true;
71 + }
72 +}
...\ No newline at end of file ...\ No newline at end of file
1 +/*
2 + * Copyright 2016-present Open Networking Laboratory
3 + *
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 + */
16 +package org.onosproject.provider.ospf.cfg.impl;
17 +
18 +import com.fasterxml.jackson.databind.JsonNode;
19 +import org.apache.felix.scr.annotations.Activate;
20 +import org.apache.felix.scr.annotations.Component;
21 +import org.apache.felix.scr.annotations.Deactivate;
22 +import org.apache.felix.scr.annotations.Service;
23 +import org.apache.felix.scr.annotations.Reference;
24 +import org.apache.felix.scr.annotations.ReferenceCardinality;
25 +import org.onosproject.core.ApplicationId;
26 +import org.onosproject.core.CoreService;
27 +import org.onosproject.net.config.ConfigFactory;
28 +import org.onosproject.net.config.NetworkConfigEvent;
29 +import org.onosproject.net.config.NetworkConfigListener;
30 +import org.onosproject.net.config.NetworkConfigRegistry;
31 +import org.onosproject.net.config.NetworkConfigService;
32 +import org.onosproject.net.config.basics.SubjectFactories;
33 +import org.onosproject.net.provider.AbstractProvider;
34 +import org.onosproject.net.provider.ProviderId;
35 +import org.onosproject.ospf.controller.OspfController;
36 +import org.slf4j.Logger;
37 +
38 +import static org.slf4j.LoggerFactory.getLogger;
39 +
40 +/**
41 + * Provider which advertises device descriptions to the core.
42 + */
43 +@Component(immediate = true)
44 +@Service
45 +public class OspfCfgProvider extends AbstractProvider {
46 +
47 + static final String PROVIDER_ID = "org.onosproject.provider.ospf.cfg";
48 + private static final Logger log = getLogger(OspfCfgProvider.class);
49 + private final ConfigFactory configFactory =
50 + new ConfigFactory(SubjectFactories.APP_SUBJECT_FACTORY, OspfAppConfig.class, "ospfapp") {
51 + @Override
52 + public OspfAppConfig createConfig() {
53 + return new OspfAppConfig();
54 + }
55 + };
56 + private final NetworkConfigListener configListener = new InternalConfigListener();
57 + @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
58 + protected OspfController ospfController;
59 + @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
60 + protected CoreService coreService;
61 + @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
62 + protected NetworkConfigRegistry configRegistry;
63 + @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
64 + protected NetworkConfigService configService;
65 + @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
66 + protected OspfController controller;
67 + private ApplicationId appId;
68 +
69 + /**
70 + * Creates an OSPF device provider.
71 + */
72 + public OspfCfgProvider() {
73 + super(new ProviderId("ospf", PROVIDER_ID));
74 + }
75 +
76 + public void setOspfController(OspfController ospfController) {
77 + this.ospfController = ospfController;
78 + }
79 +
80 + @Activate
81 + public void activate() {
82 + appId = coreService.registerApplication(PROVIDER_ID);
83 + configService.addListener(configListener);
84 + configRegistry.registerConfigFactory(configFactory);
85 + log.info("activated...!!!");
86 + }
87 +
88 + @Deactivate
89 + public void deactivate() {
90 + configRegistry.unregisterConfigFactory(configFactory);
91 + configService.removeListener(configListener);
92 + log.info("deactivated...!!!");
93 + }
94 +
95 + private void updateConfig() {
96 + OspfAppConfig ospfAppConfig = configRegistry.getConfig(appId, OspfAppConfig.class);
97 + if ("ADD".equalsIgnoreCase(ospfAppConfig.method())) {
98 + JsonNode jsonNode = ospfAppConfig.processes();
99 + ospfController.updateConfig(jsonNode);
100 + } else {
101 + log.debug("Please signify prop1 and prop2");
102 + }
103 + }
104 +
105 + /**
106 + * OSPF config listener to populate the configuration.
107 + */
108 + private class InternalConfigListener implements NetworkConfigListener {
109 + @Override
110 + public void event(NetworkConfigEvent event) {
111 + log.debug("InternalConfigListener:: event is getting called");
112 + if (!event.configClass().equals(OspfAppConfig.class)) {
113 + return;
114 + }
115 + switch (event.type()) {
116 + case CONFIG_ADDED:
117 + updateConfig();
118 + break;
119 + case CONFIG_UPDATED:
120 + updateConfig();
121 + break;
122 + case CONFIG_REMOVED:
123 + break;
124 + default:
125 + break;
126 + }
127 + }
128 + }
129 +}
...\ No newline at end of file ...\ No newline at end of file
1 +/*
2 + * Copyright 2016-present Open Networking Laboratory
3 + *
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 + */
16 +
17 +/**
18 + * Provider that uses OSPF capability request as a means of infrastructure device discovery.
19 + */
20 +package org.onosproject.provider.ospf.cfg.impl;
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!--
3 + ~ Copyright 2016-present Open Networking Laboratory
4 + ~
5 + ~ Licensed under the Apache License, Version 2.0 (the "License");
6 + ~ you may not use this file except in compliance with the License.
7 + ~ You may obtain a copy of the License at
8 + ~
9 + ~ http://www.apache.org/licenses/LICENSE-2.0
10 + ~
11 + ~ Unless required by applicable law or agreed to in writing, software
12 + ~ distributed under the License is distributed on an "AS IS" BASIS,
13 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 + ~ See the License for the specific language governing permissions and
15 + ~ limitations under the License.
16 + -->
17 +<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
18 + xmlns="http://maven.apache.org/POM/4.0.0"
19 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
20 + <modelVersion>4.0.0</modelVersion>
21 +
22 + <parent>
23 + <groupId>org.onosproject</groupId>
24 + <artifactId>onos-ospf-providers</artifactId>
25 + <version>1.6.0-SNAPSHOT</version>
26 + <relativePath>../pom.xml</relativePath>
27 + </parent>
28 +
29 + <artifactId>onos-ospf-provider-cli</artifactId>
30 + <packaging>bundle</packaging>
31 +
32 + <description>OSPF cli implementation</description>
33 +
34 + <dependencies>
35 + <dependency>
36 + <groupId>org.onosproject</groupId>
37 + <artifactId>onos-cli</artifactId>
38 + <version>${project.version}</version>
39 + </dependency>
40 + <dependency>
41 + <groupId>org.onosproject</groupId>
42 + <artifactId>onos-ospf-api</artifactId>
43 + <version>${project.version}</version>
44 + </dependency>
45 + <dependency>
46 + <groupId>org.onosproject</groupId>
47 + <artifactId>onos-ospf-ctl</artifactId>
48 + <version>${project.version}</version>
49 + </dependency>
50 + <dependency>
51 + <groupId>org.onosproject</groupId>
52 + <artifactId>onos-ospf-protocol</artifactId>
53 + <version>${project.version}</version>
54 + </dependency>
55 + <dependency>
56 + <groupId>org.osgi</groupId>
57 + <artifactId>org.osgi.compendium</artifactId>
58 + </dependency>
59 + <dependency>
60 + <groupId>org.apache.karaf.shell</groupId>
61 + <artifactId>org.apache.karaf.shell.console</artifactId>
62 + </dependency>
63 + <dependency>
64 + <groupId>org.apache.felix</groupId>
65 + <artifactId>org.apache.felix.scr.annotations</artifactId>
66 + <scope>provided</scope>
67 + </dependency>
68 + </dependencies>
69 +</project>
...\ No newline at end of file ...\ No newline at end of file
1 +/*
2 + * Copyright 2016-present Open Networking Laboratory
3 + *
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 + */
16 +
17 +/**
18 + * ISIS cli implementation.
19 + */
20 +package org.onosproject.ospf.cli;
1 +<!--
2 + ~ Copyright 2016-present Open Networking Laboratory
3 + ~
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 + -->
16 +<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
17 +
18 + <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
19 + <command>
20 + <action class="org.onosproject.ospf.cli.ApplicationOspfCommand"/>
21 + </command>
22 + </command-bundle>
23 +
24 +</blueprint>
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!--
3 + ~ Copyright 2016-present Open Networking Laboratory
4 + ~
5 + ~ Licensed under the Apache License, Version 2.0 (the "License");
6 + ~ you may not use this file except in compliance with the License.
7 + ~ You may obtain a copy of the License at
8 + ~
9 + ~ http://www.apache.org/licenses/LICENSE-2.0
10 + ~
11 + ~ Unless required by applicable law or agreed to in writing, software
12 + ~ distributed under the License is distributed on an "AS IS" BASIS,
13 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 + ~ See the License for the specific language governing permissions and
15 + ~ limitations under the License.
16 + -->
17 +<project xmlns="http://maven.apache.org/POM/4.0.0"
18 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
19 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
20 + <modelVersion>4.0.0</modelVersion>
21 +
22 + <parent>
23 + <groupId>org.onosproject</groupId>
24 + <artifactId>onos-providers</artifactId>
25 + <version>1.6.0-SNAPSHOT</version>
26 + <relativePath>../pom.xml</relativePath>
27 + </parent>
28 +
29 + <artifactId>onos-ospf-providers</artifactId>
30 + <packaging>pom</packaging>
31 +
32 + <description>ONOS OSPF protocol adapters</description>
33 +
34 + <modules>
35 + <module>app</module>
36 + <module>cfg</module>
37 + <module>cli</module>
38 + <module>topology</module>
39 + </modules>
40 +
41 + <dependencies>
42 + <dependency>
43 + <groupId>org.onosproject</groupId>
44 + <artifactId>onos-ospf-api</artifactId>
45 + <version>${project.version}</version>
46 + </dependency>
47 + <dependency>
48 + <groupId>org.onosproject</groupId>
49 + <artifactId>onos-api</artifactId>
50 + <classifier>tests</classifier>
51 + <scope>test</scope>
52 + </dependency>
53 + </dependencies>
54 +
55 +</project>
...\ No newline at end of file ...\ No newline at end of file
1 +COMPILE_DEPS = [
2 + '//lib:CORE_DEPS',
3 + '//protocols/ospf/api:onos-protocols-ospf-api',
4 +]
5 +
6 +osgi_jar_with_tests (
7 + deps = COMPILE_DEPS,
8 +)
9 +
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!--
3 + ~ Copyright 2016-present Open Networking Laboratory
4 + ~
5 + ~ Licensed under the Apache License, Version 2.0 (the "License");
6 + ~ you may not use this file except in compliance with the License.
7 + ~ You may obtain a copy of the License at
8 + ~
9 + ~ http://www.apache.org/licenses/LICENSE-2.0
10 + ~
11 + ~ Unless required by applicable law or agreed to in writing, software
12 + ~ distributed under the License is distributed on an "AS IS" BASIS,
13 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 + ~ See the License for the specific language governing permissions and
15 + ~ limitations under the License.
16 + -->
17 +<project xmlns="http://maven.apache.org/POM/4.0.0"
18 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
19 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
20 + <modelVersion>4.0.0</modelVersion>
21 +
22 + <parent>
23 + <groupId>org.onosproject</groupId>
24 + <artifactId>onos-ospf-providers</artifactId>
25 + <version>1.6.0-SNAPSHOT</version>
26 + <relativePath>../pom.xml</relativePath>
27 + </parent>
28 +
29 + <artifactId>onos-ospf-provider-topology</artifactId>
30 + <packaging>bundle</packaging>
31 +
32 + <description>ONOS OSPF Topology Providers</description>
33 + <dependencies>
34 + <dependency>
35 + <groupId>org.osgi</groupId>
36 + <artifactId>org.osgi.compendium</artifactId>
37 + </dependency>
38 + </dependencies>
39 +</project>
...\ No newline at end of file ...\ No newline at end of file
1 +/*
2 + * Copyright 2016-present Open Networking Laboratory
3 + *
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 + */
16 +
17 +/**
18 + * Provider that uses OSPF as a means of topology discovery.
19 + */
20 +package org.onosproject.provider.ospf.topology.impl;
...@@ -47,6 +47,7 @@ ...@@ -47,6 +47,7 @@
47 <module>netcfglinks</module> 47 <module>netcfglinks</module>
48 <module>bmv2</module> 48 <module>bmv2</module>
49 <module>isis</module> 49 <module>isis</module>
50 + <module>ospf</module>
50 </modules> 51 </modules>
51 52
52 <dependencies> 53 <dependencies>
......