1428 Commits
Author SHA1 Message Date
Glen Gibb bc2026689b Safety checks for ARP packets
Verify that ARP packets are for IP and that the protocol length is 4
before extracting source/destination IP addresses.
2009-12-11 15:43:35 -08:00
David Erickson b011d58f5d Added the ability to match fields in ARP packets.
Specifically implemented the ability to match on
the lower 8 bits of the ARP opcode as nw_proto, and
the ARP source and dest protocol addresses as nw_src
and nw_dst respectively.
2009-12-11 15:43:35 -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
David Erickson e224493afd Addresses issues raised by Brandon Heller's review 2009-12-11 15:43:35 -08:00
David Erickson bc94ac2e58 Improve flow duration precision
Improve precision of flow duration (time a flow has
been installed in a switch) from seconds to nanoseconds
to improve throughput measurement accuracy when using
flow stats messages. This implementation splits the
existing duration fields into duration_sec and
duration_nsec for both flow expiration and flow stats
messages. Passes included unit tests on Ubuntu 8.04.
2009-12-11 15:43:35 -08:00
Glen Gibb cb0c5d2101 Whatespace consistency fix in README
Replaced tabs with spaces. (Note: Adding a separate commit since the
original commmit was pushed to master.)
2009-12-11 15:43:35 -08:00
Yiannis Yiakoumis a906134053 Remove warning messages (mostly due to UNUSED params). 2009-12-08 15:53:01 -08:00
Yiannis Yiakoumis 4a53e14a2d Introduce --no-slicing option.
Enable ofdatapath to run without slicing.
When the related dependencies are not met,
using the --no-slicing runtime option, ofdatapath
can run without tc backend/frontend support (and
therefore without slicing support).
2009-12-08 15:17:51 -08:00
Yiannis Yiakoumis 66fab36e5e List slicing dependencies to INSTALL file. 2009-12-08 15:17:27 -08:00
Yiannis Yiakoumis 19bb7743e2 Fix len comment at ofp_action_enqueue (openflow.h)
All actions need to be *8 size. The length field
comment was left to the old 12 bytes value.
2009-12-08 09:41:16 -08:00
Justin Pettit 951f4ca9f5 Add new OpenFlow error messages for 1.0 release. 2009-12-07 23:45:02 -08:00
Yiannis Yiakoumis e30373a869 Fix bug that printed all packets in.
tap devices do not have any queue configuration.
But we need to set queue_fd[0] which is the default
socket that best-effort traffic goes out.
When this was not set, fd defaulted to 0, which is
stdio, and resulted to print all packets.

Thanks Mikio for spotting the exact problem.
2009-12-04 20:19:57 -08:00
Yiannis Yiakoumis 25fbffd3aa Update wireshark dissector with slicing messages. 2009-12-04 14:44:48 -08:00
Yiannis Yiakoumis f7d7efb043 Update testsuite with slicing tests.
Introduced the following tests :
 -> test_queue_config
 -> test_queue_stats
 -> test_forward_exact_queue.
2009-12-04 14:44:48 -08:00
Yiannis Yiakoumis 5733b22917 Updated datapath for slicing feature
This commit updates the userspace datapath to handle the slicing
mechanism.
	-> Keep list of queues per port.
	-> Map flows to queues
	-> Report queue configuration and statistics
	-> Send appropriate error messages
2009-12-04 14:44:48 -08:00
Yiannis Yiakoumis 201a5b7ab7 Update dpctl and ofp-print for slicing mechanism
Changes both for standard openflow messages and queue configuration.

