Toggle navigation
Toggle navigation
This project
Loading...
Sign in
홍길동
/
onos
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
alshabib
2014-09-04 16:41:31 -0700
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
25c8eec8810dffee3497efd1c649f50aef5dd981
25c8eec8
1 parent
249829af
updating ports
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
6 deletions
providers/of/device/src/main/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProvider.java
providers/of/device/src/main/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProvider.java
View file @
25c8eec
package
org
.
onlab
.
onos
.
provider
.
of
.
device
.
impl
;
import
static
org
.
onlab
.
onos
.
net
.
DeviceId
.
deviceId
;
import
static
org
.
slf4j
.
LoggerFactory
.
getLogger
;
import
java.net.URI
;
import
java.net.URISyntaxException
;
import
java.util.ArrayList
;
import
java.util.List
;
import
org.apache.felix.scr.annotations.Activate
;
import
org.apache.felix.scr.annotations.Component
;
import
org.apache.felix.scr.annotations.Deactivate
;
...
...
@@ -7,11 +15,14 @@ import org.apache.felix.scr.annotations.Reference;
import
org.apache.felix.scr.annotations.ReferenceCardinality
;
import
org.onlab.onos.net.Device
;
import
org.onlab.onos.net.MastershipRole
;
import
org.onlab.onos.net.PortNumber
;
import
org.onlab.onos.net.device.DefaultDeviceDescription
;
import
org.onlab.onos.net.device.DefaultPortDescription
;
import
org.onlab.onos.net.device.DeviceDescription
;
import
org.onlab.onos.net.device.DeviceProvider
;
import
org.onlab.onos.net.device.DeviceProviderRegistry
;
import
org.onlab.onos.net.device.DeviceProviderService
;
import
org.onlab.onos.net.device.PortDescription
;
import
org.onlab.onos.net.provider.AbstractProvider
;
import
org.onlab.onos.net.provider.ProviderId
;
import
org.onlab.onos.of.controller.Dpid
;
...
...
@@ -19,14 +30,9 @@ import org.onlab.onos.of.controller.OpenFlowController;
import
org.onlab.onos.of.controller.OpenFlowSwitch
;
import
org.onlab.onos.of.controller.OpenFlowSwitchListener
;
import
org.onlab.onos.of.controller.RoleState
;
import
org.projectfloodlight.openflow.protocol.OFPortDesc
;
import
org.slf4j.Logger
;
import
java.net.URI
;
import
java.net.URISyntaxException
;
import
static
org
.
onlab
.
onos
.
net
.
DeviceId
.
deviceId
;
import
static
org
.
slf4j
.
LoggerFactory
.
getLogger
;
/**
* Provider which uses an OpenFlow controller to detect network
* infrastructure devices.
...
...
@@ -107,6 +113,18 @@ public class OpenFlowDeviceProvider extends AbstractProvider implements DevicePr
sw
.
softwareDescription
(),
sw
.
softwareDescription
());
providerService
.
deviceConnected
(
deviceId
(
uri
),
description
);
providerService
.
updatePorts
(
deviceId
(
uri
),
buildPortDescriptions
(
sw
.
getPorts
()));
}
private
List
<
PortDescription
>
buildPortDescriptions
(
List
<
OFPortDesc
>
ports
)
{
List
<
PortDescription
>
portDescs
=
new
ArrayList
<
PortDescription
>();
for
(
OFPortDesc
port
:
ports
)
{
PortNumber
portNo
=
PortNumber
.
portNumber
(
port
.
getPortNo
().
getPortNumber
());
portDescs
.
add
(
new
DefaultPortDescription
(
portNo
,
port
.
getState
()));
}
}
@Override
...
...
Please
register
or
login
to post a comment