Brandon Heller
e9353ae079
Spec: Add _EPERM error codes
...
An OpenFlow hypervisor might choose to reject an OpenFlow request, but
currently has no message type defined for this error. It is not a
vendor-specific error, thus we define an _EPERM error code for each error
type.
Also remove unused, commented-out text.
2009-06-29 11:37:14 -07:00
Brandon Heller
c249b48f83
Spec: Replace hardcoded constant for MISS_SEND_LEN
2009-06-29 11:36:33 -07:00
Brandon Heller
31955e3ea4
Spec: Clarify buffer behavior
2009-06-29 11:36:33 -07:00
Brandon Heller
cec522cd66
Spec: Clarify format for Strip VLAN action
...
Clarify that the OFPAT_STRIP_VLAN action takes no argument and strips the
VLAN tag if one is present. The header is the generic action header.
2009-06-29 11:36:33 -07:00
Brandon Heller
16e2b8ba6d
Spec: Clarify transaction ID for error messages
...
Note that if an error is in response to a specific message from the
controller, the transaction ID should match that from the original
request.
2009-06-29 11:36:32 -07:00
Brandon Heller
4b969c68f3
Spec: Clarify matching for disabled STP ports
...
Packets received on ports that are disabled by spanning tree must follow
the normal flow table processing path.
2009-06-29 11:36:32 -07:00
Brandon Heller
3a7d98b612
Spec: Clarify matching behavior for flow mods and stats
...
The spec does not currently define how wildcard matching should behave for
flow modification (specifically DELETE and MODIFY commands) and stats.
This commit adds text to define behavior when some fields are wildcarded
and others are left exact.
2009-06-29 11:36:32 -07:00
Brandon Heller
1592042b19
Spec: Minor rearrangement of flow add text
2009-06-29 11:36:32 -07:00
Brandon Heller
0c370a5ef9
Spec: Remove distinction between Type 0 and Type 1
...
People tend to get confused about "Type 0" and "Type 1" vs "Version 1.0" and
"Version 2.0". To simplify, we'll drop the reference to types.
2009-06-29 11:36:32 -07:00
Mikio Hara
0e59606d43
Remove experimental bridge compat header file
2009-06-29 11:36:09 -07:00
tyabe
c5ca36a509
Emergency flow cache: Add regression test for emergency flow cache
2009-06-29 11:31:14 -07:00
Mikio Hara
292ffb1f39
Barrier command: Add new protocol messages: barrier request and reply
...
When a switch receives a barrier message it must first complete all
commands sent before the barrier message before executing any commands
after it. When all commands before the Barrier message have completed,
it must send a barrier reply message back to the controller.
2009-06-29 11:21:40 -07:00
Mikio Hara
6265df8d21
Remove experimental bridge compat framework
2009-06-29 10:04:11 -07:00
Mikio Hara
1ae2cd3781
Start port enumeration: Change OpenFlow start port enumeration at 1
2009-06-29 10:02:02 -07:00
Yiannis Yiakoumis
a47208dc76
Flow mod behavior: Add a new flag to flow mods and flow conflict
...
detection handler for table maintanance
Add a CHECK_OVERLAP flag to flow mods which requires the switch to do
the (potentially more costly) check that there doesn't already exist a
conflicting flow with the same priority. If there is one, the mod
fails and an error code is returned.
Flow expiry: Record OFPFF_SEND_FLOW_EXP flag in user data path
2009-06-29 10:00:55 -07:00
tyabe
c42075a48f
Vlan pcp match: Regression tests modification and addition
2009-06-29 07:34:10 -07:00
tyabe
12760f91f2
Vlan pcp match: Add vlan_pcp for parse in dpctl.c
2009-06-29 07:29:21 -07:00
tyabe
7b35e83172
Vlan pcp match: Wireshark dissector support
2009-06-29 07:29:10 -07:00
tyabe
37d17d3012
NetFPGA project "register_system_2.0" adaptation
2009-06-29 07:28:44 -07:00
tyabe
73f268ab10
Vlan pcp match: Implemented on hwtable_nf2 (NetFPGA)
2009-06-29 07:28:26 -07:00
tyabe
dde4979698
Vlan pcp match: Implemented on datapath and udatapath
2009-06-29 07:27:42 -07:00
tyabe@stanford.edu
5cebe4612a
Flow expiry: Expire message when flow is deleted: NetFPGA support
2009-06-29 07:27:05 -07:00
Glen Gibb
875412fefd
Flow expiry: Correct function proto for vendor_stats_init
2009-06-29 07:26:36 -07:00
tyabe
e57b99969d
Modify regression tests so as to: have an ability to reduce the number
...
of test port fix hard-coded max-ports number (thanks to Jean)
2009-06-29 07:25:08 -07:00
Glen Gibb
fcfd27a96d
Flow expiry: Test that flow expires are sent on flow delete
2009-06-29 07:08:30 -07:00
Glen Gibb
463abf9568
Flow expiry: Added OFPER_DELETE to known expire reasons
2009-06-29 07:08:17 -07:00
Glen Gibb
fddc939b07
Flow expiry: Send flow expires on delete
...
Set the reason to OFPER_DELETE
2009-06-29 07:08:01 -07:00
Brandon Heller
b5525791b5
Spec: Notify controller of flows that are forcefully deleted
...
Previously, a switch would only notify the controller when flows expired.
Now, when a switch is told to delete flows, it sends a flow expiration
message, enabling the controller to get packet and byte counts from
deleted flows. Without this, the controller must retrieve flow statistics
and then delete the flow, during which time the counts could change. This
could also aid in debugging if multiple applications or programs
controlling the same switch are deleting each others' flows.
This commit adds a OFPER_DELETE as a choice for the reason field of a flow
expiration.
2009-06-29 07:07:29 -07:00
Glen Gibb
33905ad47a
Flow expiry: Added test to verify OFPFF_SEND_FLOW_EXP flag
2009-06-29 07:07:19 -07:00
Glen Gibb
039dc27cd3
Flow expiry: Remove enable_flow_expirations from everything
2009-06-29 07:06:56 -07:00
Glen Gibb
ef82985afe
Flow expiry: Set flags when creating flow mods
...
Each flow mod now has a send_flow_expiry flag indicating whether an
expiry message should be generated. The global config setting no longer
applies.
2009-06-29 07:06:28 -07:00
Glen Gibb
77a367ecd4
Flow expiry: Dissector now uses per-flow expiry
2009-06-29 07:06:07 -07:00
Glen Gibb
b2b952792e
Flow expiry: Replace refernces to OFPC_SEND_FLOW_EXP refs
...
Replaced references to OFPC_SEND_FLOW_EXP in dpinst with flow->send_flow_exp
2009-06-29 07:05:27 -07:00
Glen Gibb
b7e8127132
Flow expiry: Remove send_ofp_exp references
2009-06-29 07:05:11 -07:00
Glen Gibb
500fb599be
Flow expiry: Send flow exp if the flow's send_exp flag is set
2009-06-29 07:04:48 -07:00
Glen Gibb
0b96028bea
Flow expiry: Send flow exp only if flow's send expiry flag set
2009-06-29 07:04:34 -07:00
Glen Gibb
b6309b3236
Flow expiry: Record the OFPFF_SEND_FLOW_EXP flag
2009-06-29 07:04:19 -07:00
Glen Gibb
44d43c2988
Flow expiry: Add send_flow_exp to nx_flow_end msg
...
Need to pass message that indicates whether to send flow expiry message
to the controller.
2009-06-29 07:04:02 -07:00
Glen Gibb
1f535b5443
Flow expiry: Add a send_flow_exp flag to the sw_flow struct
...
This flag is used to indicate whether a flow expiry should be sent to
the controller.
2009-06-29 07:03:31 -07:00
Glen Gibb
c6f1379fff
Flow expiry: Remove all references to OFPC_SEND_FLOW_EXP
2009-06-29 07:03:06 -07:00
Brandon Heller
a00b917457
Spec: Selective flow expirations
...
Make flow expirations per-flow-entry, rather than per-switch.
This commit should give controllers extra flexibility to decide when they
want expirations, will simplify the job of an OpenFlow hypervisor, and may
reduce CPU load at the switch.
2009-06-29 07:02:44 -07:00
Glen Gibb
34a0ecdf64
Flow expiry: Verify the idle_timeout in a flow expiry message
2009-06-29 07:00:54 -07:00
Glen Gibb
f209f3a9be
Flow expiry: Add ability to test idle_timout in flow expire
...
Can check the idle_timeout value in ofp_flow_expire messages by
specifying an idle_timeout when calling the various wait_for_flow
functions.
2009-06-29 07:00:28 -07:00
Glen Gibb
11dab620bd
Flow expiry: Populate idle_timeout field of ofp_flow_expire
...
Copy value from the nx_flow_end struct passed into the function.
2009-06-29 07:00:11 -07:00
Glen Gibb
0947229ada
Flow expiry: Pretty-print idle_timeout for nx_flow_end msg
2009-06-29 06:59:30 -07:00
Glen Gibb
ad42ba0b93
Flow expiry: Added idle_timout to nx_flow_end struct
...
Extra field added to struct
Padding field split
Populate idle_timeout in dp_send_flow_end funcs
2009-06-29 06:59:05 -07:00
Glen
e1e828de32
Flow expiry: Pretty-printing of idle timeout in flow expire msg
2009-06-29 06:58:48 -07:00
Glen
d1a10670fd
Flow expiry: Dissect idle timeout in ofp_flow_expire message
2009-06-29 06:58:28 -07:00
Glen
feb1764b43
Flow expiry: Add idle timeout to ofp_flow_expire struct
2009-06-29 06:58:07 -07:00
Mikio Hara
58ee7f213f
Emergency flow cache: Add emergency flow cache framework
...
Emergency flow cache use completely separate flow table from working
and its table ID for stats is 0xfe.
2009-06-29 06:57:37 -07:00