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-10-17 16:19:40 -0700
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
875d626c88af3001396799e7585139d4082a22ee
875d626c
1 parent
23022f7b
added mastership to lldpdiscovery
Change-Id: I94bcf04eff134a2bb63325468f26406108608c92
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
31 additions
and
10 deletions
providers/host/pom.xml
providers/lldp/src/main/java/org/onlab/onos/provider/lldp/impl/LLDPLinkProvider.java
providers/lldp/src/main/java/org/onlab/onos/provider/lldp/impl/LinkDiscovery.java
providers/host/pom.xml
View file @
875d626
...
...
@@ -16,5 +16,15 @@
<packaging>
bundle
</packaging>
<description>
ONOS host tracking provider
</description>
<dependencies>
<dependency>
<groupId>
org.onlab.onos
</groupId>
<artifactId>
onos-api
</artifactId>
<classifier>
tests
</classifier>
<scope>
test
</scope>
</dependency>
</dependencies>
</project>
...
...
providers/lldp/src/main/java/org/onlab/onos/provider/lldp/impl/LLDPLinkProvider.java
View file @
875d626
...
...
@@ -5,6 +5,7 @@ import org.apache.felix.scr.annotations.Component;
import
org.apache.felix.scr.annotations.Deactivate
;
import
org.apache.felix.scr.annotations.Reference
;
import
org.apache.felix.scr.annotations.ReferenceCardinality
;
import
org.onlab.onos.mastership.MastershipService
;
import
org.onlab.onos.net.ConnectPoint
;
import
org.onlab.onos.net.Device
;
import
org.onlab.onos.net.DeviceId
;
...
...
@@ -46,6 +47,9 @@ public class LLDPLinkProvider extends AbstractProvider implements LinkProvider {
@Reference
(
cardinality
=
ReferenceCardinality
.
MANDATORY_UNARY
)
protected
PacketService
packetSevice
;
@Reference
(
cardinality
=
ReferenceCardinality
.
MANDATORY_UNARY
)
protected
MastershipService
masterService
;
private
LinkProviderService
providerService
;
private
final
boolean
useBDDP
=
true
;
...
...
@@ -95,7 +99,7 @@ public class LLDPLinkProvider extends AbstractProvider implements LinkProvider {
switch
(
event
.
type
())
{
case
DEVICE_ADDED:
discoverers
.
put
(
device
.
id
(),
new
LinkDiscovery
(
device
,
packetSevice
,
new
LinkDiscovery
(
device
,
packetSevice
,
masterService
,
providerService
,
useBDDP
));
break
;
case
PORT_ADDED:
...
...
providers/lldp/src/main/java/org/onlab/onos/provider/lldp/impl/LinkDiscovery.java
View file @
875d626
...
...
@@ -30,10 +30,12 @@ import java.util.concurrent.atomic.AtomicInteger;
import
org.jboss.netty.util.Timeout
;
import
org.jboss.netty.util.TimerTask
;
import
org.onlab.onos.mastership.MastershipService
;
import
org.onlab.onos.net.ConnectPoint
;
import
org.onlab.onos.net.Device
;
import
org.onlab.onos.net.DeviceId
;
import
org.onlab.onos.net.Link.Type
;
import
org.onlab.onos.net.MastershipRole
;
import
org.onlab.onos.net.Port
;
import
org.onlab.onos.net.PortNumber
;
import
org.onlab.onos.net.flow.DefaultTrafficTreatment
;
...
...
@@ -79,22 +81,24 @@ public class LinkDiscovery implements TimerTask {
private
final
boolean
useBDDP
;
private
final
LinkProviderService
linkProvider
;
private
final
PacketService
pktService
;
private
final
MastershipService
mastershipService
;
private
Timeout
timeout
;
/**
* Instantiates discovery manager for the given physical switch. Creates a
* generic LLDP packet that will be customized for the port it is sent out on.
* Starts the the timer for the discovery process.
*
* @param
device the physical switch
*
@param device the physical switch
* @param
masterService
* @param useBDDP flag to also use BDDP for discovery
*/
public
LinkDiscovery
(
Device
device
,
PacketService
pktService
,
LinkProviderService
providerService
,
Boolean
...
useBDDP
)
{
MastershipService
masterService
,
LinkProviderService
providerService
,
Boolean
...
useBDDP
)
{
this
.
device
=
device
;
this
.
probeRate
=
3000
;
this
.
linkProvider
=
providerService
;
this
.
pktService
=
pktService
;
this
.
mastershipService
=
masterService
;
this
.
slowPorts
=
Collections
.
synchronizedSet
(
new
HashSet
<
Long
>());
this
.
fastPorts
=
Collections
.
synchronizedSet
(
new
HashSet
<
Long
>());
this
.
portProbeCount
=
new
HashMap
<>();
...
...
@@ -337,12 +341,15 @@ public class LinkDiscovery implements TimerTask {
}
private
void
sendProbes
(
Long
portNumber
)
{
OutboundPacket
pkt
=
this
.
createOutBoundLLDP
(
portNumber
);
pktService
.
emit
(
pkt
);
if
(
useBDDP
)
{
OutboundPacket
bpkt
=
this
.
createOutBoundBDDP
(
portNumber
);
pktService
.
emit
(
bpkt
);
}
if
(
mastershipService
.
getLocalRole
(
this
.
device
.
id
())
==
MastershipRole
.
MASTER
)
{
OutboundPacket
pkt
=
this
.
createOutBoundLLDP
(
portNumber
);
pktService
.
emit
(
pkt
);
if
(
useBDDP
)
{
OutboundPacket
bpkt
=
this
.
createOutBoundBDDP
(
portNumber
);
pktService
.
emit
(
bpkt
);
}
}
}
}
...
...
Please
register
or
login
to post a comment