716 Commits

Author SHA1 Message Date
Thomas Vachuska
4a51e57cbf Adding and fixing javados.
Change-Id: I38eddb0b11630cdd83c5d1e5d5dc393ee2555897
2015-02-07 21:36:23 -08:00
Pavlin Radoslavov
d0fd841978 Implement some of the missing Selector and Match Conditions
Work toward ONOS-509

The following match conditions are added/implemented:
  - IN_PHY_PORT
  - IP_DSCP
  - IP_ECN
  - METADATA

Change-Id: I6f529ee90b2b9e0d5046f83c034e8be3faf86d8b
2015-02-05 05:44:00 +00:00
sangho
5afd02ad09 ONOS-894 : Implemented GroupProvider
Change-Id: I2755abd433921a420ad545fcf6fef61e90a8b89f
2015-02-05 05:02:48 +00:00
sangho
8995ac580d ONOS-958: Add a Group action to TrafficTreatment subsystem.
Change-Id: I2a377508b9721ee96a5a52b0bb2ed3a960c982ce
2015-02-05 05:00:56 +00:00
sangho
87af81190e Added SpringOpenTTP switch driver (ONOS-822/ONOS-682).
Modified OpenFlpwRuleProvider to support FlowRule with multiple-table feature.

Change-Id: If95284077b96213593c5c1e3ab12900001bf49a2
2015-02-04 05:53:53 +00:00
Ayaka Koshibe
8eddc0d5cf NullLinkProviders join network islands deterministically.
- Added configuration parameters for order of instances.
  - got rid of 'flicker' flag since it's redundant.

Reference: ONOS-890

Change-Id: I0217e17f2a55d85e0a1fc8f2b3ea8cb54cb87517
2015-02-03 23:47:31 +00:00
Pavlin Radoslavov
320e6c97f8 Implement some of the missing Selector and Match Conditions
Work toward ONOS-509

The following match conditions are added/implemented:
 - UDP_SRC, UDP_DST
 - SCTP_SRC, SCTP_DST
 - ICMPV4_TYPE, ICMPV4_CODE
 - IPV6_FLABEL
 - IPV6_ND_TARGET
 - IPV6_ND_SLL
 - IPV6_ND_TLL

Also:
 * Renamed method
     TrafficSelector.Builder.matchInport(PortNumber port)
   to
     TrafficSelector.Builder.matchInPort(PortNumber port)
   (for consistency with the corresponding method(s) elsewhere)
 * Reordered the code for some of the existing matching conditions
   to follow the order in the OpenFlow spec, so it is easier to
   cross-reference such code.
 * Added missing Javadoc
 * Added few more Criterion.Type values as per OpenFlow spec 1.5.0

Change-Id: I7fc1656f32d8a7280c67d7827e4aa84528b0eafc
2015-02-03 14:40:08 +00:00
Sho SHIMIZU
aba9d009c9 Apply the naming convention to BatchOperationEntry
Resolve ONOS-889

Change-Id: I2001fabba138b9ff5be9a5943d3f020b4c38d195
2015-02-03 00:35:23 +00:00
Ayaka Koshibe
2a85e840b0 NullHostProvider - check for device ownership before host creation.
This is done by literal check of NodeId, as it is encoded in the
DeviceId.

Also includes minor fixes to config file parsing.

Reference: ONOS-873

Change-Id: Id333c109c3bb752dcb78ede3a4dfd94fec189cc0
2015-01-30 17:42:23 +00:00
sangho
3f97a17d9b (ONOS-684) Added a few new OF actions, which are required for Segment Routing Application
- MPLS POP (Ethernet type)
 - Dec MPLS TTL
 - Dec NW TTL
 - Copy TTL In
 - Copy TTL Out

Change-Id: I639a1bfff9ba3ae8c372c0a4b36f132cb2610b7b
2015-01-29 23:00:26 -08:00
Thomas Vachuska
02aeb0339f ONOS-542 Defining application subsystem interfaces & public constructs.
Change-Id: Iba0d2cb69dace5beee8a68def9918059ce755b5c
2015-01-30 00:28:45 +00:00
sangho
11c30ac6d3 Add a new method sendMsg(OFMessage msg, TableType type) in OpenFlowSwitch interface to support multiple-table aware FlowRuleService.
Other changes are caused due to the new method.
Add type() in FlowRule interface to determine the table in which the flow rule need to be set.

Change-Id: I6518a01f4a5fba23f09f70b619f3844b5e33ce8f
2015-01-29 09:35:06 -08:00
Ayaka Koshibe
35c71e12ee NullDeviceProvider now takes configurations for :
- Number of devices per ONOS instance.
  - Number of ports on the devices. This value is global.

