summaryrefslogtreecommitdiff
path: root/build-aux
Commit message (Collapse)AuthorAgeFilesLines
* xml2nroff: New program to generate a manpage from XML input.Ben Pfaff2015-02-191-0/+123
| | | | | | | | | I really can't stand nroff syntax. This makes it possible to install nroff but write in a more sensible XML syntax. The following commit adds the first user. Signed-off-by: Ben Pfaff <blp@nicira.com>
* ofp-actions: Support "copy_field" ONF extension to OpenFlow 1.3.Ben Pfaff2014-12-051-0/+1
| | | | | | ONF-JIRA: EXT-320 Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Thomas Graf <tgraf@noironetworks.com>
* cccl: Respect silent flags.Joe Stringer2014-12-041-1/+3
| | | | | | | | | Automake sets $V to tell the compiler whether to print verbose messages as it compiles or not. Add support for this variable in cccl, allowing more quiet build output on windows if the build is configured with --silent or the developer runs make V=0. Signed-off-by: Joe Stringer <joestringer@nicira.com>
* dist-docs: New utility to generate a documentation bundle for the website.Ben Pfaff2014-12-021-0/+153
| | | | | | | | | | | | | | This utility isn't going to be as portable as most of the Open vSwitch utilities, unfortunately. I'm happy to take improvements to make it able to work with, e.g., the "man" program from BSD. (I haven't tested with that program, but I suspect that it is somewhat different from the GNU version.) The output of this program can already be viewed at: http://openvswitch.org/support/dist-docs/ Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Thomas Graf <tgraf@noironetworks.com>
* include: Use #include <.*> in public headers.Thomas Graf2014-11-121-1/+1
| | | | | | | | Required to make the headers installable. Signed-off-by: Thomas Graf <tgraf@noironetworks.com> Acked-by: Flavio Leitner <fbl@redhat.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* flow: Support OF1.5+ (draft) actset_output field.Ben Pfaff2014-11-031-0/+1
| | | | | | | | | This field allows a flow table to match on the output port currently in the action set. ONF-JIRA: EXT-233 Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
* nx-match: Add support for multiple OXM field assignments for one field.Ben Pfaff2014-11-031-18/+12
| | | | | | | | | | | | actset_output, to be added in an upcoming commit, has one OXM assignment in OpenFlow 1.3 and another one in OpenFlow 1.5. This commit allows both of them to be supported in appropriate OpenFlow versions. This feature is difficult to test on its own, so the same commit that adds actset_output support also tests this feature. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
* datapath-windows: Increase the maximum size of port name.Nithin Raju2014-10-311-2/+1
| | | | | | | | | | | | | | | | | | | | In userspace, port name sizes are restricted to IFNAMSIZ which is defined to IF_NAME_SIZE in: C:\Program Files (x86)\Windows Kits\8.1\Include\shared\netioapi.h In the kernel, since IFNAMSIZ was not available, we previously defined a value of 16 for the kernel. This is restrictive for Openstack integration where we use UUID as the name. In this patch, we make the kernel code also use the same value as the userspace. Also updated is the OVS.psm1 powershell script which now allows friendly names to be upto 48 bytes. Signed-off-by: Nithin Raju <nithin@vmware.com> Acked-by: Eitan Eliahu <eliahue@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* cccl: Ignore -fno-strict-aliasing.Alin Serdean2014-10-081-0/+4
| | | | | | | | Add a case for the gcc flag fno-strict-aliasing into cccl Under MSVC Strict aliasing is off by default. Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* nx-match: Add support for experimenter OXM.Ben Pfaff2014-10-081-7/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OpenFlow 1.2+ defines a means for vendors to define vendor-specific OXM fields, called "experimenter OXM". These OXM fields are expressed with a 64-bit OXM header instead of the 32-bit header used for standard OXM (and NXM). Until now, OVS has not implemented experimenter OXM, and indeed we have had little need to do so because of a pair of special 32-bit OXM classes grandfathered to OVS as part of the OpenFlow 1.2 standardization process. However, I want to prototype a feature for OpenFlow 1.5 that uses an experimenter OXM as part of the prototype, so to do this OVS needs to support experimenter OXM. This commit adds that support. Most of this commit is a fairly straightforward change: it extends the type used for OXM/NXM from 32 to 64 bits and adds code to encode and decode the longer headers when necessary. Some other changes are necessary because experimenter OXMs have a funny idea of the division between "header" and "body": the extra 32 bits for experimenter OXMs are counted as part of the body rather than the header according to the OpenFlow standard (even though this does not entirely make sense), so arithmetic in various places has to be adjusted, which is the reason for the new functions nxm_experimenter_len(), nxm_payload_len(), and nxm_header_len(). Another change that calls for explanation is the new function mf_nxm_header() that has been split from mf_oxm_header(). This function is used in actions where the space for an NXM or OXM header is fixed so that there is no room for a 64-bit experimenter type. An upcoming commit will add new variations of these actions that can support experimenter OXM. Testing experimenter OXM is tricky because I do not know of any in widespread use. Two ONF proposals use experimenter OXMs: EXT-256 and EXT-233. EXT-256 is not suitable to implement for testing because its use of experimenter OXM is wrong and will be changed. EXT-233 is not suitable to implement for testing because it requires adding a new field to struct flow and I am not yet convinced that that field and the feature that it supports is worth having in Open vSwitch. Thus, this commit assigns an experimenter OXM code point to an existing OVS field that is currently restricted from use by controllers, "dp_hash", and uses that for testing. Because controllers cannot use it, this leaves future versions of OVS free to drop the support for the experimenter OXM for this field without causing backward compatibility problems. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
* nx-match: Move all knowledge of OXM/NXM here.Ben Pfaff2014-10-071-93/+113
| | | | | | | | | | | | | This improves the general abstraction of OXM/NXM by eliminating direct knowledge of it from the meta-flow code and other places. Some function renaming might be called for; for example, mf_oxm_header() may not be the best name now that the function is implemented within nx-match. However, these renamings would make this commit larger and harder to review, so I'm postponing them. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
* meta-flow: Autogenerate mf_field data structures.Ben Pfaff2014-10-071-0/+458
| | | | | | | | | | | This is a first step toward improving the abstraction of OXM and NXM in the tree. As an immediate improvement, this commit removes all of the definitions of the OXM and NXM constants from the top-level header files, because they are no longer used anywhere. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
* extract-ofp-msgs: Correct some user messages.Ben Pfaff2014-09-291-2/+2
| | | | | Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
* extract-odp-netlink-windows-dp-h: add definition of IFNAMSIZNithin Raju2014-09-191-1/+2
| | | | | | | | | | The Windows kernel datapath needs the definition of 'IFNAMSIZ' for specifying attribute sizes in netlink policies. Adding the definition of 'IFNAMSIZ' to be part of OvsDpInterface.h similar to ETH_ADDR_LEN. Signed-off-by: Nithin Raju <nithin@vmware.com> Acked-by: Samuel Ghinet <sghinet@cloudbasesolutions.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* cccl: Ability to enable compiler optimization.Gurucharan Shetty2014-09-041-0/+8
| | | | | | | | | | | | | | | | | | | | MSVC has a '-O2' compiler optimization flag which makes code run fast and is the recommended option for released code. For e.g., running "./tests/ovstest.exe test-cmap benchmark 1000000 3 1" shows a 3x improvement for some cmap micro-benchmarks. In the Visual Studio world, there is a concept of "release" build (fast code, harder to debug) and a "debug" build (easier to debug). The IDE provides this option and the IDE users expect something similar for command line build. So this commit, introduces a "--with-debug" configure option for Windows and does not use '-O2' as a compiler option when specified. This can be extended further if there are more compiler options that distinguish a "release" build vs "debug" build. Signed-off-by: Gurucharan Shetty <gshetty@nicira.com> Acked-by: Saurabh Shah <ssaurabh@vmware.com>
* cccl: Enable ability to parallel build.Gurucharan Shetty2014-09-041-1/+1
| | | | | | | | | | | The /FS option allows serial access to PDB file creation letting parallel builds succeed with mingw32-make (with some tricks). The 'make' that comes with MSYS has a bug that causes hangs with parallel builds which supposedly has been fixed in the upcoming 1.0.19 release. Signed-off-by: Gurucharan Shetty <gshetty@nicira.com> Acked-by: Saurabh Shah <ssaurabh@vmware.com>
* ofp-errors: Fix bugs in treatment of OpenFlow experimenter errors.Ben Pfaff2014-09-041-6/+24
| | | | | | | | | | | | | | | | | | | | OpenFlow 1.2 and later have "experimenter errors". The OVS implementation was buggy in a few ways. First, a bug in extract-ofp-errors prevented OF1.2+ experimenter errors from being properly decoded. Second, OF1.2+ experimenter errors have only a type, not a code, whereas all other types of errors (standard errors, OF1.0/1.1 Nicira extension errors) have both, but extract-ofp-errors didn't properly enforce that. This commit fixes both problems and improves existing tests to verify that encoding and decoding of experimenter errors now works properly. This commit also fixes the definition of OFPBIC_DUP_INST. It claimed to have an OF1.1 experimenter error value although OF1.1 didn't have experimenter errors. This commit changes it to use a Nicira extension error in OF1.1 instead. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
* datapath-windows: Rename files.Samuel Ghinet2014-08-291-1/+1
| | | | | | | | | | | | This patch includes the file renaming and accommodations needed for the file renaming to build the forwarding extension for Hyper-V. This patch is also a follow-up for the thread: http://openvswitch.org/pipermail/dev/2014-August/044005.html Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com> Co-authored-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* Add extentions to the standard datapath interfaceNithin Raju2014-08-191-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | The datapath interface defined in odp-netlink.h needs some extensions that are platform dependent. Some examples are the name of the communication device on Windows and a set of commands that are specific to Windows. In this change we define a datapath-windows/include/OvsDpInterfaceExt.h to include any platform specific interface extensions. OvsDpInterfaceExt.h is in turn included in odp-netlink.h ONLY for _WIN32. This approach was chosen to avoid including OvsDpInterfaceExt.h directly although the latter approach is as good as the former. Also, we define three ioctls in OvsDpInterfaceExt.h: read: provides an output buffer (mimics a recv) write: provides an input buffer (mimics a send) transact: provides an input and optionally an output buffer. (mimics a send followed by recv) Signed-off-by: Nithin Raju <nithin@vmware.com> Co-Authored-by: Ben Pfaff <blp@nicira.com> Acked-by: Alin Serdean <aserdean@cloudbasesolutions.com> Acked-by: Ankur Sharma <ankursharma@vmware.com> Acked-by: Saurabh Shah <ssaurabh@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* odp-netlink.h: Autogenerate a version of odp-netlink for windows kernel.Ankur Sharma2014-08-111-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Autogenerated odp-netlink.h will not compile with windows kernel, as it refers to some userspace files like openvswitch/types.h and packets.h which hyperv extension does not access. Due to this the windows datapath compilation is broken on tip of tree. This patch intends to fix that. In this patch we add a new sed script "extract-odp-netlink-windows-dp-h" to create OvsDpInterface.h. It works on similar lines as extract-odp-netlink-h, but avoids including the header files which are not available for driver. After this fix, a userspace build will be needed before windows kernel datapath can be built. Tested that hyperv extension could be built after building the userspace. Verified vxlan tunnel based ping across hypervisors. Verified that odp-netlink-windows-dp.h is not built for linux platform. Ran 'make distcheck' to verify that nothing is broken on linux. Signed-off-by: Ankur Sharma <ankursharma@vmware.com> Co-authored-by: Saurabh Shah <ssaurabh@vmware.com> Tested-by: Ankur Sharma <ankursharma@vmware.com> Reported-by: Alin Serdean <aserdean@cloudbasesolutions.com> Reported-by: Nithin Raju <nithin@vmware.com> Reported-at: https://github.com/openvswitch/ovs-issues/issues/21 Signed-off-by: Ben Pfaff <blp@nicira.com>
* ofp-actions: Centralize all OpenFlow action code for maintainability.Ben Pfaff2014-08-111-0/+376
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now, knowledge about OpenFlow has been somewhat scattered around the tree. Some of it is in ofp-actions, some of it is in ofp-util, some in separate files for individual actions, and most of the wire format declarations are in include/openflow. This commit centralizes all of that in ofp-actions. Encoding and decoding OpenFlow actions was previously broken up by OpenFlow version. This was OK with only OpenFlow 1.0 and 1.1, but each additional version added a new wrapper around the existing ones, which started to become hard to understand. This commit merges all of the processing for the different versions, to the extent that they are similar, making the version differences clearer. Previously, ofp-actions contained OpenFlow encoding and decoding, plus ofpact formatting, but OpenFlow parsing was separated into ofp-parse, which seems an odd division. This commit moves the parsing code into ofp-actions with the rest of the code. Before this commit, the four main bits of code associated with a particular ofpact--OpenFlow encoding and decoding, ofpact formatting and parsing--were all found far away from each other. This often made it hard to see what was going on for a particular ofpact, since you had to search around to many different pieces of code. This commit reorganizes so that all of the code for a given ofpact is in a single place. As a code refactoring, this commit has little visible behavioral change. The update to ofproto-dpif.at illustrates one minor bug fix as a side effect: a flow that was added with the action "dec_ttl" (a standard OpenFlow action) was previously formatted as "dec_ttl(0)" (using a Nicira extension to specifically direct packets bounced to the controller because of too-low TTL), but after this commit it is correctly formatted as "dec_ttl". The other visible effect is to drop support for the Nicira extension dec_ttl action in OpenFlow 1.1 and later in favor of the equivalent standard action. It seems unlikely that anyone was really using the Nicira extension in OF1.1 or later. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
* odp-netlink.h: Use 32-bit aligned 64-bit types.Ben Pfaff2014-08-041-4/+8
| | | | | | | | | | | | Open vSwitch userspace uses special types to indicate that a particular object may not be naturally aligned. Netlink is one source of such problems: in Netlink, 64-bit integers are often aligned only on 32-bit boundaries. This commit changes the odp-netlink.h that is transformed from <linux/openvswitch.h> to use these types to make it harder to accidentally access a misaligned 64-bit member. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jesse Gross <jesse@nicira.com>
* Do not seemingly #include Linux-specific headers on other platforms.Ben Pfaff2014-08-041-0/+31
| | | | | | | | | | | | | | | | | | Until now, the OVS source tree has had a whole maze of header files that make "#include <linux/openvswitch.h>" work OK regardless of platform, but this confuses everyone new to the tree, at first glance, and is difficult to understand at second glance too. This commit renames include/linux/openvswitch.h to datapath/linux/compat/include/linux/openvswitch.h without other change, then modifies the userspace build to generate a header that makes sense in portable Open vSwitch userspace from that header. It then removes all the remaining include/linux/* files since they are now unused. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jesse Gross <jesse@nicira.com>
* extract-ofp-msg: Add ONF extension supportSimon Horman2014-06-131-0/+17
| | | | | | | | | | This is analogous to Nicira extension support. This is in preparation for supporting EXT-187: flow entry notification extension (ONF flow monitor). Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Ben Pfaff <blp@nicira.com>
* Add skeleton for OF1.5 support.Ben Pfaff2014-05-142-29/+27
| | | | | | This allows OF1.5 prototyping to take place in a natural way. Signed-off-by: Ben Pfaff <blp@nicira.com>
* ofp-util: Implement OpenFlow 1.4 port status and port desc reply messages.Ben Pfaff2014-05-141-0/+1
| | | | Signed-off-by: Ben Pfaff <blp@nicira.com>
* ofproto: Allow the use of the OpenFlow 1.4 protocolAlexandru Copot2014-03-232-5/+6
| | | | | | | | | | This defines the version number for OpenFlow 1.4 so that the switch can actually use it. The ovsdb schema is also modified. Signed-off-by: Alexandru Copot <alex.mihai.c@gmail.com> Cc: Daniel Baluta <dbaluta@ixiacom.com> [blp@nicira.com adjusted code in cases where 1.3 and 1.4 are the same] Signed-off-by: Ben Pfaff <blp@nicira.com>
* configure: Include pthread-win32 libraries for Windows build.Gurucharan Shetty2014-03-131-1/+1
| | | | | | | Signed-off-by: Gurucharan Shetty <gshetty@nicira.com> Signed-off-by: Saurabh Shah <ssaurabh@vmware.com> Co-authored-by: Saurabh Shah <ssaurabh@vmware.com> Acked-by: Ben Pfaff <blp@nicira.com>
* cccl: Remove the seemingly wrong "lib" prefix.Gurucharan Shetty2014-02-261-5/+1
| | | | | | | | | I have not seen a use case where the "lib" prefix is needed. In my tests, I see that adding the additional "lib" prefix causes libraries to not be recognized. Signed-off-by: Gurucharan Shetty <gshetty@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* cccl: Handle library paths for one shot compilation.Gurucharan Shetty2014-01-301-2/+3
| | | | | | | | | | | | When one wishes to compile and link a program with an external library in one shot, additional option "-link" is expected after all the other options. For example, $ cl -I/c/OpenSSL-Win32/include 3.c -link -LIBPATH:"C:/OpenSSL-Win32/lib" This is needed in an upcoming commit to compile conftest.c in autoconf. Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
* BUILD.Windows: Clarify on the correct linker.Gurucharan Shetty2014-01-301-4/+0
| | | | | | | | | This has tripped a couple of people. The workaround in cccl does not actually work. So get rid of it and clarify in documentation. Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
* openvswitch: Use libtool and allow building shared libsHelmut Schaa2013-12-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | Currently openvswitch builds all libraries static only. However, libopenvswitch is linked into nearly all openvswitch executables making it hardly possible to run openvswitch on embedded devices (for example running OpenWrt). Convert openvswitch to use libtool for building its internal libs. This allows "--enable-shared" and "--enable-static" as configure arguments. Default is "--disable-shared" thus keeping the current behavior with the only change that static libs are installed by "make install". Since the openvswitch library interfaces are internal and thus not stable (yet) encode the openvswitch version into the library name: libopenvswitch-2.0.90.so Binary size is reduced to around 1/3 when using shared libs. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* configure: Add macros to check for #include_next and add a workaround.Ben Pfaff2013-12-131-0/+2
| | | | | | | This will be used for the #include_next in string.h in the following commit. Signed-off-by: Ben Pfaff <blp@nicira.com>
* cccl: Add the DEBUG option for linker.Gurucharan Shetty2013-12-061-0/+1
| | | | | | | | The /DEBUG option creates debugging information for the .exe file Signed-off-by: Gurucharan Shetty <gshetty@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* cccl: Provide '-' before the options instead of double slash.Gurucharan Shetty2013-11-201-2/+2
| | | | | | | | | | | | | While compiling Open vSwitch with visual c++ in a mingw environment, I have observed that "//" before options does not work for all the compiler options of MSVC. Using "-" on the other hand seems to work. Also, echo the command line options passed to the MSVC compiler. Signed-off-by: Gurucharan Shetty <gshetty@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* cccl: A wrapper that calls visual c++ compiler.Gurucharan Shetty2013-11-201-0/+201
| | | | | | | | | | | | | | | | | | | | | | One option to compile Open vSwitch code in windows is to use Visual c++ compiler. From http://cccl.sourceforge.net/ : "cccl is a wrapper around Microsoft Visual C++'s cl.exe and link.exe. It converts Unix compiler parameters into parameters understood by cl and link. cccl's main use is for using Unix build processes with Microsoft compilers. Using cccl in conjunction with ports of Unix utilities, it is possible to build many Unix packages using MSVC, without modifying the build process." There are couple of forks of the project in the internet. This particular piece is copied from: https://gitorious.org/swift/swift/source/\ cf9b391b40a9c59a620c8093d438370381949c60:autoconf/cccl Signed-off-by: Gurucharan Shetty <gshetty@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* include/openflow: Add OpenFlow 1.4 header fileAlexandru Copot2013-10-291-0/+3
| | | | | | | | It contains only Set-Async-Config and Role status message definitions. Signed-off-by: Alexandru Copot <alex.mihai.c@gmail.com> Cc: Daniel Baluta <dbaluta@ixiacom.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* Makefile: Blacklist functions that threaded programs cannot use safely.Ben Pfaff2013-06-281-0/+90
| | | | | | | | | | | | | Some functions that POSIX says cannot be used safely in multithreaded programs are not on the initial blacklist: - getenv() should be safe in real implementations in the absence of changes to the environment. (putenv() and setenv() are blacklisted.) - We only use getopt() before spawning extra threads, and I expect this to continue to be true. Signed-off-by: Ben Pfaff <blp@nicira.com>
* build-aux/extract-ofp-errors: Delete trailing whitespacesAlex Wang2013-06-251-1/+1
| | | | | | | Delete trailing whitespaces. Signed-off-by: Alex Wang <alexw@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* ofp-errors: Implement OpenFlow 1.2+ experimenter error codes.Ben Pfaff2013-06-251-129/+192
| | | | | | | | | | OpenFlow 1.2 standardized experimenter error codes in a way different from the Nicira extension. This commit implements the OpenFlow 1.2+ version. This commit also makes it easy to add error codes for new experimenter IDs by adding new *_VENDOR_ID definitions to openflow-common.h. Signed-off-by: Ben Pfaff <blp@nicira.com>
* extract-ofp-errors: Remove support for hexadecimal error types.Ben Pfaff2013-06-121-7/+3
| | | | | | This feature wasn't used and removing it slightly simplifies the code. Signed-off-by: Ben Pfaff <blp@nicira.com>
* extract-ofp-errors: Make Python 3 compatible.Damien Millescamps2013-03-221-21/+21
| | | | | | | | | | | | | | | | | | extract-ofp-errors doesn't work with python 3 for the following reasons: - several "SyntaxError: invalid syntax": print not a keyword anymore. As a function it requires '()' - AttributeError: 'dict' object has no attribute 'itervalues' Use values() instead. Test done: Generate using ofp-errors.inc as a reference Patch for python 3, then regenerate ofp-errors.inc Diff between the two outputs. Signed-off-by: Damien Millescamps <damien.millescamps@6wind.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* ofp-errors: Remove OFPERR_* values for error categories.Jarno Rajahalme2012-12-041-21/+1
| | | | | | | | | | | | | | | The main use of OFPERR_* is to define specific errors, but OFPERR_* also existed for each possible category of error, to enable partial decoding of unknown specific errors within a known category. However, in practice, it was very easy to misuse the error categories as if they were particular errors. This commit removes the error category values, to make that error impossible. (If partial decoding of unknown specific errors turns out to have been a valuable feature, then we can reintroduce it some other way.) Signed-off-by: Jarno Rajahalme <jarno.rajahalme@nsn.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* include/openflow: Moved remaining common definitions from openflow-1.0.hJarno Rajahalme2012-12-031-1/+1
| | | | | | | | | | | Moved remaining common definitions from openflow-1.0.h to openflow-common.h and renamed 1.0 specific definitions with the "10" infix. Added hstamp rules for new headers, fixed non-ASCII characters in openflow-1.3.h, Commented out trailing zero-length data members. Signed-off-by: Jarno Rajahalme <jarno.rajahalme@nsn.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* Initial OpenFlow 1.3 supportJarno Rajahalme2012-11-272-7/+15
| | | | | | | | | | | | | Initial OpenFlow 1.3 support with new include/openflow/openflow-1.3.h. Most of the messages that differ from 1.2 are implemented. OFPT_SET_ASYNC is implemented via NX_SET_ASYNC_CONFIG, other new message types are yet to be implemented. Stats replies that add duration fields are implemented at encode/decode level only. Test cases for implemented features are included. Remaining FIXME:s should not cause runtime aborts. Make check comes out clean. Signed-off-by: Jarno Rajahalme <jarno.rajahalme@nsn.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* ofp-msgs: Accept all versions of OpenFlow "hello" messages.Ben Pfaff2012-11-091-2/+3
| | | | | | | | | Since the ofp-msgs code was introduced, only "hello" messages for versions of OpenFlow actually understood (to some extent) by Open vSwitch could be decoded correctly. This commit corrects that, by making every version of OpenFlow immutable messages acceptable. Signed-off-by: Ben Pfaff <blp@nicira.com>
* extract-ofp-errors: Check that error codes are in the expected ranges.Ben Pfaff2012-09-051-0/+5
| | | | | | | | | All real OpenFlow error codes are small numbers, and for Nicira extensions we've intentionally chosen large numbers. This commit adds a check that standard and extension codes are properly designated in the ofp-errors.h header. Signed-off-by: Ben Pfaff <blp@nicira.com>
* ofp-errors: Ignore text enclosed in square bracketsSimon Horman2012-09-051-1/+1
| | | | | | | | | | | | Enhance to extract-ofp-errors to omit text enclosed in square brackets from error description. This allows some commentary other than the error description to be supplied in ofp-errors.h As suggested by Ben Pfaff <blp@nicira.com> Signed-off-by: Simon Horman <horms@verge.net.au> [blp@nicira.com added the large comment on enum ofperr.] Signed-off-by: Ben Pfaff <blp@nicira.com>
* ofp-msgs: Allow 1.0-1.2 rangeSimon Horman2012-08-101-1/+2
| | | | | | | | | | | This is intended for use with OFPRAW_OFPST_TABLE_REQUEST in order for it to be symmetric with OpenFlow 1.0, 1.1 and 1.2 versions of OFPRAW_OFPST1TABLE_REPLY. OpenFlow 1.3 introduces yet another format for OFPRAW_OFPST1TABLE_REPLY. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Ben Pfaff <blp@nicira.com>
* ofp-error: Remove ofperr_domain from external APISimon Horman2012-08-061-1/+1
| | | | | | | It seems that ofp_version suffices in all cases. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Ben Pfaff <blp@nicira.com>