Code by Dan Talayco.
2009-12-04 14:44:48 -08:00
Yiannis Yiakoumis bb59ae5d74 Openflow Vendor Extension (experimental) placeholder
Handle OF venor extensions (experimental). Currently only
for slicing configuration messages.
Slicing configuration messages are typically initiated by
dpctl. After capturing them here, we use the appropriate
functionality from datapath and netdev to change the
underlying queueing configuration.
2009-12-04 14:44:48 -08:00
Yiannis Yiakoumis 5731d545f1 Add queue support to netdev abstraction
netdev uses tc to implement the queueing mechanism.
Queue configuration takes place through dpctl.
Each queue is represented by a send-only socket, while
there is a default socket that receives traffic and
sends best-effort traffic. This is necessary to overcome
limitations from user-only implementation.
2009-12-04 14:44:48 -08:00
Yiannis Yiakoumis f53757c4dd Define vendor extension for queue configuration
Queue configuration is not part of the OpenFlow protocol.
We define a vendor extension to allow config through dpctl.

Code by Dan Talayco.
2009-12-04 14:44:48 -08:00
Yiannis Yiakoumis 7ef69e0259 Introduce slicing mechanism changes in spec and openflow.h
For further details refer to this feature wiki-page:
http://openflowswitch.org/wk/index.php/Slicing
2009-12-04 14:44:39 -08:00
Rob Sherwood 4e9d3f07f2 Updated contact information in README, etc.
Updated most references to contact
	openflow-discuss@openflowswitch.org
instead of
	info@openflowswitch.

Also added references to our bug tracking system:
	http://www.openflowswitch.org/bugs/openflow
2009-11-25 15:46:33 -08:00
Glen Gibb 39baa4058f Ensure flow_stats test returns an ofp_flow_stats
Fix the test_flow_stats test:
 - update the wildcard
 - specify valid IP addresses for src/dst
 - set the ethertype
 - verify that 1 ofp_flow_stats body is returned
2009-11-20 18:19:24 -08:00
Glen Gibb 13e6a2e26b Wireshark fix for flow_stats_request (out_port)
The wireshark dissector had not been updated to reflect the out_port
field in the flow_stats_request message. Added the out_port field.
2009-11-20 18:19:17 -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 9f15ba2113 Remove remote command execution support 2009-10-15 14:14:47 -07:00
Glen Gibb 0d2a787f01 Remove Nicira extension printing code 2009-10-15 14:14:47 -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 d1f4c793fa Remove Nicira vendor action print code 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
Glen Gibb 8c2e2dd667 Remove unused udp_open function
udp_open was used by NetLink code. Remove this function as the NetLink
code has been removed.
2009-10-14 15:56:36 -07:00
Glen Gibb cf13ab2dd9 Remove NetFlow from reference switch
Remove NetFlow code from reference switch, except in nicira-ext.h
2009-10-14 15:56:36 -07:00
Glen Gibb dcfbabe695 Unify big/little endian for PRIVATE vendor ext
Private vendor extension file had separate handling for big/little
endian. All places in the code where these values are put on/removed
from the wire are wrapped by hton* and ntoh* function calls, eliminating
the need for separate constants.
2009-10-14 15:56:36 -07:00
Glen Gibb 89941e139b Suport pretty-print for OFPRR_DELETE flow removed
If a flow is removed via a DELETE flow mod then print "delete" instead
of it's numerical value when an ofp_flow_removed is received.
2009-10-12 15:50:07 -07:00
Mikio Hara e58a082837 Change package version to 0.9.0-rev1 2009-09-04 18:03:12 -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 3eba67e011 Test harness: Tear a broadcast packet testing off a forward exact port
for modular test framework
2009-09-01 15:09:08 -07:00
Mikio Hara d1857c29ba Test harness: Add broadcast packet testing to forward exact port script
Thank you for your contribution, HP Labs.
2009-09-01 10:18:15 -07:00
Mikio Hara 32637a8693 Bug fix: Fix an insufficienty wildcards look up of VLAN PCP 2009-08-26 14:23:50 -07:00
Mikio Hara cd3bc540bd Bug fix: Fix VLAN PCP support for simple controller 2009-08-26 14:22:03 -07:00
Mikio Hara ce40743f5e Bug fix: Fix memory leak in mod_flow handler 2009-08-26 13:01:33 -07:00