The islands created by each instances' providers are joined together
in a chain (circle).

Reference : ONOS-860

Change-Id: I875ad1fbc1d4441869373c25de2ae5b62838e0d4
2015-01-29 04:50:07 +00:00
Sho SHIMIZU
500c317c2e Use diamond operator to simplify codes
Change-Id: I2cb27782c6f47c908d06e1877705921a5f57f91e
2015-01-27 23:44:18 +00:00
Thomas Vachuska
9ea3e6f477 ONOS-841 Renaming ONOS threads to simplify profiling.
Change-Id: I83a96bd875a0af9f3b78c06a9f9107c093b8e64e
2015-01-23 16:34:22 -08:00
Ayaka Koshibe
8851ed97c7 Trim whitespaces before and after .cfg file arguments.
Change-Id: Iaf165b4e289075376deab806d3c7c15169e3dca7
2015-01-23 17:47:04 +00:00
Ayaka Koshibe
0cd4282c8e NullLinkProvider only generates links between local devices.
Reference: ONOS-835

Change-Id: Icc378a053e54f2a3ffa0f29abd01782b80588239
2015-01-23 06:56:00 +00:00
Sho SHIMIZU
c0e8bfa98e Revert "Use Optional instead of null to remove FIXME comment"
This reverts commit 9639df7bcf1bda1ebb22fe7d2850708992ccc38b.
This is due to the regression described in ONOS-825.

Change-Id: I2909ed3e3461439596f99bf0cd94da3792a0ff64
2015-01-23 00:47:58 +00:00
Jonathan Hart
6cd2f3594b Implemented VLAN-to-VLAN routing support for SDN-IP.
SDN-IP can now support peering and routing between hosts that are connected
on VLANs.

Changes include:
 * Updated NetworkConfigReader app to read (optional) VLAN configuration
 * Updated VlanId to support the 'VLAN present' value - in a match this means
   that a VLAN tag must be present, but it can contain any value.
 * Updated SDN-IP to set destination VLAN tag values if appropriate
 * Updated FlowModBuilder and FlowEntryBuilder to support 'VLAN present' value
 * Slew of test updates.

Change-Id: Ief48cede5c1fd50e1efa851da5a97fb4a8edda29
2015-01-22 03:28:52 +00:00
Ayaka Koshibe
7dc1d04879 NullPacketProvider that generates PacketEvents at a specified rate
and behaves as a sink for network-bound events.

Reference: ONOS-665

Change-Id: I4e84929028094213baf0e9c27cef3a0b62ca1afb
2015-01-22 01:25:20 +00:00
alshabib
14233379e7 implementation of NullFlowProvider
Change-Id: Ieeb1006fac2aa14e7f225b7efe95d76fc485d56e
2015-01-22 01:15:07 +00:00
Sho SHIMIZU
9639df7bcf Use Optional instead of null to remove FIXME comment
Change-Id: I21c0cd954eaff4441392205aede95b34285f1402
2015-01-21 22:20:54 +00:00
suibin
abeb7fa4a1 Add clusterID info to Null Device ID so that multiple Null Device Providers can run on different nodes without collision.
Change-Id: I3c834a5f23f4813b9234beed3ae1c0e93e69360e
2015-01-21 17:53:02 +00:00
Sho SHIMIZU
fce9d4c211 Delete unnecessary semicolon
Change-Id: I19e82ef15c91411184f1bb9ad86dea668f48c63b
2015-01-21 16:47:10 +00:00
Jonathan Hart
29afca36c4 Fixed bug where ONOS sends actions in DELETE flow mods in OF1.0.
Fixes ONOS-787.

Change-Id: Ide8817927fc7a64da79df7998e3baebefb09de40
(cherry picked from commit 18679365afc6eab5cb13f702def99b3f077bf4ba)
2015-01-21 02:26:29 +00:00
Jonathan Hart
e46c0411e6 Protect against null pointers during deserializing.
Fixes ONOS-779.

Change-Id: I7e6a57457e287d28dd23946d677d3943443a435f
(cherry picked from commit eec297248bd066ca8b5eda166ca0791c7c6b85f2)
2015-01-20 23:15:57 +00:00
Kunihiro Ishiguro
0f9aba8e71 ONOS-635 Adding ICMPv6 type and code builder for HostMonitor.
aovid duplicate call of toString.

Apply changes to FlowEntryBuilder and FlowModBuilder as well.
Fix missing break; issue.

