aboutsummaryrefslogtreecommitdiff
path: root/lib/automake.mk
AgeCommit message (Collapse)Author
2011-11-23vlandev: New library for working with Linux VLAN devices.Ben Pfaff
2011-11-21nx-match: Fold all of its data structures into mf_field.Ben Pfaff
This is less redundant.
2011-10-27Fix manpage-check on RHEL 5.Ben Pfaff
The version of groff on RHEL 5 doesn't include the .SY, .OP, or .YS macros that ovs-benchmark.1 uses, so the manpage-check target fails on that platform. This commit adds the groff definitions of those macros to a file and includes it into ovs-benchmark.1. I tested that this allows RHEL 5 to pass manpage-check.
2011-10-22Add back 802.1D Spanning Tree Protocol (STP) library code.Justin Pettit
At one point, the OVS distribution contained an IEEE 802.1D Spanning Tree Protocol (STP) library written by Ben Pfaff and based on the 802.1D-1998 reference code. It was never integrated into ovs-vswitchd, so it was removed as part of commit ba18611 (Remove vestigial support for Spanning Tree Protocol.) This commit reintroduces the library, cleans up a few spots, and makes it build cleanly against new code. A future commit will have ovs-vswitchd use this library.
2011-09-13Implement new "learn" action.Ben Pfaff
There are a few loose ends here. First, learning actions cause too much flow revalidation. Upcoming commits will fix that problem. The following additional issues have not yet been addressed: * Resource limits: nothing yet limits the maximum number of flows that can be learned. It is possible to exhaust all system memory. * Age reporting: there is no way to find out how soon a learned table entry is due to be evicted. To try this action out, here's a recipe for a very simple-minded MAC learning switch. It uses a 10-second MAC expiration time to make it easier to see what's going on: ovs-vsctl del-controller br0 ovs-ofctl del-flows br0 ovs-ofctl add-flow br0 "table=0 actions=learn(table=1, hard_timeout=10, \ NXM_OF_VLAN_TCI[0..11], NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[], \ output:NXM_OF_IN_PORT[]), resubmit(,1)" ovs-ofctl add-flow br0 "table=1 priority=0 actions=flood" You can then dump the MAC learning table with: ovs-ofctl dump-flows br0 table=1
2011-09-13meta-flow: New library for working with fields by id.Ben Pfaff
OVS already has a fairly good set of functions for working with fields that are known at compile time, but support for working with fields that are known only at runtime is fairly limited (and fairly unneeded). However, with NXM identifiers becoming more and more widely used throughout Nicira extensions, it's becoming corresponding more and more common to need to refer to fields at runtime. This new library represents a first attempt at a systematic approach for doing so.
2011-09-13ofp-util: Further abstract definitions of action properties.Ben Pfaff
This commit primarily moves the OFPAT_ACTION and NXAST_ACTION invocations into a new file ofp-util.def. This allows multiple places in the source to use them. This commit also adds a new function ofputil_action_code_from_name(). The following commit will add the first user.
2011-09-01lib: Rename rtnetlink.[ch] files.Ethan Jackson
The only rtnetlink specific functionality contained in the rtnetlink module is the use of the NETLINK_ROUTE protocol. This can easily be passed in by callers. In preparation for generalization, this patch renames rtnetlink.[ch] to netlink-notifier.[ch]. Future patches will complete the transition.
2011-08-24docs: Add Makefile rule to check syntax of manpages.Ben Pfaff
This should catch future nroff syntax errors immediately, instead of much later.
2011-07-26dirs: Make sysconfdir available via ovs_sysconfdir().Ben Pfaff
This will be used in upcoming patches.
2011-07-19vswitch: Implement bundle action.Ethan Jackson
This patch creates a new action called "bundle". Bundles are a way to implement a simple form of multipath in OpenFlow by grouping several ports in a single output-like action.
2011-07-13ovs-bugtool: Add plugins previously used only under XenServer.Ben Pfaff
All of the xen-bugtool plugins that OVS has previously installed only under XenServer are equally useful with Debian and other distributions, so this commit installs and uses them everywhere.
2011-05-12Merge 'master' into 'next'.Ben Pfaff
2011-05-10stream-ssl: Improve messages when configuring SSL if it is unsupported.Ben Pfaff
Previously, if --private-key or another option that requires SSL support was used, but OVS was built without OpenSSL support, then OVS would fail with an error message that the specified option was not supported. This confused users because it made them think that the option had been removed: http://openvswitch.org/pipermail/discuss/2011-April/005034.html This commit improves the error message: OVS will now report that it was built without SSL support. This should be make the problem clear to users. Reported-by: Aaron Rosen <arosen@clemson.edu> Feature #5325.
2011-05-04hmapx: New data structure.Ben Pfaff
2011-05-02netdev-linux: New functions for converting netdev stats formats.Ben Pfaff
An upcoming commit will introduce another function that needs to convert between rtnl_link_stats64 and netdev_stats, so it seemed best to just add functions to do the conversion.
2011-04-25vlan-bitmap: New data structure.Ben Pfaff
2011-04-11autopath: Create the autopath action.Ethan Jackson
The newly created autopath action will be the way OpenFlow interacts with the existing bonding infrastructure.
2011-04-01bridge: Break bonding implementation out into library.Ben Pfaff
This removes over 1000 lines of code from bridge.c and will make it easier to moving the bonding implementation into ofproto as part of future development.
2011-03-31sset: New data type for a set of strings.Ben Pfaff
Many uses of "shash" or "svec" data structures really call for a "set of strings" data type. This commit introduces such a data structure. Later commits convert inappropriate uses of shash and svec to use sset instead.
2011-03-31lib: Create new timer library.Ethan Jackson
Scattered throughout the code base we use long integers to implement timers. When the result of timer_msec() is greater than the time stored, we preform some action. This commit creates a new timer library intended to replace these manually managed timers. Code using the timer library will be more obviously correct, and more consistent with other code using the library.
2011-03-18vswitchd: Modularize LACP.Ethan Jackson
This commit pulls LACP code out of the bridge into its own LACP module. Currently this module is only used by the existing bonding infrastructure.
2011-03-16ofproto: Remove controller discovery support.Ben Pfaff
I've never heard of anyone actually using controller discovery. It adds a great deal of code to the source tree, and a little bit of complication to ofproto, so this commit removes it.
2011-02-22util: New function ovs_strzcpy().Ben Pfaff
Static analyzers hate strncpy(). This new function shares its property of initializing an entire buffer, without its nasty habit of failing to null-terminate long strings. Coverity #10697,10696,10695,10694,10693,10692,10691,10690.
2011-02-08ovsdb-client: Break table formatting into new library.Ben Pfaff
This makes the table formatting functions available to other programs. ovs-vsctl will start using it soon on the "list" and "find" commands.
2011-01-28datapath: Change dp_idx to dp_ifindex, the ifindex of the local port.Ben Pfaff
I can't see any real value in maintaining a dp_idx separate from the ifindex of the local port. With the current implementation it also artificially limits the number of datapaths. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jesse Gross <jesse@nicira.com>
2011-01-27datapath: Drop datapath index and port number from Ethtool output.Ben Pfaff
I introduced this a long time ago as an efficient way for userspace to find out whether and where an internal device was attached, but I've always considered it an ugly kluge. Now that ODP_VPORT_QUERY can fetch a vport's info regardless of datapath, it is no longer necessary. This commit stops using Ethtool for this purpose and drops the feature. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jesse Gross <jesse@nicira.com>
2011-01-14lib: Simplify rtnetlink routing functionality.Ethan Jackson
This commit removes the rtnetlink-route module and replaces it with a much simpler to use route-table module. The route-table uses rtnetlink to maintain a routing table which may be used to query the egress interface of particular addresses. This commit also converts netdev-vport to use the new route-table module.
2011-01-12Automatically extract error types and codes for formatting.Ben Pfaff
2011-01-04lib: Show tunnel egress interface in ovsdbEthan Jackson
This commit parses rtnetlink address notifications from the kernel in order to display the egress interface of tunnels in the database. Bug #4103.
2011-01-04rtnetlink: Remove LINK specific messages from rtnetlinkEthan Jackson
Abstracted rtnetlink so that it may be used for messages other than RTM LINK messages. Created a new rtnetlink-link module which specifically deals with these kinds of messages and follows the old rtnetlink API.
2010-12-17Implement a new Nicira extension action for multipath link selection.Ben Pfaff
2010-12-10netlink: Split into generic and Linux-specific parts.Ben Pfaff
The parts of the netlink module that are related to sockets are Linux-specific, since only Linux has AF_NETLINK sockets. The rest can be built anywhere. This commit breaks them into two modules, and builds the generic one on all platforms. Acked-by: Jesse Gross <jesse@nicira.com>
2010-12-06port-array: Remove.Ben Pfaff
This code had no remaining users.
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-11-30Implement stress option framework.Ben Pfaff
Stress options allow developers testing Open vSwitch to trigger behavior that otherwise would occur only in corner cases. Developers and testers can thereby more easily discover bugs that would otherwise manifest only rarely or nondeterministically. Stress options may cause surprising behavior even when they do not actually reveal bugs, so they should only be enabled as part of testing Open vSwitch. This commit implements the framework and adds a few example stress options. This commit started from code written by Andrew Lambeth. Suggested-by: Henrik Amren <henrik@nicira.com> CC: Andrew Lambeth <wal@nicira.com>
2010-11-30coverage: Make the coverage counters catalog program-specific.Ben Pfaff
Until now, the collection of coverage counters supported by a given OVS program was not specific to that program. That means that, for example, even though ovs-dpctl does not have anything to do with mac_learning, it still has a coverage counter for it. This is confusing, at best. This commit fixes the problem on some systems, in particular on ones that use GCC and the GNU linker. It uses the feature of the GNU linker described in its manual as: If an orphaned section's name is representable as a C identifier then the linker will automatically see PROVIDE two symbols: __start_SECNAME and __end_SECNAME, where SECNAME is the name of the section. These indicate the start address and end address of the orphaned section respectively. Systems that don't support these features retain the earlier behavior. This commit also fixes the annoyance that files that include coverage counters must be listed on COVERAGE_FILES in lib/automake.mk. This commit also fixes the annoyance that modifying any source file that includes a coverage counter caused all programs that link against libopenvswitch.a to relink, even programs that the source file was not linked into. For example, modifying ofproto/ofproto.c (which includes coverage counters) caused tests/test-aes128 to relink, even though test-aes128 does not link again ofproto.o.
2010-11-30vlog: Generate vlog-modules.def automatically.Ben Pfaff
2010-11-29Make installation directories overridable at runtime.Ben Pfaff
This makes it possible to run tests that need access to installation directories, such as the rundir, without having access to the actual installation directories (/var/run is generally not world-writable), by setting environment variables. This is not a good way to do things in general--usually it would be better to choose the correct directories at configure time--so for now this is undocumented.
2010-11-29Add new "dummy" netdev and dpif implementations for use in unit tests.Ben Pfaff
2010-11-29ovs: Implement 802.1ag Connectivity Fault ManagementEthan Jackson
This commit implements a subset of the 802.1ag specification for Connectivity Fault Management (CFM) using Continuity Check Messages (CCM). When CFM is configured on an interface CCMs are broadcast at regular intervals to detect missing or unexpected connectivity.
2010-11-17lib: Remove redundant dhparams.h from EXTRA_DIST.Ben Pfaff
This is redundant since it's also in lib_libopenvswitch_a_SOURCES. Also, remove duplicate blank line.
2010-11-10lib: Distribute nx-match.def, fixing "make dist".Ben Pfaff
2010-11-09ofproto: Implement Nicira Extended Match flexible flow match (NXM).Ben Pfaff
2010-10-29xtoxll: Rename "byte-order" since it now include more than xtoxll.Ben Pfaff
Suggested-by: Justin Pettit <jpettit@nicira.com>
2010-10-11netdev-vport: Merge in netdev-patch and netdev-tunnel.Ben Pfaff
The only real difference between netdev-patch and netdev-tunnel is in their parse_config() implementation. That's a lot of extra code to maintain, for questionable benefit. This commit merges them into the netdev-vport code, which was heretofore merely a collection of helper functions.
2010-08-25Implement initial Python bindings for Open vSwitch database.Ben Pfaff
These initial bindings pass a few hundred of the corresponding tests for C implementations of various bits of the Open vSwitch library API. The poorest part of them is actually the Python IDL interface in ovs.db.idl, which has not received enough attention yet. It appears to work, but it doesn't yet support writes (transactions) and it is difficult to use. I hope to improve it as it becomes clear what semantics Python applications actually want from an IDL.
2010-08-24netdev-gre: Genericize GRE netdev.Jesse Gross
Since the GRE netdev doesn't actually implement any of the GRE protocol, none of the code is really specific to GRE. This commit makes the netdev a little more generic so that additional tunnel types can easily piggyback on it in the future. 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-08-12uuid: Break code to read /dev/urandom into a new module.Ben Pfaff
This code is useful for seeding other random number generators, so we might as well make it a separate source file.