256 Commits

Author SHA1 Message Date
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
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
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
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
Sho SHIMIZU
500c317c2e Use diamond operator to simplify codes
Change-Id: I2cb27782c6f47c908d06e1877705921a5f57f91e
2015-01-27 23:44:18 +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
Sho SHIMIZU
9639df7bcf Use Optional instead of null to remove FIXME comment
Change-Id: I21c0cd954eaff4441392205aede95b34285f1402
2015-01-21 22:20:54 +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
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
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
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
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
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
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
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
Pavlin Radoslavov
369c643802 Use two thread pools for handling the OpenFlow STATS and BARRIER messages.
This fixes a problem where a large number of incoming STATS messages
is practically using all available threds from the pool (16), and
there are no available threads to handle the BARRIER messages.

Change-Id: I1130eb8f3b5a17d5d3a7825f32da68eacb99569a

fixing other threadpool issues, ie. not using cachedThreadPool

Change-Id: I40ef10e1f704aef779b2a23c0497dfb7992520eb
2014-12-04 02:06:53 +00:00
Praseed Balakrishnan
db8a9d21f9 Fix serializer exception while using optical intent on distributed store
Change-Id: If19a0c12eb0d88d2daa57c16fb1b626b7c0f428f
2014-12-03 21:44:22 +00:00
alshabib
64def641af aggregate flow replies on io thread
Change-Id: I622290f213ee830cfab7e4bd4ad7a52f612b475e
2014-12-03 09:07:40 +00:00
Brian O'Connor
abafb50f58 Changing org.onlab.onos package to org.onosproject
Change-Id: Ic81421faa27acdcff045add47d9e0a715cd4f575
2014-12-02 22:26:20 -08:00
Brian O'Connor
03defe7939 Moving org/onlab/onos to org/onosproject
Change-Id: I742627fe0862cac78391cf70010f99dc26dce1e6
2014-12-02 22:22:39 -08:00
Yuta HIGUCHI
82e5326b23 For ONOS-356
- Add current InstallationFuture information on TimeoutException
- Set timeout values propotional to batch size
- Fix for ConcurrentModificationException
- Check if src/dst is part of the graph before path computation

Change-Id: Iabeac7939c52502b83bf9ebcbe2023539de3ae99
2014-11-28 19:00:56 -08:00
Yuta HIGUCHI
804a4bb06a InstallationFuture: latch after setting error info
Change-Id: Ib7d1f01228a792707a865f71f19c0d3fa96dc1f0
2014-11-28 19:00:56 -08:00
Pavlin Radoslavov
119fd5c5a5 Javadoc fixes.
Change-Id: Ic2cef19a6f1af9916c8615c9319cc122d9da5383
2014-11-26 03:17:20 +00:00
Jonathan Hart
1f8e0d760c Add a case to handle 1.3 set-field actions when parsing flow entries.
The handling is not actually implemented, I just want to suppress the log
message for now. I have a task on Jira to actually implement this: ONOS-333

Change-Id: I9b230e7c602a61f3c2a0c35ae04ae06e305cd439
2014-11-25 23:57:50 +00:00
Jonathan Hart
58682ddc5e Lower log level of frequently-executed flow stats code
Change-Id: I2901a8ede86531677d506c54f7ee2878ef62bb49
2014-11-25 18:01:21 +00:00
Jonathan Hart
cf7832077b Changed back to used Apply Actions to find the actions
Change-Id: Ia08d60d623656bb12c8380d7ca0597a7fc4e89ce
2014-11-24 19:16:25 -08:00
Brian O'Connor
427a1760d4 Updating Intent Manager to deal with failures.
Added ids to Flow batch futures.
Adding some basic unit tests for IntentManger
Adding failedIds to the completedOperation in FlowRuleManager

Change-Id: I7645cead193299f70d319d254cd1e82d96909e7b
2014-11-23 16:16:34 -08:00
Yuta HIGUCHI
faf9e1c3b0 Lower log level
- periodic non-error log to trace
- Host event to debug

Change-Id: I1a3e746f4cafe72dbaa648ac379a0548a93445e4
2014-11-20 10:08:43 -08:00
Ray Milkey
241b96accd Fix high priority findbugs reported issues
Fixed some code that was reporting findbugs errors

Implemented a suppression mechanism for findbugs
reported errors and a suppression file.