Change-Id: I1a2e59ca943bbcc9677b9fc0cb9eb2f7cb3d7aa3
2015-01-17 17:27:16 +00:00
Ayaka Koshibe
422916f1db NullLinkProvider to generate link events. This provider
currently chains null devices together in a linear topology.

The tunable parameters for this provider are:
  - flicker = [default false]  : flap the links by sending LinkEvents
  - eventRate = [default 3000] : time between LinkEvents, in msec

Reference: ONOS-446

Change-Id: I865c1c43c3216d9b64d67bda7c118bb041d5b1c9
2015-01-17 16:41:15 +00:00
Jonathan Hart
2ffcd10ac9 Add default drop rule in OF1.0 switches.
Default drop rule has the lowest priority and matches everything. This means
if a packet doesn't match any rules in the flow table, it is dropped. This
brings OF1.0 behaviour into line with OF1.3+ behaviour.

Change-Id: Id73839907a664bdccbc7a5eb904a8edd2a6222e7
2015-01-17 16:38:28 +00:00
Ray Milkey
e53f171fa9 ONOS-535 - capture and display ip address and port of switches
Change-Id: I1671113b35853e258986568cec3a385c281e1147
2015-01-16 22:23:56 +00:00
Ray Milkey
e0fade7785 ONOS-539 - Capture port names so CLI can display them
Change-Id: I40b24c401c782a452a66c081623f5bba5ea5c9af
2015-01-16 22:19:59 +00:00
Ray Milkey
d3edd037a1 Fix a typo in manufacturerDescription() method name
Change-Id: I8f95c6c0aa1ac6c59644828ddf2b82eea4c380a3
2015-01-16 11:38:58 -08:00
Charles M.C. Chan
52fae7da14 ONOS-509: Match IPV6_SRC, IPV6_DST criteria
* Following classes have been extended to match IPV6_SRC and IPV6_DST criteria:
    - Criteria
    - DefaultTrafficSelector
    - FlowEntryBuilder
    - FlowModBuilder

* Not included in this submission
    - Match of other IPv6-related criteria
    - Set of all IPv6-related criteria (action)

Change-Id: I115829a480356d2037e0fc809595f7a5eec25874
2015-01-16 18:11:27 +00:00
Jonathan Hart
3cfce8e3ac Moved default flows logic into the PacketManager.
This prevents us duplicating code in each of the apps and allows us to manage
packet requests better in the future.

Change-Id: I5656b2f0f3cecd3e42fe7b4a0a5ab7cb6582bb25
2015-01-16 00:26:30 +00:00
alshabib
839a5e62ac NullHostProvider does not report hosts for device the local instance is not master for
Change-Id: I41fbeb1d9fa9be48792a7f223481e42c27e02d72
2015-01-14 22:48:02 +00:00
Jonathan Hart
e8600eb0c4 Handle packets that can't be deserialized properly.
Catch BufferUnderflowExceptions that occur while trying to deserialzed
Ethernet packet, and account for the fact that packets may not have been
deserialized correctly when using InboundPackets.

Addresses ONOS-605.

Change-Id: Ia7191e62a339125c9c4d3fe0cf63f9c33eb74cb5
2015-01-13 21:59:54 +00:00
alshabib
3a21b78af3 very simple null host provider
Change-Id: I020ccd525e3e96a933ea9f69865d8e03af151500
2015-01-13 18:20:21 +00:00
Charles M.C. Chan
bc0e84dadf Fix javadoc warnings
[WARNING] /Users/rascov/onos/providers/lldp/src/main/java/org/onosproject/provider/lldp/impl/SuppressionRulesStore.java:88: warning: no description for @throws
[WARNING] /Users/rascov/onos/providers/lldp/src/main/java/org/onosproject/provider/lldp/impl/SuppressionRulesStore.java:146: warning: no description for @throws
[WARNING] /Users/rascov/onos/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpSession.java:706: warning: no @param for ctx
[WARNING] /Users/rascov/onos/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpSession.java:751: warning: no @param for ctx

Change-Id: Iae4d1826249e3612e1a16d1a9eeaebdc4c032f35
2015-01-13 23:59:06 +08:00
Charles M.C. Chan
fe42181ff5 ONOS-537 Provided maxLen setting to make sure packet data is sent with packet-in message. (OF1.3)
Apply Thomas Vachuska's solution of ONOS-537 (#2177) to FlowModBuilderVer13.
This solves the exception mentioned in the comment of ONOS-540.
Tested with OpenvSwitch 2.3.0 in Mininet 2.2.0.

