aboutsummaryrefslogtreecommitdiff
path: root/lib/learning-switch.h
AgeCommit message (Collapse)Author
2013-08-27lib: Keep track of usable protocols while parsing.Jarno Rajahalme
Keep track of usable protocols while parsing actions and matches, rather than checking for them afterwards. This fixes silently discarded meter and goto table instructions when not explicitly specifying the protocol to use. Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-08-07learning-switch: Make lswitch own its rconn.Ben Pfaff
Until now, ovs-controller and the learning-switch code split responsibility for the OpenFlow connection. This commit moves all the responsibility into the learning-switch code. The rationale here is twofold. First, the split itself seems odd; I think there must have been a reason for it at one time, but I don't remember it and don't see one anymore. Second, I intend to make the lswitch code more stateful in upcoming commits, and it seems odd to have the lswitch manage quite a bit of state but not the entity that that state applies to. Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-06-12openflow-1.0: Rename ofp_match to ofp10_match, OFPFW_* to OFPFW10_*.Ben Pfaff
This better fits our general policy of adding a version number suffix to structures and constants whose values differ from one OpenFlow version to the next. Reviewed-by: Simon Horman <horms@verge.net.au> Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-05-22simap: New data structure for string-to-integer maps.Ben Pfaff
This commit adapts a couple of existing pieces of code to use the new data structure. The following commit will add another user (which is also the first use of the simap_increas() function). Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-05-02Global replace of Nicira Networks.Raju Subramanian
Replaced all instances of Nicira Networks(, Inc) to Nicira, Inc. Feature #10593 Signed-off-by: Raju Subramanian <rsubramanian@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-03-07Introduce ofputil_protocol, to abstract the protocol in use on a connection.Ben Pfaff
Open vSwitch already handles a few different protocol variations, but it does so in a nonuniform manner: - OpenFlow 1.0 and NXM flow formats are distinguished using the NXFF_* constant values from nicira-ext.h. - The "flow_mod_table_id" feature setting is maintained in ofproto as part of an OpenFlow connection's (ofconn's) state. There's no way to easily communicate this state among components. It's not much of a problem yet, but as more protocol support is added it seems better to have an abstract, uniform way to represent protocol versions and variants. This commit implements that by introducing a new type "enum ofputil_protocol". Each ofputil_protocol value represents a variant of a protocol version. Each value is a separate bit, so a single enum can also represent a set of protocols, which is often useful as well. Reviewed-by: Simon Horman <horms@verge.net.au> Signed-off-by: Ben Pfaff <blp@nicira.com>
2011-06-01ovs-controller: Allow --wildcards to specify a wildcard set.Ben Pfaff
Based on a patch by Jean Tourrilhes <jt@hpl.hp.com>. According to Jean, besides increasing flexibility, this reduces normalization warnings. Tested-by: Jean Tourrilhes <jt@hpl.hp.com>
2010-12-06queue: Get rid of ovs_queue data structure.Ben Pfaff
ovs_queue doesn't seem very useful; it's just a singly-linked list. It's more generally useful to use a general-purpose "struct list" for lists of packets, so this commit adds such a member to "struct ofpbuf" and shifts the existing users to use it.
2010-10-01ovs-controller: Improve QoS abilities.Ben Pfaff
This makes it a little easier to test Open vSwitch QoS features using ovs-controller, by making it possible to assign queues on the basis of input port, instead of just allowing a single queue for a whole switch. CC: Michael Mao <mmao@nicira.com>
2010-10-01learning-switch: Introduce struct for configuration.Ben Pfaff
This should make extensions easier.
2010-10-01ovs-controller: Make --with-flows read the file only once, at startup.Ben Pfaff
A couple of people have reported that ovs-controller --with-flows is confusing. This seems to be because it doesn't read the file with the flows until the first connection from a switch. Then, if the file has a syntax error, it exits. This commit changes the behavior so that it reads the file immediately at startup instead.
2010-08-30treewide: Remove trailing whitespaceJoe Perches
Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Simon Horman <horms@verge.net.au> Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-13Remove vestigial support for Spanning Tree Protocol.Ben Pfaff
Open vSwitch has never properly supported IEEE 802.1D Spanning Tree Protocol (STP), but it has various bits and pieces that claim to support it. This commit deletes them, to reduce the amount of dead code in the tree. We can always reintroduce it later if it proves to be a good idea. Bug #1175.
2010-07-30learning-switch: Add ability to define default flowsJustin Pettit
Add an argument to the function to create a learning switch, which defines default flows to be pushed down to connecting switches. It does nothing to enforce that they remain intact. It only pushes flows on switch connection.
2010-07-20learning-switch: Add support for OpenFlow queues.Ben Pfaff
Before, an lswitch always sent packets using OFPAT_OUTPUT, which always uses the default OpenFlow queue. To help me debug the Open vSwitch QoS implementation, I want to be able to send packets on other queues, so this commit adds that feature.
2009-11-19ovs-controller: Add --wildcard and --normal features.Jean Tourrilhes
This adds two command line switches to ovs-controller to: 1) Use wildcards instead of exact matches. 2) Use "normal" action instead of explicit port.
2009-06-15Update primary code license to Apache 2.0.Ben Pfaff
2009-07-08Import from old repository commit 61ef2b42a9c4ba8e1600f15bb0236765edc2ad45.v0.90.0Ben Pfaff