Provides an abstraction which isolates the application from any pipeline
knowledge. By using the provided objectives applications can express
their forwarding desires in a pipeline agnostic way. The objectives
are then consumed by a driver for the specific device who converts them
into the appropriate pipeline coherent flows.
Change-Id: I74a68b4971c367c0cd5b7de9d877abdd117afa98
- Any files created in 2014 and modified in 2015 got a copyright of
2014-2015
- Used canonical form of 2014-2015 to be inclusive of extra years.
Some files had 2014,2015
Change-Id: If9a133618873e4000b8f10299bde7c870eb1fbd5
Prevent DistributedStatistics store from logging "rule has no output" for
rules that transition to other tables.
Change-Id: I85e86965f5609df608cbc19551632153960a5c5b
By default, treatments are all immediate. Treatments will be deferred if the builder
predicated by deferred(). Subsequent treatments will be deferred until immediate is called
on the builder again. Multiple calls to deferred and immediate are permitted.
Change-Id: I76b3a44f2219fc1e72a7fb41b72d7bd602be85b7
Also fixing flowRule table-awareness with changes reflected in flow identification (hashing)
and the karaf CLI.
Change-Id: I2fac83db8e0b54b802fb765ef9d82033f7478b99
We can't use both setInstructions and setActions, because the actions get
overwritten by the call to setInstructions.
Fixes ONOS-1113.
Change-Id: Id8bb1afd3da91966ce1345c6a1927f8fde5de3f4
Work toward ONOS-509
The following treatments are added/implemented:
- IPV6_SRC
- IPV6_DST
- IPV6_FLABEL
Also:
- Renamed L3ModificationInstruction.L3SubType.IP_SRC and IP_DST
to IPV4_SRC and IPV4_DST (for naming consistency).
- Few minor fixes in related code: Javadocs, comments, log messages,
and IP address usage.
Change-Id: I551056f767a37e7cb6ae7d79f4a3929183500b57
The subsystem no longer returns futures for tracking completion of work.
Notifications are explicitely returned via a call back mechanism. Also, the
subsystem is now asynchronous.
Change-Id: I1a4cef931c24820f9ae9ed9a5398f163f05dfbc9
more flowservice improvements
Change-Id: I5c9c1b6be4b2ebfa523b64f6f52e7634b7d3e05f
more flowservice impl
Change-Id: I05f6774460effb53ced8c36844bcda2f8f6c096f
Manager to store functional (at least i believe it)
Change-Id: I09b04989bd1004c98fe0bafed4c76714b9155d53
flow subsystem functional: need to fix unit tests
Change-Id: I1667f25b91320f625a03e5e1d5e92823184d9de0
flow subsystem functional
Change-Id: I429b3335c16d4fc16f5d55f233dd37c4d1d6111d
finished refactor of flow subsystem
Change-Id: I1899abc6ff6a974a2018d936cc555049c70a6804
fix for null flow provider to use new api
Change-Id: If2fd9bd5baf74d9c61c5c8085cef8bc2d204cbdc
Work toward ONOS-509
The following match conditions are added/implemented:
- IPV6_EXTHDR
Also, fixed the match criteria for the optical signal type
to represent unsigned 8 bits integer (per spec).
Change-Id: I925db19cb43c5d9f589c1f090b6a75faabe0a19b
match/action conditions
Fixed the signed/unsigned issue for the match conditions
Also:
* Reordered some of the code in CriterionCodec.java so the order
of handling various Criterion types follows the order as defined in
Criterion.java
- In the process, removed a duplicated entry for Type.MPLS_LABE
- Fixed an issue with TCP/UDP/SCTP ports being accessed as 8-bit integers
instead of 16-bit integers
* Updated some of the unit tests in CriterionCodecTest.java to use
larger integer values that could expose better potential bugs in
the tested code.
Change-Id: I531d13bd258ebc559ce6be716863c01613427a98
- Fixed PushHeaderInstructions bug, where half-baked Ethernet instace was used
only to hold ethernetType. (ONOS-987)
Change-Id: I330a862c8a18206250befbd4e22ee6d189beed83
Work toward ONOS-509
The following match conditions are added/implemented:
- IN_PHY_PORT
- IP_DSCP
- IP_ECN
- METADATA
Change-Id: I6f529ee90b2b9e0d5046f83c034e8be3faf86d8b
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
This reverts commit 9639df7bcf1bda1ebb22fe7d2850708992ccc38b.
This is due to the regression described in ONOS-825.
Change-Id: I2909ed3e3461439596f99bf0cd94da3792a0ff64
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
aovid duplicate call of toString.
Apply changes to FlowEntryBuilder and FlowModBuilder as well.
Fix missing break; issue.
Change-Id: I1a2e59ca943bbcc9677b9fc0cb9eb2f7cb3d7aa3
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
* 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