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
Thomas Vachuska
2014-10-30 16:46:17 -0700
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
4b420774185521b995793fb158811aee95d166d0
4b420774
1 parent
50c7bb71
Cleaned up a slew of Javadoc errors in preparation for switch over to Java 8.
Hide whitespace changes
Inline
Side-by-side
Showing
39 changed files
with
125 additions
and
106 deletions
apps/sdnip/src/main/java/org/onlab/onos/sdnip/RouteUpdate.java
apps/sdnip/src/main/java/org/onlab/onos/sdnip/Router.java
apps/sdnip/src/main/java/org/onlab/onos/sdnip/bgp/BgpRouteEntry.java
apps/sdnip/src/main/java/org/onlab/onos/sdnip/bgp/BgpSession.java
apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/BgpSpeaker.java
apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/InterfaceAddress.java
apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/SdnIpConfigReader.java
core/api/src/main/java/org/onlab/onos/mastership/MastershipEvent.java
core/api/src/main/java/org/onlab/onos/net/SparseAnnotations.java
core/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java
core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficTreatment.java
core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java
core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleStore.java
core/api/src/main/java/org/onlab/onos/net/host/HostAdminService.java
core/api/src/main/java/org/onlab/onos/net/host/HostService.java
core/api/src/main/java/org/onlab/onos/net/host/PortAddresses.java
core/api/src/main/java/org/onlab/onos/net/intent/Intent.java
core/api/src/main/java/org/onlab/onos/net/intent/IntentId.java
core/api/src/main/java/org/onlab/onos/net/intent/IntentService.java
core/api/src/main/java/org/onlab/onos/net/intent/IntentState.java
core/api/src/main/java/org/onlab/onos/net/intent/OpticalConnectivityIntent.java
core/api/src/main/java/org/onlab/onos/net/intent/package-info.java
core/api/src/main/java/org/onlab/onos/net/provider/ProviderId.java
core/api/src/main/java/org/onlab/onos/net/provider/ProviderRegistry.java
core/net/src/main/java/org/onlab/onos/net/host/impl/HostMonitor.java
core/store/dist/src/main/java/org/onlab/onos/store/hz/SMap.java
openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/OpenFlowSwitchDriver.java
openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/OFChannelHandler.java
providers/lldp/src/main/java/org/onlab/onos/provider/lldp/impl/LinkDiscovery.java
providers/openflow/link/src/main/java/org/onlab/onos/provider/of/link/impl/LinkDiscovery.java
tools/package/bin/onos
tools/package/bin/onos-service
tools/package/debian/onos.conf
tools/test/bin/onos
utils/misc/src/main/java/org/onlab/packet/IpAddress.java
utils/misc/src/main/java/org/onlab/packet/IpPrefix.java
utils/misc/src/main/java/org/onlab/util/NewConcurrentHashMap.java
utils/netty/src/main/java/org/onlab/netty/MessageHandler.java
utils/nio/src/main/java/org/onlab/nio/MessageStream.java
apps/sdnip/src/main/java/org/onlab/onos/sdnip/RouteUpdate.java
View file @
4b42077
...
...
@@ -30,9 +30,10 @@ public class RouteUpdate {
/**
* Specifies the type of a route update.
* <p
/
>
* <p>
* Route updates can either provide updated information for a route, or
* withdraw a previously updated route.
* </p>
*/
public
enum
Type
{
/**
...
...
apps/sdnip/src/main/java/org/onlab/onos/sdnip/Router.java
View file @
4b42077
...
...
@@ -439,11 +439,12 @@ public class Router implements RouteListener {
/**
* Processes adding a route entry.
* <p
/
>
* <p>
* Put new route entry into the radix tree. If there was an existing
* next hop for this prefix, but the next hop was different, then execute
* deleting old route entry. If the next hop is the SDN domain, we do not
* handle it at the moment. Otherwise, execute adding a route.
* </p>
*
* @param routeEntry the route entry to add
*/
...
...
@@ -484,11 +485,12 @@ public class Router implements RouteListener {
/**
* Executes adding a route entry.
* <p
/
>
* <p>
* Find out the egress Interface and MAC address of next hop router for
* this route entry. If the MAC address can not be found in ARP cache,
* then this prefix will be put in routesWaitingOnArp queue. Otherwise,
* new route intent will be created and installed.
* </p>
*
* @param routeEntry the route entry to add
*/
...
...
@@ -614,9 +616,10 @@ public class Router implements RouteListener {
/**
* Executes deleting a route entry.
* <p
/
>
* <p>
* Removes prefix from radix tree, and if successful, then try to delete
* the related intent.
* </p>
*
* @param routeEntry the route entry to delete
*/
...
...
apps/sdnip/src/main/java/org/onlab/onos/sdnip/bgp/BgpRouteEntry.java
View file @
4b42077
...
...
@@ -114,9 +114,10 @@ public class BgpRouteEntry extends RouteEntry {
/**
* Tests whether the route is originated from the local AS.
* <p
/
>
* <p>
* The route is considered originated from the local AS if the AS Path
* is empty or if it begins with an AS_SET.
* </p>
*
* @return true if the route is originated from the local AS, otherwise
* false
...
...
@@ -134,9 +135,10 @@ public class BgpRouteEntry extends RouteEntry {
/**
* Gets the BGP Neighbor AS number the route was received from.
* <p
/
>
* <p>
* If the router is originated from the local AS, the return value is
* zero (BGP_AS_0).
* </p>
*
* @return the BGP Neighbor AS number the route was received from.
*/
...
...
@@ -154,9 +156,10 @@ public class BgpRouteEntry extends RouteEntry {
/**
* Tests whether the AS Path contains a loop.
* <p
/
>
* <p>
* The test is done by comparing whether the AS Path contains the
* local AS number.
* </p>
*
* @param localAsNumber the local AS number to compare against
* @return true if the AS Path contains a loop, otherwise false
...
...
@@ -175,9 +178,10 @@ public class BgpRouteEntry extends RouteEntry {
/**
* Compares this BGP route against another BGP route by using the
* BGP Decision Process.
* <p
/
>
* <p>
* NOTE: The comparison needs to be performed only on routes that have
* same IP Prefix.
* </p>
*
* @param other the BGP route to compare against
* @return true if this BGP route is better than the other BGP route
...
...
@@ -389,8 +393,9 @@ public class BgpRouteEntry extends RouteEntry {
/**
* Compares whether two objects are equal.
* <p
/
>
* <p>
* NOTE: The bgpSession field is excluded from the comparison.
* </p>
*
* @return true if the two objects are equal, otherwise false.
*/
...
...
@@ -422,8 +427,9 @@ public class BgpRouteEntry extends RouteEntry {
/**
* Computes the hash code.
* <p
/
>
* <p>
* NOTE: We return the base class hash code to avoid expensive computation
* </p>
*
* @return the object hash code
*/
...
...
apps/sdnip/src/main/java/org/onlab/onos/sdnip/bgp/BgpSession.java
View file @
4b42077
...
...
@@ -215,11 +215,11 @@ public class BgpSession extends SimpleChannelHandler {
/**
* Tests whether the session is closed.
* <p
/
>
* <p>
* NOTE: We use this method to avoid the Netty's asynchronous closing
* of a channel.
*
* @
param
return true if the session is closed
*
</p>
* @return true if the session is closed
*/
boolean
isClosed
()
{
return
isClosed
;
...
...
@@ -1641,7 +1641,7 @@ public class BgpSession extends SimpleChannelHandler {
* @param errorCode the BGP NOTIFICATION Error Code
* @param errorSubcode the BGP NOTIFICATION Error Subcode if applicable,
* otherwise BgpConstants.Notifications.ERROR_SUBCODE_UNSPECIFIC
* @param
payload
the BGP NOTIFICATION Data if applicable, otherwise null
* @param
data
the BGP NOTIFICATION Data if applicable, otherwise null
* @return the message to transmit (BGP header included)
*/
ChannelBuffer
prepareBgpNotification
(
int
errorCode
,
int
errorSubcode
,
...
...
apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/BgpSpeaker.java
View file @
4b42077
...
...
@@ -29,15 +29,17 @@ import com.google.common.base.MoreObjects;
/**
* Represents a BGP daemon in SDN network.
* <p
/
>
* <p>
* Each BGP speaker has a attachment point, which includes a switch DPID and a
* switch port. Each BGP speaker has one MAC address and several IP addresses,
* which are used to peer with BGP peers outside the SDN network. For each
* peer outside the SDN network, we configure a different IP address to BGP
* speaker inside the SDN network.
* <p/>
* </p>
* <p>
* Each BGP speaker has a name, which is a unique identifying String that is
* used to reference this speaker in the configuration.
* </p>
*/
public
class
BgpSpeaker
{
private
final
String
name
;
...
...
apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/InterfaceAddress.java
View file @
4b42077
...
...
@@ -28,8 +28,9 @@ import com.google.common.base.MoreObjects;
/**
* Represents an address of a {@link BgpSpeaker} configured on an
* {@link Interface}.
* <p
/
>
* <p>
* Each InterfaceAddress includes the interface name and an IP address.
* </p>
*/
public
class
InterfaceAddress
{
private
final
ConnectPoint
connectPoint
;
...
...
apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/SdnIpConfigReader.java
View file @
4b42077
...
...
@@ -27,14 +27,12 @@ import org.slf4j.LoggerFactory;
import
com.fasterxml.jackson.databind.ObjectMapper
;
// TODO: As a long term solution, a module providing general network configuration to ONOS nodes should be used.
/**
* SDN-IP Config Reader provides IConfigInfoService
* by reading from an SDN-IP configuration file.
* It must be enabled on the nodes within the cluster
* SDN-IP Config Reader provides IConfigInfoService by reading from an
* SDN-IP configuration file. It must be enabled on the nodes within the cluster
* not running SDN-IP.
* <p/>
* TODO: As a long term solution, a module providing
* general network configuration to ONOS nodes should be used.
*/
public
class
SdnIpConfigReader
implements
SdnIpConfigService
{
...
...
@@ -85,7 +83,7 @@ public class SdnIpConfigReader implements SdnIpConfigService {
}*/
}
/*
*
/*
* To find the Interface which has longest matchable IP prefix (sub-network
* prefix) to next hop IP address.
*
...
...
core/api/src/main/java/org/onlab/onos/mastership/MastershipEvent.java
View file @
4b42077
...
...
@@ -51,7 +51,7 @@ public class MastershipEvent extends AbstractEvent<MastershipEvent.Type, DeviceI
*
* @param type device event type
* @param device event device subject
* @param info mastership role information subject
* @param info
mastership role information subject
*/
public
MastershipEvent
(
Type
type
,
DeviceId
device
,
RoleInfo
info
)
{
super
(
type
,
device
);
...
...
@@ -64,7 +64,7 @@ public class MastershipEvent extends AbstractEvent<MastershipEvent.Type, DeviceI
*
* @param type mastership event type
* @param device event device subject
* @param
master master ID subject
* @param
info role information
* @param time occurrence time
*/
public
MastershipEvent
(
Type
type
,
DeviceId
device
,
RoleInfo
info
,
long
time
)
{
...
...
core/api/src/main/java/org/onlab/onos/net/SparseAnnotations.java
View file @
4b42077
...
...
@@ -25,8 +25,9 @@ public interface SparseAnnotations extends Annotations {
/**
* {@inheritDoc}
* <p
/
>
* <p>
* Note that this set includes keys for any attributes tagged for removal.
* </p>
*/
@Override
public
Set
<
String
>
keys
();
...
...
core/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java
View file @
4b42077
...
...
@@ -46,7 +46,6 @@ public interface DeviceProviderService extends ProviderService<DeviceProvider> {
/**
* Sends information about all ports of a device. It is up to the core to
* determine what has changed.
* <p/>
*
* @param deviceId identity of the device
* @param portDescriptions list of device ports
...
...
core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficTreatment.java
View file @
4b42077
...
...
@@ -97,7 +97,7 @@ public final class DefaultTrafficTreatment implements TrafficTreatment {
/**
* Builds a list of treatments following the following order.
* Modifications -
> Group ->
Output (including drop)
* Modifications -
> Group ->
Output (including drop)
*/
public
static
final
class
Builder
implements
TrafficTreatment
.
Builder
{
...
...
core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java
View file @
4b42077
...
...
@@ -27,7 +27,7 @@ public interface FlowRuleProviderService extends ProviderService<FlowRuleProvide
/**
* Signals that a flow rule that was previously installed has been removed.
*
* @param flow
Rule information about the removed flow
* @param flow
Entry removed flow entry
*/
void
flowRemoved
(
FlowEntry
flowEntry
);
...
...
@@ -35,10 +35,8 @@ public interface FlowRuleProviderService extends ProviderService<FlowRuleProvide
* Pushes the collection of flow entries currently applied on the given
* device.
*
* @param flow
Rul
es collection of flow rules
* @param flow
Entri
es collection of flow rules
*/
void
pushFlowMetrics
(
DeviceId
deviceId
,
Iterable
<
FlowEntry
>
flowEntries
);
}
...
...
core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleStore.java
View file @
4b42077
...
...
@@ -49,7 +49,7 @@ public interface FlowRuleStore extends Store<FlowRuleBatchEvent, FlowRuleStoreDe
Iterable
<
FlowEntry
>
getFlowEntries
(
DeviceId
deviceId
);
/**
// TODO: Better description of method behavior.
*
// TODO: Better description of method behavior.
* Stores a new flow rule without generating events.
*
* @param rule the flow rule to add
...
...
@@ -58,15 +58,17 @@ public interface FlowRuleStore extends Store<FlowRuleBatchEvent, FlowRuleStoreDe
/**
* Stores a batch of flow rules.
*
* @param batchOperation batch of flow rules.
* @return Future response indicating success/failure of the batch operation
*
all the way down to the device.
* all the way down to the device.
*/
Future
<
CompletedBatchOperation
>
storeBatch
(
FlowRuleBatchOperation
batchOperation
);
/**
* Invoked on the completion of a storeBatch operation.
* @param result
*
* @param event flow rule batch event
*/
void
batchOperationComplete
(
FlowRuleBatchEvent
event
);
...
...
@@ -75,7 +77,6 @@ public interface FlowRuleStore extends Store<FlowRuleBatchEvent, FlowRuleStoreDe
* when the provider indicates that the flow has been removed.
*
* @param rule the flow rule to delete
* @return true if the rule should be handled locally
*/
void
deleteFlowRule
(
FlowRule
rule
);
...
...
core/api/src/main/java/org/onlab/onos/net/host/HostAdminService.java
View file @
4b42077
...
...
@@ -32,12 +32,13 @@ public interface HostAdminService {
/**
* Binds IP and MAC addresses to the given connection point.
* <p
/
>
* <p>
* The addresses are added to the set of addresses already bound to the
* connection point. If any of the fields in addresses is null, no change
* is made to the corresponding addresses in the store.
* {@link #unbindAddressesFromPort(PortAddresses)} must be use to unbind
* addresses that have previously been bound.
* </p>
*
* @param addresses address object containing addresses to add and the port
* to add them to
...
...
core/api/src/main/java/org/onlab/onos/net/host/HostService.java
View file @
4b42077
...
...
@@ -114,9 +114,7 @@ public interface HostService {
/**
* Requests the host service to resolve the MAC address for the given IP
* address.
* <p/>
* This will trigger a notification to the host listeners if the MAC
* address. This will trigger a notification to the host listeners if the MAC
* address is found.
*
* @param ip IP address to find the MAC address for
...
...
@@ -134,8 +132,7 @@ public interface HostService {
* Retrieves the addresses that have been bound to the given connection
* point.
*
* @param connectPoint the connection point to retrieve address bindings
* for
* @param connectPoint the connection point to retrieve address bindings for
* @return addresses bound to the port
*/
PortAddresses
getAddressBindingsForPort
(
ConnectPoint
connectPoint
);
...
...
core/api/src/main/java/org/onlab/onos/net/host/PortAddresses.java
View file @
4b42077
...
...
@@ -36,9 +36,8 @@ public class PortAddresses {
/**
* Constructs a PortAddresses object for the given connection point, with a
* set of IP addresses and a MAC address.
* <p/>
* Both address parameters are optional and can be set to null.
* set of IP addresses and a MAC address. Both address parameters are
* optional and can be set to null.
*
* @param connectPoint the connection point these addresses are for
* @param ipAddresses a set of interface IP addresses
...
...
core/api/src/main/java/org/onlab/onos/net/intent/Intent.java
View file @
4b42077
...
...
@@ -26,8 +26,9 @@ import static com.google.common.base.Preconditions.checkNotNull;
/**
* Abstraction of an application level intent.
* <p
/
>
* <p>
* Make sure that an Intent should be immutable when a new type is defined.
* </p>
*/
public
abstract
class
Intent
implements
BatchOperationTarget
{
...
...
core/api/src/main/java/org/onlab/onos/net/intent/IntentId.java
View file @
4b42077
...
...
@@ -19,8 +19,7 @@ import org.onlab.onos.net.flow.BatchOperationTarget;
/**
* Intent identifier suitable as an external key.
* <p/>
* This class is immutable.
* <p>This class is immutable.</p>
*/
public
final
class
IntentId
implements
BatchOperationTarget
{
...
...
core/api/src/main/java/org/onlab/onos/net/intent/IntentService.java
View file @
4b42077
...
...
@@ -25,20 +25,20 @@ import java.util.concurrent.Future;
public
interface
IntentService
{
/**
* Submits an intent into the system.
* <p
/
>
* <p>
* This is an asynchronous request meaning that any compiling or
* installation activities may be done at later time.
*
*
</p>
* @param intent intent to be submitted
*/
void
submit
(
Intent
intent
);
/**
* Withdraws an intent from the system.
* <p
/
>
* <p>
* This is an asynchronous request meaning that the environment may be
* affected at later time.
*
*
</p>
* @param intent intent to be withdrawn
*/
void
withdraw
(
Intent
intent
);
...
...
@@ -54,10 +54,10 @@ public interface IntentService {
/**
* Submits a batch of submit & withdraw operations. Such a batch is
* assumed to be processed together.
* <p
/
>
* <p>
* This is an asynchronous request meaning that the environment may be
* affected at later time.
*
*
</p>
* @param operations batch of intent operations
*/
Future
<
IntentOperations
>
execute
(
IntentOperations
operations
);
...
...
core/api/src/main/java/org/onlab/onos/net/intent/IntentState.java
View file @
4b42077
...
...
@@ -24,8 +24,9 @@ public enum IntentState {
* Signifies that the intent has been submitted and will start compiling
* shortly. However, this compilation may not necessarily occur on the
* local controller instance.
* <p
/
>
* <p>
* All intent in the runtime take this state first.
* </p>
*/
SUBMITTED
,
...
...
@@ -57,10 +58,11 @@ public enum IntentState {
* as an attempt to adapt to an anomaly in the network environment.
* This is a transitional state after which the intent will enter either
* {@link #FAILED} state or {@link #INSTALLING} state.
* <p
/
>
* <p>
* Exit to the {@link #FAILED} state may be caused by failure to compile
* or by compiling into the same set of installable intents which have
* previously failed to be installed.
* </p>
*/
RECOMPILING
,
...
...
core/api/src/main/java/org/onlab/onos/net/intent/OpticalConnectivityIntent.java
View file @
4b42077
...
...
@@ -28,11 +28,12 @@ public class OpticalConnectivityIntent extends Intent {
protected
ConnectPoint
dst
;
/**
* Constructor.
* Creates an optical connectivity intent between the specified
* connection points.
*
* @param
id ID for this new Intent object.
* @param src
The source transponder port.
* @param dst
The destination transponder port.
* @param
appId application identification
* @param src
the source transponder port
* @param dst
the destination transponder port
*/
public
OpticalConnectivityIntent
(
ApplicationId
appId
,
ConnectPoint
src
,
ConnectPoint
dst
)
{
super
(
id
(
OpticalConnectivityIntent
.
class
,
src
,
dst
),
...
...
@@ -51,18 +52,18 @@ public class OpticalConnectivityIntent extends Intent {
}
/**
*
Gets
source transponder port.
*
Returns the
source transponder port.
*
* @return
The source transponder port.
* @return
source transponder port
*/
public
ConnectPoint
getSrcConnectPoint
()
{
return
src
;
}
/**
*
Gets
destination transponder port.
*
Returns the
destination transponder port.
*
* @return
The source transponder port.
* @return
source transponder port
*/
public
ConnectPoint
getDst
()
{
return
dst
;
...
...
core/api/src/main/java/org/onlab/onos/net/intent/package-info.java
View file @
4b42077
...
...
@@ -20,23 +20,26 @@
* <em>what</em> rather than the <em>how</em>. This makes such instructions
* largely independent of topology and device specifics, thus allowing them to
* survive topology mutations.
* <p
/
>
* <p>
* The controller core provides a suite of built-in intents and their compilers
* and installers. However, the intent framework is extensible in that it allows
* additional intents and their compilers or installers to be added
* dynamically at run-time. This allows others to enhance the initial arsenal of
* connectivity and policy-based intents available in base controller software.
* <p/>
* </p>
* <p>
* The following diagram depicts the state transition diagram for each top-level intent:<br>
* <img src="doc-files/intent-states.png" alt="ONOS intent states">
* <p/>
* </p>
* <p>
* The controller core accepts the intent specifications and translates them, via a
* process referred to as intent compilation, to installable intents, which are
* essentially actionable operations on the network environment.
* These actions are carried out by intent installation process, which results
* in some changes to the environment, e.g. tunnel links being provisioned,
* flow rules being installed on the data-plane, optical lambdas being reserved.
* <p/>
* </p>
* <p>
* After an intent is submitted by an application, it will be sent immediately
* (but asynchronously) into a compiling phase, then to installing phase and if
* all goes according to plan into installed state. Once an application decides
...
...
@@ -48,7 +51,8 @@
* installable intents and instead result in a failed compile. If this occurs,
* only a change in the environment can trigger a transition back to the
* compiling state.
* <p/>
* </p>
* <p>
* Similarly, an issue may be encountered during the installation phase in
* which case the framework will attempt to recompile the intent to see if an
* alternate approach is available. If so, the intent will be sent back to
...
...
@@ -61,12 +65,14 @@
* the intent, and if an alternate approach is available, its installation
* will be attempted. Otherwise, the original top-level intent will be parked
* in the failed state.
* <p/>
* </p>
* <p>
* Please note that all *ing states, depicted in orange, are transitional and
* are expected to last only a brief amount of time. The rest of the states
* are parking states where the intent may spent some time; except for the
* submitted state of course. There, the intent may pause, but only briefly,
* while the system determines where to perform the compilation or while it
* performs global recomputation/optimization across all prior intents.
* </p>
*/
package
org
.
onlab
.
onos
.
net
.
intent
;
...
...
core/api/src/main/java/org/onlab/onos/net/provider/ProviderId.java
View file @
4b42077
...
...
@@ -24,14 +24,16 @@ import static com.google.common.base.Preconditions.checkNotNull;
* External identity of a {@link org.onlab.onos.net.provider.Provider} family.
* It also carriers two designations of external characteristics, the URI
* scheme and primary/ancillary indicator.
* <p
/
>
* <p>
* The device URI scheme is used to determine applicability of a provider to
* operations on a specific device. The ancillary indicator serves to designate
* a provider as a primary or ancillary.
*
* </p>
* <p>
* A {@link org.onlab.onos.net.provider.ProviderRegistry} uses this designation
* to permit only one primary provider per device URI scheme. Multiple
* ancillary providers can register with the same device URI scheme however.
* </p>
*/
public
class
ProviderId
{
...
...
@@ -56,8 +58,8 @@ public class ProviderId {
* The providers are expected to follow the reverse DNS convention, e.g.
* {@code org.onlab.onos.provider.of.device}
*
* @param scheme
device URI scheme to which this provider is bound, e.g. "of", "snmp"
* @param id
string identifier
* @param scheme device URI scheme to which this provider is bound, e.g. "of", "snmp"
* @param id string identifier
*/
public
ProviderId
(
String
scheme
,
String
id
)
{
this
(
scheme
,
id
,
false
);
...
...
@@ -68,8 +70,8 @@ public class ProviderId {
* The providers are expected to follow the reverse DNS convention, e.g.
* {@code org.onlab.onos.provider.of.device}
*
* @param scheme device URI scheme to which this provider is bound, e.g. "of", "snmp"
* @param id string identifier
* @param scheme
device URI scheme to which this provider is bound, e.g. "of", "snmp"
* @param id
string identifier
* @param ancillary ancillary provider indicator
*/
public
ProviderId
(
String
scheme
,
String
id
,
boolean
ancillary
)
{
...
...
core/api/src/main/java/org/onlab/onos/net/provider/ProviderRegistry.java
View file @
4b42077
...
...
@@ -38,9 +38,10 @@ public interface ProviderRegistry<P extends Provider, S extends ProviderService<
* Unregisters the supplied provider. As a result the previously issued
* provider service will be invalidated and any subsequent invocations
* of its methods may throw {@link java.lang.IllegalStateException}.
* <p
/
>
* <p>
* Unregistering a provider that has not been previously registered results
* in a no-op.
* </p>
*
* @param provider provider to be unregistered
*/
...
...
core/net/src/main/java/org/onlab/onos/net/host/impl/HostMonitor.java
View file @
4b42077
...
...
@@ -51,10 +51,11 @@ import org.onlab.util.Timer;
/**
* Monitors hosts on the dataplane to detect changes in host data.
* <p
/
>
* <p>
* The HostMonitor can monitor hosts that have already been detected for
* changes. At an application's request, it can also monitor and actively
* probe for hosts that have not yet been detected (specified by IP address).
* </p>
*/
public
class
HostMonitor
implements
TimerTask
{
private
DeviceService
deviceService
;
...
...
core/store/dist/src/main/java/org/onlab/onos/store/hz/SMap.java
View file @
4b42077
...
...
@@ -49,8 +49,8 @@ import com.hazelcast.query.Predicate;
// TODO: implement Predicate, etc. if we need them.
/**
* Wrapper around IMap
<byte[], byte[]>
which serializes/deserializes
*
Key and V
alue using StoreSerializer.
* Wrapper around IMap
<byte[], byte[]>
which serializes/deserializes
*
key and v
alue using StoreSerializer.
*
* @param <K> key type
* @param <V> value type
...
...
openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/OpenFlowSwitchDriver.java
View file @
4b42077
...
...
@@ -71,7 +71,7 @@ public interface OpenFlowSwitchDriver extends OpenFlowSwitch {
public
void
handleNiciraRole
(
OFMessage
m
)
throws
SwitchStateException
;
/**
* Handle OF 1.x (where x
>
0) role messages.
* Handle OF 1.x (where x
>
0) role messages.
* @param m the role message to handle
* @throws SwitchStateException if the message received was
* not a nicira role or was malformed.
...
...
openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/OFChannelHandler.java
View file @
4b42077
...
...
@@ -747,8 +747,8 @@ class OFChannelHandler extends IdleStateAwareChannelHandler {
* the changes to ports will already be visible once the switch is
* activated. As a result, no notifications are sent out for these
* pending portStatus messages.
*
@param h
* @
throws SwitchStateException
*
* @
param h the channel handler that received the message
*/
protected
void
handlePendingPortStatusMessages
(
OFChannelHandler
h
)
{
try
{
...
...
providers/lldp/src/main/java/org/onlab/onos/provider/lldp/impl/LinkDiscovery.java
View file @
4b42077
...
...
@@ -52,15 +52,14 @@ import org.onlab.packet.ONOSLLDP;
import
org.onlab.util.Timer
;
import
org.slf4j.Logger
;
// TODO: add 'fast discovery' mode: drop LLDPs in destination switch but listen for flow_removed messages
/**
* Run discovery process from a physical switch. Ports are initially labeled as
* slow ports. When an LLDP is successfully received, label the remote port as
* fast. Every probeRate milliseconds, loop over all fast ports and send an
* LLDP, send an LLDP for a single slow port. Based on FlowVisor topology
* discovery implementation.
* <p/>
* TODO: add 'fast discovery' mode: drop LLDPs in destination switch but listen
* for flow_removed messages
*/
public
class
LinkDiscovery
implements
TimerTask
{
...
...
providers/openflow/link/src/main/java/org/onlab/onos/provider/of/link/impl/LinkDiscovery.java
View file @
4b42077
...
...
@@ -62,9 +62,6 @@ import org.slf4j.Logger;
* fast. Every probeRate milliseconds, loop over all fast ports and send an
* LLDP, send an LLDP for a single slow port. Based on FlowVisor topology
* discovery implementation.
*
* TODO: add 'fast discovery' mode: drop LLDPs in destination switch but listen
* for flow_removed messages
*/
@Deprecated
public
class
LinkDiscovery
implements
TimerTask
{
...
...
@@ -331,7 +328,6 @@ public class LinkDiscovery implements TimerTask {
* port.
*
* @param t timeout
* @throws Exception
*/
@Override
public
void
run
(
final
Timeout
t
)
{
...
...
tools/package/bin/onos
View file @
4b42077
...
...
@@ -6,4 +6,4 @@
export
JAVA_HOME
=
${
JAVA_HOME
:-
/usr/lib/jvm/java-7-openjdk-amd64/
}
cd
$(
dirname
$0
)
/../apache-karaf-
$KARAF_VERSION
/bin
./client -h localhost
"
$@
"
./client -h localhost
-u karaf
"
$@
"
...
...
tools/package/bin/onos-service
View file @
4b42077
...
...
@@ -4,7 +4,7 @@
# -----------------------------------------------------------------------------
export
JAVA_HOME
=
${
JAVA_HOME
:-
/usr/lib/jvm/java-7-openjdk-amd64/
}
export
JAVA_OPTS
=
"
-Xms256M -Xmx2048M
"
export
JAVA_OPTS
=
"
${
JAVA_OPTS
:-
-Xms256M -Xmx2048M
}
"
cd
/opt/onos
/opt/onos/apache-karaf-
$KARAF_VERSION
/bin/karaf
"
$@
"
...
...
tools/package/debian/onos.conf
View file @
4b42077
...
...
@@ -12,6 +12,7 @@ respawn
env
LANG
=
en_US
.
UTF
-
8
env
JAVA_HOME
=/
usr
/
lib
/
jvm
/
java
-
7
-
openjdk
-
amd64
env
NEW_JAVA_HOME
=/
usr
/
lib
/
jvm
/
java
-
8
-
oracle
/
pre
-
stop
script
/
opt
/
onos
/
bin
/
onos
halt
2
>/
opt
/
onos
/
var
/
stderr
.
log
...
...
tools/test/bin/onos
View file @
4b42077
...
...
@@ -9,4 +9,4 @@
[
"
$1
"
=
"-w"
]
&&
shift
&&
onos-wait-for-start
$1
[
-n
"
$1
"
]
&&
OCI
=
$1
&&
shift
client -h
$OCI
"
$@
"
2>/dev/null
client -h
$OCI
-u karaf
"
$@
"
2>/dev/null
...
...
utils/misc/src/main/java/org/onlab/packet/IpAddress.java
View file @
4b42077
...
...
@@ -76,10 +76,10 @@ public final class IpAddress implements Comparable<IpAddress> {
/**
* Converts a byte array and a given offset from the beginning of the
* array into an IP address.
* <p
/
>
* <p>
* The IP address is stored in network byte order (i.e., the most
* significant byte first).
*
*
</p>
* @param value the value to use
* @param offset the offset in bytes from the beginning of the byte array
* @return an IP address
...
...
utils/misc/src/main/java/org/onlab/packet/IpPrefix.java
View file @
4b42077
...
...
@@ -17,13 +17,15 @@ package org.onlab.packet;
import
java.util.Objects
;
// TODO: Add support for IPv6 as well.
/**
* A class representing an IP prefix.
* TODO: Add support for IPv6 as well.
* <p/>
* A prefix consists of an IP address and a subnet mask.
* A class representing an IP prefix. A prefix consists of an IP address and
* a subnet mask.
* <p>
* NOTE: The stored IP address in the result IP prefix is masked to
* contain zeroes in all bits after the prefix length.
* </p>
*/
public
final
class
IpPrefix
{
// Maximum network mask length
...
...
@@ -97,7 +99,7 @@ public final class IpPrefix {
* Converts a CIDR (slash) notation string (e.g., "10.1.0.0/16") into an
* IP prefix.
*
* @param
value
an IP prefix in string form, e.g. "10.1.0.0/16"
* @param
address
an IP prefix in string form, e.g. "10.1.0.0/16"
* @return an IP prefix
*/
public
static
IpPrefix
valueOf
(
String
address
)
{
...
...
utils/misc/src/main/java/org/onlab/util/NewConcurrentHashMap.java
View file @
4b42077
...
...
@@ -24,8 +24,8 @@ import org.apache.commons.lang3.concurrent.ConcurrentInitializer;
* Creates an instance of new ConcurrentHashMap on each {@link #get()} call.
* <p>
* To be used with
* {@link org.apache.commons.lang3.concurrent.ConcurrentUtils#createIfAbsent
()
*
ConcurrentUtils#createIfAbsent}
* {@link org.apache.commons.lang3.concurrent.ConcurrentUtils#createIfAbsent
}
*
</p>
*
* @param <K> ConcurrentHashMap key type
* @param <V> ConcurrentHashMap value type
...
...
utils/netty/src/main/java/org/onlab/netty/MessageHandler.java
View file @
4b42077
...
...
@@ -24,8 +24,9 @@ public interface MessageHandler {
/**
* Handles the message.
*
* @param message message.
* @throws IOException
.
* @throws IOException
if an error is encountered handling the message
*/
public
void
handle
(
Message
message
)
throws
IOException
;
}
...
...
utils/nio/src/main/java/org/onlab/nio/MessageStream.java
View file @
4b42077
...
...
@@ -318,10 +318,10 @@ public abstract class MessageStream<M extends Message> {
* Attempts to flush data, internal stream state and channel availability
* permitting. Invoked by the driver I/O loop during handling of writable
* selection key.
* <p
/
>
* <p>
* Resets the internal state flags {@code writeOccurred} and
* {@code writePending}.
*
*
</p>
* @throws IOException if implicit flush failed
*/
void
flushIfPossible
()
throws
IOException
{
...
...
Please
register
or
login
to post a comment