Change-Id: I1f9d27d1b978ae01d16d63d6377046e4e2f3cd00
2015-01-12 18:20:51 +08:00
alshabib
612863442a null device provider implementation along with directory structure
for the other device providers

initial null provider directory structure

Change-Id: Ib7a766a854ba1863564ce2dc950f597a41a4e545

better with files

Change-Id: I041ea7bb718748e5f72ccaf06836c322b4e411d6

no binaries needed

Change-Id: I0bc978dd5bf6d20968bd1a28c6165b9f49ba585b

start nulldeviceprovider

Change-Id: If75bced900c185ca58a9302130c4d4a3cc18f12d

null device provider trivial implementation

supports hardcoded number of devices and ports, this will ultimately be extented to cli/rest configuration.

Change-Id: Iaeffc5526526b90fb1ecbcc0bd8b88103bdb921a
2015-01-12 03:54:25 +00:00
Pavlin Radoslavov
d36a74b11d Add explicit flow rules to receive control packets: ARP, LLDP, BDDP
This fixes ONOS-540

NOTES:
 * Currently, the flow rules are pushed by each module that needs to receive
   the corresponding control packets:
   - ARP: ProxyArpManager, HostLocationProvider
   - LLDP and BDDP: LLDPLinkProvider
 * Pushing the corresponding IPv6 rules for Neighbor Discovery is not done yet
 * In the future, we might want to consider an explicit service to
   subscribe for receiving particular control packets

Change-Id: I292ad11a2e48390624f381c278e55e5d0af93c6d
2015-01-09 22:03:35 +00:00
Thomas Vachuska
f4df00560f ONOS-537 Provided maxLen setting to make sure packet data is sent with packet-in message. Also added support for TrafficTreatment.Builder.punt();
Change-Id: I9f5577cf83b4d25c79459e56492be747a245397c
2015-01-06 12:30:18 -08:00
Charles M.C. Chan
ea5aa47ef7 Implement NDP-related classes
* Resolve ONOS-511
* Refactor: Move NDP-related classes into org.onlab.packet.ndp package
* Bugfix: payload is not properly set in testSerialize

Change-Id: Idb2dbfbd0297152c0e26ac2d5d5f8dba62824660
2015-01-06 02:57:58 +08:00
Charles M.C. Chan
7fee36a5eb Trace IPv6 hosts
ONOS-511: Implement NeighborSolicitation

Change-Id: I9aaf35d499cfc7885c74f9c4bf281210ef9f3969

ONOS-507: Trace NeighborSolicitation/NeighborAdvertisement/IPv6 packets in HostLocationProvider
	* Complete Javadoc of IPv6, ICMP6, NeighborAdvertisement and NeighborSolicitation
		- The Javadoc for serialize() is removed since the one in its superclass just works fine.
	* Change 'diffServ' in IPv6 to 'trafficClass' to meet the field name in RFC.
		- The setter method, getter method and unit test are also updated accordingly.
	* Add IpAddress.isZero() to determine if this address is zero.
		- The unit test is also updated accordingly.
	* Fix misuse of IpAddress.valueOf(int) in HostLocationProvider

Change-Id: Id0d873aeb1bc61bf26d4964e7aab4bb06ccd0a38
2015-01-01 19:25:29 +00:00
Yuta HIGUCHI
412893888e Configuration to suppress LLDP discovery
Change-Id: I3b14df6682839f14694b69330a0943facd4f3a6f
2014-12-24 08:22:20 +00:00
Jonathan Hart
d0ef752729 Parse set-field action in OF1.3 when creating flow rules from flow entries.
Closes ONOS-333

Change-Id: I7b032b3e6c874ded4c976de0afa3f4bbaa07df3c
2014-12-16 18:04:41 +00:00
Madan Jampani
a65f621842 [ONOS-447] Add org.osgi.core dependency to pom.xml. Fixes eclipse build issue
Change-Id: I8bfbc1e33326c1b23cafd3f82f129a708a5e9985
2014-12-08 17:45:27 +00:00
Brian O'Connor
7f2e9bf19a bumping version to 1.1.0-SNAPSHOT
Change-Id: I35f10fa7ffab12365ad852f5253bc1f395282f9b
2014-12-04 23:45:40 -08:00
Brian O'Connor
5b29ebd309 Bumping version to 1.0.0
Change-Id: I0cdd1f64a9292c91af27b86e89bd8251b2c298f3
2014-12-04 21:54:26 -08:00
alshabib
4785eec529 removing some TODOs
Change-Id: Ic98c811573a1b37813993eedddec512ec85729f3
2014-12-05 00:59:35 +00:00