Change-Id: Ie8a2e84cc57ec6ddfa14d782ee89feb095b9dd59
2014-11-17 16:38:30 -08:00
Praseed Balakrishnan
8c67d17142 MPLS label selector and treatment
Change-Id: Id1fba1e04155e6d97de4c8fd95573641537f1b7a
2014-11-15 10:42:36 -08:00
Thomas Vachuska
9b2da21522 Fixing flow rule batches
Problem should now be fixed. Hashing on enums last is a bad
idea because the enum value could be 0.

Change-Id: Ib29e90b393b5285be2807729b52e69b121340f09
2014-11-11 17:08:14 -08:00
Brian O'Connor
e4adf24970 remove actions from flowmod delete
Change-Id: I8cf6e940faf28b4f796e820827c307bf3c65ef16
2014-11-09 02:46:26 -08:00
Pavlin Radoslavov
ff894a2fcb Use Ip4Address and Ip4Prefix inside FlowEntryBuilder when dealing
with IPv4 source or destination.

Change-Id: Ia9084c2361b296d8636052e859c2a2d1516a4a11
2014-11-05 16:09:35 -08:00
Pavlin Radoslavov
23e398d804 Updated the Flow Mod builders (FlowModBuilder, FlowModBuilderVer10,
and FlowModBuilderVer13) to use Ip4Address and Ip4Prefix
instead of the generic IpAddress and IpPrefix when handling
IPv4 source and destination.

Change-Id: If35d735efe4cf557c79dc04eccf38f6a909e4506
2014-11-05 15:17:57 -08:00
Ray Milkey
7808105d8c Add unit test for Instructions class and improve Criteria toString() test
Change-Id: Ie1ffb4ca0c0bcd168625213fecbdb3818a61704e
2014-11-05 12:36:36 -08:00
Praseed Balakrishnan
5c324331e3 Merge branch 'master' of ssh://gerrit.onlab.us:29418/onos-next 2014-11-03 14:56:44 -08:00
Praseed Balakrishnan
2dd5abd17f Optical Treatment to include SigType 2014-11-03 14:56:28 -08:00
Pavlin Radoslavov
d0e32d7486 Added support for IPv6 addresses to class IpAddress:
- For some of the methods, the IP Version needs to be specified by the
   caller. This applies to the IpPrefix API as well.
 - For now, everywhere IpAddress is used and the IP version has to be
   explicitly specified by the caller, we assume/specify IPv4.
 - Added unit test for class IpAddress: for both IPv4 and IPv6 addresses.
2014-10-31 18:11:43 -07:00
Ayaka Koshibe
3ef2b0db6c vertical feedback path for Role replies
Change-Id: I31bdb85f90901ec79147adeea0df8ceae00ed1dc
2014-10-31 14:02:54 -07:00
Pavlin Radoslavov
855ea2d5b9 Refactor the IpPrefix API and implementation:
* Now IpPrefix uses IpAddress to represent the subnet address
 * The IpPrefix subnet address is masked-out by the prefix length.
   E.g., IpPrefix("1.2.3.4/24") is now stored as IpPrefix("1.2.3.0/24")
 * Removed IpPrefix methods that are not used or don't apply anymore
 * Replaced usage of IpPrefix with IpAddress where appropriate
2014-10-30 15:32:39 -07:00
Pavlin Radoslavov
52307e60ba IpAddress and IpPrefix related cleanup:
* Removed IpAddress.MAX_INET_MASK and use IpPrefix.MAX_INET_MASK_LENGTH
   instead
 * Renamed IpAddress.INET_LEN to INET_BYTE_LENGTH
 * Added IpAddress.INET_BIT_LENGTH, INET6_BYTE_LENGTH, and INET6_BIT_LENGTH
 * Removed methods that are semantically incorrect, or are not needed/used
   - IpAddress.prefixLength()
   - IpAddress.toPrefix()
   - IpAddress.mask()
   - IpAddress.netmask()
   - IpAddress.network()
   - IpAddress.host()
   - IpAddress.isMasked()
   - IpAddress.contains()
   - IpPrefix constructor for version and bytes (but no netmask)
   - IpPrefix.valueOf(int)

 * Misc. other cleanup.
2014-10-29 15:07:37 -07:00
Thomas Vachuska
4f1a60c9fd Revised copyright message. 2014-10-28 13:39:11 -07:00
Jonathan Hart
d4a8bba682 Changed back to using apply-actions in 1.3 because LINC-OE doesn't support write-actions
Change-Id: I5fcd386d329d1d520da31098c81f25c5cd877c1f
2014-10-28 12:44:20 -07:00
Thomas Vachuska
e0f804aa3f Added application ID store; both trivial and distributed variants. 2014-10-27 23:40:48 -07:00