Commit Graph

316 Commits

Author SHA1 Message Date
Rob Sherwood 9b78488f60 unbroke kernel datapath build
* split durration into secs and nsecs for updated flow_remove
2009-12-11 18:17:45 -08:00
Rob Sherwood ed2d28c865 added dpctl support for setting ofp_desc_stat->dp_desc
* udatapath : tested and works
* kernel datapath : implemented, but build is broken :-(
* addressed Glen's code review at :
    https://mailman.stanford.edu/pipermail/openflow-dev/2009-December/000620.html
2009-12-11 18:16:39 -08:00
Yiannis Yiakoumis 9e82ac43ce Bugfix for check overlap flag
We didn't detect flow-mod conflict when adding a finer granularity
flow which conflicts with an installed, coarser granularity flow.

Thanks Justin for pointing this out :
https://mailman.stanford.edu/pipermail/openflow-dev/2009-November/000529.html
2009-12-11 18:15:45 -08:00
Brandon Heller bb697af959 Spec: remove multi_phy_tx spec text and capability bit
This flag was added on March 3, 2008 to comply with a specific vendor's
hardware limitations.  This vendor is out of business, and with the
assumption of a software datapath backup, it is unlikely that a switch
would be unable to support sending to a physical port and the controller
simultaneously.

This commmit removes the corresponding spec text and replaces the
capability bit with a reserved one.

Thanks to Justin Pettit for the history.
2009-12-11 18:14:38 -08:00
Mikio Hara f72223e66a Specify port number when requsting port stats
Enable the port stats for a particular port to be requested by
specifying a port number. Can request all port stats by specifying
OFPP_NONE for the port number.
2009-12-11 15:43:37 -08:00
Mikio Hara 1c9b2f7b2d IPv4 DSCP match: Add IPv4 DSCP field match feature
Note: Now regression test sets *and* tests the IPv4 DSCP bits.  Test
script was renamed from test_set_nw_tos to test_set_n_match_nw_tos.
2009-12-11 15:43:36 -08:00
Rob Sherwood 20634da473 added dp_desc field to ofp_stats_desc
added a human readable string to ofp_stats_desc to describe
the datapath, e.g., "switch4 in closet 3b of Gates"

* updated openflow.h
* updated udatapath: defaults to "$HOSTNAME pid=$$"
* updated kernel datapath: defaults to "$HOSTNAME idx=$i"
* updated wireshark plugin
* added regression test for ofp_desc_stats
* addressed KK's review comments from:
    https://mailman.stanford.edu/pipermail/openflow-dev/2009-December/000545.html
2009-12-11 15:43:35 -08:00
Mikio Hara 7d1591aec9 Add debian new kernel module build style support
Please run configure as
	./configure --with-l26=/lib/modules/`uname -r`
instead of
	./configure --with-l26=/lib/modules/`uname -r`/build
2009-10-21 11:35:38 -07:00
Mikio Hara 31a507fedc Adapt kernel datapath to new netdevice ops scheme
Note: 2.6.29 to 2.6.30 kernel provides CONFIG_COMPAT_NET_DEV_OPS,
so we recommend that use this option except 2.6.31 and higher kernel.
2009-10-21 11:35:30 -07:00
Glen Gibb f492a9d519 Remove tcp_flags/ip_tos tracking used by NetFlow 2009-10-15 14:14:47 -07:00
Glen Gibb 17af341ffe Don't perform 64-bit division in kernel
Replace 64-bit division (using '/') to call to do_div. This function is
designed for use in the kernel.
2009-10-15 14:14:47 -07:00
Glen Gibb ea288488c8 Replace ns_flow_end with ofp_flow_removed
datapath/udatapath now sends ofp_flow_removed messages instead of
nx_flow_end. This allows for the removal of secchan/flow-end.* as
flow-end message now no longer need to be translated.
2009-10-14 15:56:37 -07:00
Glen Gibb add3e639a9 Replace NXFER_* with OFPRR_* constants 2009-10-14 15:56:36 -07:00
Glen Gibb d1957f2054 s/nx_flow_end_reason/ofp_flow_removed_reason/g
Replaced references to custom Nicira flow end reason and replaced with
OpenFlow flow removed reason.
2009-10-14 15:56:36 -07:00
Glen Gibb 2b1c086060 Remove Nicira action processing
No custom Nicira actions in reference code so remove handlers from codebase.
2009-10-14 15:56:36 -07:00
Glen Gibb 5f171ff224 Remove unused Nicira message processing code
No longer sending NXT_FLOW_END_CONFIG messages so remove code associated
with this message.
2009-10-14 15:56:36 -07:00
Glen Gibb ec0c97d6a1 Removed send_flow_end field from datapath struct
send_flow_end was a hold-over from 0.8.x releases. Version 0.9 removed the
datapath-wide send flow mod expire flag and replaced it by a per-flow flag.
This field was used by the NetFlow code to force notification of expires.
2009-10-14 15:56:36 -07:00
tyabe db2c99e8e0 Update README on hwtable_nf2 2009-09-04 10:42:17 -07:00
Mikio Hara 7b0c7e50c7 Cosmetic changes 2009-09-04 09:58:01 -07:00
Mikio Hara 83fa636860 Start port enumeration: Change OpenFlow enabled NetFPGA start port
enumeration at 1 (by tyabe@stanford.edu)
2009-09-01 15:54:01 -07:00
Mikio Hara d3acb95186 Flow mod behavior: Support CHECK_OVERLAP feature on NetFPGA
implementaion (by tyabe@stanford.edu)
2009-09-01 15:49:47 -07:00
Mikio Hara 59c9a188d6 Cosmetic change: Made use of definition instead of raw value 2009-07-16 12:53:19 -07:00
Mikio Hara 3f3dc5f1fc Remove experimental XEN adaptation 2009-07-16 09:26:26 -07:00
Mikio Hara 623e899a93 Bug fix: Restore 64-bit struct alignment
Commit 238c5065 (Vlan pcp match: Reorder VLAN priority field...)
changed ofp_match from 36B to 40B, breaking the 8B alignment of a
number of structs.  This commit modifies those structs to at least
pass the assertion tests and regression tests.
2009-07-16 09:23:19 -07:00
Mikio Hara ad94e12a04 Change meaning miss_send_len of set config and max_len field of output
action

If "max_send_len" (or the "max_len" field for the controller output
action) is zero, then send a packet-in with zero bytes of the packet
data.
2009-07-15 09:47:15 -07:00
Mikio Hara 034c75b75d Emergency flow cache: Rename error code from OFPFMFC_EMERG to
OFPFMFC_BAD_EMERG_TIMEOUT
2009-07-15 09:38:15 -07:00
Mikio Hara 36a60a74fc Emergency flow cache: Suppress flow removed notification for flows in
emergency flow table, add logic to emergency flow to reject entries
with timer
2009-07-11 21:02:04 -07:00
Mikio Hara 9b3b165270 Change manufacturer information 2009-07-02 05:46:48 -07:00
Mikio Hara 01593f3c49 Namespace change: Rename flow expiration to flow removed 2009-07-01 19:58:06 -07:00
Mikio Hara 680f63b514 Rewrite IP ToS/DSCP: Add IP ToS/DSCP field rewrite feature 2009-07-01 11:28:51 -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 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 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 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 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
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
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
Mikio Hara 9cf6bcdd04 Add vendor extension stats hook patches from HPL (jt@hpl.hp.com)
vendor_stat: This is a patch that add vendor stats primitive and
reorganise the flow creation process. It does not add any
functionality, it just make it easier for us to add our own hooks.
2009-06-29 06:43:02 -07:00
Mikio Hara 43f19193fb Remove experimental SNAT (source NAT) support 2009-06-29 05:33:18 -07:00
Mikio Hara d56d5661df Protocol stats: Add OpenFlow protocol statistical information
collector

Fix BUG#49: Add OpenFlow protocol statistical information collector
and user interface. This feature use PRIVATE_VENDOR_ID to communicate
betwewn control plane process and user interface. PRIVATE_VENDOR_ID is
defined only for private use (and based on private OUI).
2009-06-29 05:22:54 -07:00
Mikio Hara 4b9c74b4bc Improve NetFPGA enabled OpenFlow switch
Fix BUG#45: Add watchdog timer with automatic table flush to prevent
unpredictable packet forwarding in case of datapth communication lost.
Fix BUG#46: Correct IP packet lenght handling.
2009-06-29 05:07:08 -07:00