summaryrefslogtreecommitdiff
path: root/utilities
Commit message (Collapse)AuthorAgeFilesLines
* ofp-actions: Add extension to support "group" action in OF1.0.Ben Pfaff2016-07-141-2/+4
| | | | | | | | From time to time it confuses users that "group" actions disappear when using OpenFlow 1.0. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Jarno Rajahalme <jarno@ovn.org>
* Introduce 128-bit xxregs.Justin Pettit2016-07-121-0/+11
| | | | | | | These are needed to handle IPv6 addresses. Signed-off-by: Justin Pettit <jpettit@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* ovs-bugtool: Port to python3.Joe Stringer2016-07-121-5/+6
| | | | | | | | | | | | Fix python2-specific code in ovs-bugtool: * python2 long() is the same as python2 int() and python3 int(). Convert the long() to int(). * raw_input() was renamed to input(). Use python-six's input() on python2. * Drop lambda tuple unpacking, we can go back to regular lambda syntax. * file() can be replaced with open(). Signed-off-by: Joe Stringer <joe@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* ovs-ofctl: Clarify CT action documentation.Jarno Rajahalme2016-07-061-8/+8
| | | | | | | Since the 'commit' flag is required to set the mark and/or labels, the set values are always available for following lookups. Signed-off-by: Jarno Rajahalme <jarno@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* utilities: ovs-ctl: Drop duplicate lineMarkos Chandras2016-07-031-1/+0
| | | | | | | The --ovs-vswitchd-wrapper=WRAPPER line is referenced twice so drop it. Signed-off-by: Markos Chandras <mchandras@suse.de> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ofproto: Add relaxed group_mod command ADD_OR_MODJan Scheurich2016-07-022-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for a new Group Mod command OFPGC_ADD_OR_MOD to OVS for all OpenFlow versions that support groups (OF11 and higher). The new ADD_OR_MOD creates a group that does not yet exist (like ADD) and modifies an existing group (like MODIFY). Rational: In OpenFlow 1.x the Group Mod commands OFPGC_ADD and OFPGC_MODIFY have strict semantics: ADD fails if the group exists, while MODIFY fails if the group does not exist. This requires a controller to exactly know the state of the switch when programming a group in order not run the risk of getting an OFP Error message in response. This is hard to achieve and maintain at all times in view of possible switch and controller restarts or other connection losses between switch and controller. Due to the un-acknowledged nature of the Group Mod message programming groups safely and efficiently at the same time is virtually impossible as the controller has to either query the existence of the group prior to each Group Mod message or to insert a Barrier Request/Reply after every group to be sure that no Error can be received at a later stage and require a complicated roll-back of any dependent actions taken between the failed Group Mod and the Error. In the ovs-ofctl command line the ADD_OR_MOD command is made available through the new option --may-create in the mod-group command: $ ovs-ofctl -Oopenflow13 del-groups br-int group_id=100 $ ovs-ofctl -Oopenflow13 mod-group br-int group_id=100,type=indirect,bucket=actions=2 OFPT_ERROR (OF1.3) (xid=0x2): OFPGMFC_UNKNOWN_GROUP OFPT_GROUP_MOD (OF1.3) (xid=0x2): MOD group_id=100,type=indirect,bucket=actions=output:2 $ ovs-ofctl -Oopenflow13 --may-create mod-group br-int group_id=100,type=indirect,bucket=actions=2 $ ovs-ofctl -Oopenflow13 dump-groups br-int OFPST_GROUP_DESC reply (OF1.3) (xid=0x2): group_id=100,type=indirect,bucket=actions=output:2 $ ovs-ofctl -Oopenflow13 --may-create mod-group br-int group_id=100,type=indirect,bucket=actions=3 $ ovs-ofctl -Oopenflow13 dump-groups br-int OFPST_GROUP_DESC reply (OF1.3) (xid=0x2): group_id=100,type=indirect,bucket=actions=output:3 Signed-off-by: Jan Scheurich <jan.scheurich at web.de> Signed-off-by: Ben Pfaff <blp@ovn.org>
* utilities/ovs-tcpdump.in: Poll the process statusAaron Conole2016-07-011-2/+6
| | | | | | | | | | | | | | | | Some options (such as -c X), when passed to tcpdump will cause it to halt. When this occurs, ovs-tcpdump will not recognize that such an event has happened, and will spew newlines across the screen running forever. To fix this, ovs-tcpdump can poll and then raise a KeyboardInterrupt event. Now, when the underlying dump-cmd (such as tcpdump, tshark, etc.) actually signals exit, ovs-tcpdump follows the SIGINT path, telling the database to clean up. Exit is signalled by either returning, 'killing', or closing the output descriptor. Signed-off-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* utilities/ovs-tcpdump.in: Fix port lookupsAaron Conole2016-07-011-2/+1
| | | | | | | | | | | The original implementation of ovs-tcpdump conflated interfaces and ports needlessly. This commit changes ovs-tcpdump to only consider the port name when looking up the corresponding bridge. Reported-by: Jean-Tsung Hsiao <jhsiao@redhat.com> Tested-by: Jean-Tsung Hsiao <jhsiao@redhat.com> Signed-off-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* bridge: allow OVS to interact with controller through sockets outside run dirAnsis Atteka2016-06-272-7/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently Open vSwitch is unable to create or connect to Unix Domain Sockets outside designated 'run' directory, because of fear of potential remote exploits where a hacked remote OVSDB manager would tell Open vSwitch to connect to a unix domain socket owned by other daemon on the same hypervisor. This patch allows to disable this behavior by changing /etc/default/openvswitch (Ubuntu) or /etc/sysconfig/openvswitch (RHEL) file to: ... OVS_CTL_OPTS=--no-self-confinement ... Note, that it is better to stick with default behavior, unless: 1. You have Open vSwitch running under SELinux or AppArmor that would prevent OVS from messing with sockets owned by other daemons; OR 2. You are sure that relying on OpenFlow handshake is enough to prevent OVS to adversely interact with those other daemons running on the same hypervisor; OR 3. You don't have much worries of remote exploits in the first place, because perhaps OVSDB manager is running on the same host as OVS. The initial use-case for this patch is to allow to connect to OpenFlow controller that has its socket outside OVS run directory. However, in the future it could be generalized to allow to disable self-confinement for other things like DPDK vhost-user sockets or anything else that is specifiable in OVSDB with full path. Signed-off-by: Ansis Atteka <aatteka@ovn.org> Acked-by: Jesse Gross <jesse@kernel.org> VMware-BZ: #1525857
* util: New function nullable_xstrdup().Ben Pfaff2016-06-261-1/+1
| | | | | | It's a pretty common pattern so create a function for it. Signed-off-by: Ben Pfaff <blp@ovn.org>
* ofp-actions: Add truncate action.William Tu2016-06-241-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | The patch adds a new action to support packet truncation. The new action is formatted as 'output(port=n,max_len=m)', as output to port n, with packet size being MIN(original_size, m). One use case is to enable port mirroring to send smaller packets to the destination port so that only useful packet information is mirrored/copied, saving some performance overhead of copying entire packet payload. Example use case is below as well as shown in the testcases: - Output to port 1 with max_len 100 bytes. - The output packet size on port 1 will be MIN(original_packet_size, 100). # ovs-ofctl add-flow br0 'actions=output(port=1,max_len=100)' - The scope of max_len is limited to output action itself. The following packet size of output:1 and output:2 will be intact. # ovs-ofctl add-flow br0 \ 'actions=output(port=1,max_len=100),output:1,output:2' - The Datapath actions shows: # Datapath actions: trunc(100),1,1,2 Tested-at: https://travis-ci.org/williamtu/ovs-travis/builds/140037134 Signed-off-by: William Tu <u9012063@gmail.com> Acked-by: Pravin B Shelar <pshelar@ovn.org>
* ovs-tcpdump: Add a tcpdump wrapper utilityAaron Conole2016-06-234-1/+514
| | | | | | | | | | | | | | | | | | | | Currently, there is some documentation which describes setting up and using port mirrors for bridges. This documentation is helpful to setup a packet capture for specific ports. However, a utility to do such packet capture would be valuable, both as an exercise in documenting the steps an additional time, and as a way of providing an out-of-the-box experience for running a capture. This commit adds a tcpdump-wrapper utility for such purpose. It uses the Open vSwitch python library to add/remove ports and mirrors to/from the Open vSwitch database. It will create a tcpdump instance listening on the mirror port (allowing the user to specify additional arguments), and dump data to the screen (or otherwise). Signed-off-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Flavio Leitner <fbl@sysclose.org>
* ipfix: Support tunnel information for Flow IPFIX.Benli Ye2016-06-171-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support to export tunnel information for flow-based IPFIX. The original steps to configure flow level IPFIX: 1) Create a new record in Flow_Sample_Collector_Set table: 'ovs-vsctl -- create Flow_Sample_Collector_Set id=1 bridge="Bridge UUID"' 2) Add IPFIX configuration which is referred by corresponding row in Flow_Sample_Collector_Set table: 'ovs-vsctl -- set Flow_Sample_Collector_Set "Flow_Sample_Collector_Set UUID" ipfix=@i -- --id=@i create IPFIX targets=\"IP:4739\" obs_domain_id=123 obs_point_id=456 cache_active_timeout=60 cache_max_flows=13' 3) Add sample action to the flows: 'ovs-ofctl add-flow mybridge in_port=1, actions=sample'('probability=65535,collector_set_id=1, obs_domain_id=123,obs_point_id=456')',output:3' NXAST_SAMPLE action was used in step 3. In order to support exporting tunnel information, the NXAST_SAMPLE2 action was added and with NXAST_SAMPLE2 action in this patch, the step 3 should be configured like below: 'ovs-ofctl add-flow mybridge in_port=1, actions=sample'('probability=65535,collector_set_id=1,obs_domain_id=123, obs_point_id=456,sampling_port=3')',output:3' 'sampling_port' can be equal to ingress port or one of egress ports. If sampling port is equal to output port and the output port is a tunnel port, OVS_USERSPACE_ATTR_EGRESS_TUN_PORT will be set in the datapath flow sample action. When flow sample action upcall happens, tunnel information will be retrieved from the datapath and then IPFIX can export egress tunnel port information. If samping_port=65535 (OFPP_NONE), flow-based IPFIX will keep the same behavior as before. This patch mainly do three tasks: 1) Add a new flow sample action NXAST_SAMPLE2 to support exporting tunnel information. NXAST_SAMPLE2 action has a new added field 'sampling_port'. 2) Use 'other_configure: enable-tunnel-sampling' to enable or disable exporting tunnel information. 3) If 'sampling_port' is equal to output port and output port is a tunnel port, the translation of OpenFlow "sample" action should first emit set(tunnel(...)), then the sample action itself. It makes sure the egress tunnel information can be sampled. 4) Add a test of flow-based IPFIX for tunnel set. How to test flow-based IPFIX: 1) Setup a test environment with two Linux host with Docker supported 2) Create a Docker container and a GRE tunnel port on each host 3) Use ovs-docker to add the container on the bridge 4) Listen on port 4739 on the collector machine and use wireshark to filter 'cflow' packets. 5) Configure flow-based IPFIX: - 'ovs-vsctl -- create Flow_Sample_Collector_Set id=1 bridge="Bridge UUID"' - 'ovs-vsctl -- set Flow_Sample_Collector_Set "Flow_Sample_Collector_Set UUID" ipfix=@i -- --id=@i create IPFIX \ targets=\"IP:4739\" cache_active_timeout=60 cache_max_flows=13 \ other_config:enable-tunnel-sampling=true' - 'ovs-ofctl add-flow mybridge in_port=1, actions=sample'('probability=65535,collector_set_id=1,obs_domain_id=123, obs_point_id=456,sampling_port=3')',output:3' Note: The in-port is container port. The output port and sampling_port are both open flow port and the output port is a GRE tunnel port. 6) Ping from the container whose host enabled flow-based IPFIX. 7) Get the IPFIX template pakcets and IPFIX information packets. Signed-off-by: Benli Ye <daniely@vmware.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ofp-util: Fix parsing of parenthesized values within key-value pairs.Ben Pfaff2016-06-141-0/+21
| | | | | | Reported-by: james hopper <jameshopper@email.com> Reported-at: http://openvswitch.org/pipermail/discuss/2016-June/021662.html Signed-off-by: Ben Pfaff <blp@ovn.org>
* ipfix: Add support for exporting ipfix statistics.Benli Ye2016-06-142-1/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is meaningful for user to check the stats of IPFIX. Using IPFIX stats, user can know how much flows the system can support. It is also can be used for performance check of IPFIX. IPFIX stats is added for per IPFIX exporter. If bridge IPFIX is enabled on the bridge, the whole bridge will have one exporter. For flow IPFIX, the system keeps per id (column in Flow_Sample_Collector_Set) per exporter. 1) Add 'ovs-ofctl dump-ipfix-bridge SWITCH' to export IPFIX stats of the bridge which enable bridge IPFIX. The output format: NXST_IPFIX_BRIDGE reply (xid=0x2): bridge ipfix: flows=0, current flows=0, sampled pkts=0, \ ipv4 ok=0, ipv6 ok=0, tx pkts=0 pkts errs=0, ipv4 errs=0, ipv6 errs=0, tx errs=0 2) Add 'ovs-ofctl dump-ipfix-flow SWITCH' to export IPFIX stats of the bridge which enable flow IPFIX. The output format: NXST_IPFIX_FLOW reply (xid=0x2): 2 ids id 1: flows=4, current flows=4, sampled pkts=14, ipv4 ok=13, \ ipv6 ok=0, tx pkts=0 pkts errs=0, ipv4 errs=0, ipv6 errs=0, tx errs=0 id 2: flows=0, current flows=0, sampled pkts=0, ipv4 ok=0, \ ipv6 ok=0, tx pkts=0 pkts errs=0, ipv4 errs=0, ipv6 errs=0, tx errs=0 flows: the number of total flow records, including those exported. current flows: the number of current flow records cached. sampled pkts: Successfully sampled packet count. ipv4 ok: successfully sampled IPv4 flow packet count. ipv6 ok: Successfully sampled IPv6 flow packet count. tx pkts: the count of IPFIX exported packets sent to the collector(s). pkts errs: count of packets failed when sampling, maybe not supported or other error. ipv4 errs: Count of IPV4 flow packet in the error packets. ipv6 errs: Count of IPV6 flow packet in the error packets. tx errs: the count of IPFIX exported packets failed when sending to the collector(s). Signed-off-by: Benli Ye <daniely@vmware.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovs-vsctl: Support identifying Flow_Sample_Collector_Set records by id.Ben Pfaff2016-06-131-1/+3
| | | | | | | | | | This allows commands like ovs-vsctl list Flow_Sample_Collector_Set 123 if there's a record with id 123. It's not perfect, since there can be more than one record with the same id, but it's helpful. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Andy Zhou <azhou@ovn.org>
* ovn-nbctl: Update logical switch commands.Justin Pettit2016-06-111-2/+2
| | | | | | | | | | | | | A few minor changes related to logical switch commands: - Use "ls" instead of "lswitch" to be more consistent with other command changes. - Use commands where possible in ovn unit tests. - Update references from "lswitch" to "ls" (code) or "switch" (user). Signed-off-by: Justin Pettit <jpettit@ovn.org> Acked-by: Ryan Moats <rmoats@us.ibm.com> Acked-by: Ben Pfaff <blp@ovn.org>
* ovn-nbctl: Update logical switch port commands.Justin Pettit2016-06-111-5/+5
| | | | | | | | | | | | | A few minor changes related to logical switch port commands: - Use "lsp" instead of "lport" to be more consistent with later changes. - Use commands where possible in ovn unit tests. - Update references from "lport" to "lsp" (code) or "port" (user). Signed-off-by: Justin Pettit <jpettit@ovn.org> Acked-by: Ryan Moats <rmoats@us.ibm.com> Acked-by: Ben Pfaff <blp@ovn.org>
* ovs-bugtool: Fix flake8 errors.Russell Bryant2016-06-091-22/+26
| | | | | | | | | A previous commit added this file to be checked by flake8, but the file failed a number of checks done by the 'hacking' flake8 plugin. Fixes: b00bdc728e7a ("automake: Add ovs-bugtool.in to flake8-check.") Signed-off-by: Russell Bryant <russell@ovn.org> Acked-By: Kyle Mestery <mestery@mestery.com>
* automake: Add ovs-bugtool.in to flake8-check.Gurucharan Shetty2016-06-091-0/+2
| | | | | Signed-off-by: Gurucharan Shetty <guru@ovn.org> Acked-by: Ryan Moats <rmoats@us.ibm.com>
* ovs-bugtool.in: Do not assign a lambda expression, use a def.Gurucharan Shetty2016-06-091-1/+4
| | | | | Signed-off-by: Gurucharan Shetty <guru@ovn.org> Acked-by: Ryan Moats <rmoats@us.ibm.com>
* ovs-bugtool.in: Comparison to None should be 'if cond is None:'Gurucharan Shetty2016-06-091-1/+1
| | | | | Signed-off-by: Gurucharan Shetty <guru@ovn.org> Acked-by: Ryan Moats <rmoats@us.ibm.com>
* ovs-bugtool.in: Test for membership should be 'not in'.Gurucharan Shetty2016-06-091-3/+3
| | | | | Signed-off-by: Gurucharan Shetty <guru@ovn.org> Acked-by: Ryan Moats <rmoats@us.ibm.com>
* ovs-bugtool.in: Remove usage of 'has_key'.Gurucharan Shetty2016-06-091-11/+11
| | | | | Signed-off-by: Gurucharan Shetty <guru@ovn.org> Acked-by: Ryan Moats <rmoats@us.ibm.com>
* ovs-bugtool.in: Remove unused variables.Gurucharan Shetty2016-06-091-3/+2
| | | | | Signed-off-by: Gurucharan Shetty <guru@ovn.org> Acked-by: Ryan Moats <rmoats@us.ibm.com>
* ovs-bugtool.in: Fix errors around spaces and line length.Gurucharan Shetty2016-06-091-100/+135
| | | | | Signed-off-by: Gurucharan Shetty <guru@ovn.org> Acked-by: Ryan Moats <rmoats@us.ibm.com>
* ovs-bugtool.in: Remove unused imports.Gurucharan Shetty2016-06-091-9/+3
| | | | | | | | Also take care of a 'import not at top of file' warning from flake8. Signed-off-by: Gurucharan Shetty <guru@ovn.org> Acked-by: Ryan Moats <rmoats@us.ibm.com>
* types: Change ofp_port_t from uint16_t to uint32_t.Ben Pfaff2016-06-031-1/+1
| | | | | | | | | | | | This fixes several tests that failed on big-endian systems because "union flow_in_port" overlays an ofp_port_t and odp_port_t and in some cases it is not easy to determine which one is in use. This commit also fixes up a few places where this broke other code. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Aaron Conole <aconole@redhat.com> Acked-by: Gerhard Stenzel <gstenzel@linux.vnet.ibm.com>
* ovs-vtep: Make compatible with python2.7 and 3.Joe Stringer2016-05-311-1/+1
| | | | | | | | | Translate commandline calls to UTF-8, appease flake8 and use six's integer types. This allows the testsuite to pass when using python3 as your default system python version. Signed-off-by: Joe Stringer <joe@ovn.org> Tested-by: Darrell Ball <dlu998@gmail.com>
* utilities/checkpatch.py: Check for appropriate bracingAaron Conole2016-05-201-0/+30
| | | | | | | | | | Teach checkpatch.py to understand that if/for/while blocks should always end with braces on the same line (if possible). This does not address multi-line if/for/while blocks, but provides a point where such blocks could be added. Signed-off-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* utilities/ovs-ctl.in: Only add_managers with vswitchdAaron Conole2016-05-201-3/+8
| | | | | | | | | | | | | | | | The ovs-ctl script was changed recently to have per-service start/stop control. However, when that change was made the add_managers() call was overlooked. This results in calls to `ovs-ctl --no-ovs-vswitchd start` telling the ovsdb-server to connect to the remote controllers. The fix presented will defer signaling to remote managers until the following are both true: 1. At least one of OVSDB_SERVER or OVS_VSWITCHD was told to start 2. Both daemons are running. Fixes: 7fc28c50c012 ("ovs-ctl: Allow selective start for db and switch") Signed-off-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* utilities: Tweak python shebangs to use envYAMAMOTO Takashi2016-05-208-8/+8
| | | | | | | | | | | | | | "python" command provided by pkg_alternatives is a shell script. At least on NetBSD-7, execve can't execute scripts whose interpreter is another shell script. (While some "rich" shells like zsh seem to have handle the case by itself, NetBSD's /bin/sh doesn't.) Workaround the issue by using env command for shebangs for these scripts. Noticed with the recent tunnel-push-pop.at tests using ovs-pcap command. Signed-off-by: YAMAMOTO Takashi <yamamoto@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* nat: documentation and parsing fixes.Jarno Rajahalme2016-05-181-1/+76
| | | | | | | Add the missing NAT documentation to ovs-ofctl man page and add validation of the NAT flags to NAT action decoding and parsing. Signed-off-by: Jarno Rajahalme <jarno@ovn.org>
* ovs-dev.py: Update for python3.Joe Stringer2016-05-181-5/+5
| | | | | | Adapt to python-2.6+, including support for 3. Signed-off-by: Joe Stringer <joe@ovn.org>
* ovs-dev.py: PEP-8ify.Joe Stringer2016-05-182-30/+32
| | | | Signed-off-by: Joe Stringer <joe@ovn.org>
* ofproto-dpif: Do not count resubmit to later tables against limit.Ben Pfaff2016-05-091-4/+24
| | | | | | | | | | | | | | | | | | | | | | | | Open vSwitch must ensure that flow translation takes a finite amount of time. Until now it has implemented this by limiting the depth of recursion. The initial limit, in version 1.0.1, was no recursion at all, and then over the years it has increased to 8 levels, then 16, then 32, and 64 for the last few years. Now reports are coming in that 64 levels are inadequate for some OVN setups. The natural inclination would be to double the limit again to 128 levels. This commit attempts another approach. Instead of increasing the limit, it reduces the class of resubmits that count against the limit. Since the goal for the depth limit is to prevent an infinite amount of work, it's not necessary to count resubmits that can't lead to infinite work. In particular, a resubmit from a table numbered x to a table y > x cannot do this, because any OpenFlow switch has a finite number of tables. Because in fact a resubmit (or goto_table) from one table to a later table is the most common form of an OpenFlow pipeline, I suspect that this will greatly alleviate the pressure to increase the depth limit. Reported-by: Guru Shetty <guru@ovn.org> Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Ryan Moats <rmoats@us.ibm.com>
* netdev-dpdk: Allow arbitrary eal argumentsAaron Conole2016-04-291-2/+5
| | | | | | | | | | | | | | | | | | | A previous change moved some commonly used arguments from commandline to the database, and with it the ability to pass arbitrary arguments to EAL. This change allows arbitrary eal arguments to be provided via a new db entry 'other_config:dpdk-extra' which will tokenize the string and add it to the argument list. The only argument which will not be supported with this change is '--no-huge', which appears to break the system in other ways. Signed-off-by: Aaron Conole <aconole@redhat.com> Tested-by: Sean K Mooney <sean.k.mooney@intel.com> Tested-by: RobertX Wojciechowicz <robertx.wojciechowicz@intel.com> Tested-by: Kevin Traynor <kevin.traynor@intel.com> Acked-by: Panu Matilainen <pmatilai@redhat.com> Acked-by: Kevin Traynor <kevin.traynor@intel.com> Acked-by: Flavio Leitner <fbl@sysclose.org> Acked-by: Daniele Di Proietto <diproiettod@vmware.com>
* netdev-dpdk: Convert initialization from cmdline to dbAaron Conole2016-04-291-6/+7
| | | | | | | | | | | | | | | | Existing DPDK integration is provided by use of command line options which must be split out and passed to librte in a special manner. However, this forces any configuration to be passed by way of a special DPDK flag, and interferes with ovs+dpdk packaging solutions. This commit delays dpdk initialization until after the OVS database connection is established, at which point ovs initializes librte. It pulls all of the config data from the OVS database, and assembles a new argv/argc pair to be passed along. Signed-off-by: Aaron Conole <aconole@redhat.com> Acked-by: Kevin Traynor <kevin.traynor@intel.com> Acked-by: Daniele Di Proietto <diproiettod@vmware.com>
* checkpatch: Accept form feeds.Daniele Di Proietto2016-04-181-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | CodingStyle.md says: "Use form feeds (control+L) to divide long source files into logical pieces. A form feed should appear as the only character on a line." checkpatch.py currently complains about form feed. For example, on commit 2c06d9a927c5("ovstest: Add test-netlink-conntrack command."), checkpatch.py returns: W(140): Line has non-spaces leading whitespace W(140): Line has trailing whitespace + W(177): Line has non-spaces leading whitespace W(177): Line has trailing whitespace + W(199): Line has non-spaces leading whitespace W(199): Line has trailing whitespace + This commit suppresses the two warnings for lines with form feeds as the only character. Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com> Acked-by: Ben Pfaff <blp@ovn.org>
* manpages: Update documentation for ct_* masks.Joe Stringer2016-04-151-2/+2
| | | | | | | | These have been supported all along, but the documentation neglected to mention the fact. Signed-off-by: Joe Stringer <joe@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* Move lib/ofp-print.h to include/openvswitch directoryBen Warren2016-04-141-1/+1
| | | | | Signed-off-by: Ben Warren <ben@skyportsystems.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Move lib/ofp-actions.h to include/openvswitch directoryBen Warren2016-04-141-2/+2
| | | | | Signed-off-by: Ben Warren <ben@skyportsystems.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Move lib/ofp-msgs.h to include/openvswitch directoryBen Warren2016-04-141-10/+10
| | | | | Signed-off-by: Ben Warren <ben@skyportsystems.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Move lib/ofp-util.h to include/openvswitch directoryBen Warren2016-04-142-2/+2
| | | | | | | | This commit also adds several #include directives in source files in order to make the 'ofp-util.h' move possible Signed-off-by: Ben Warren <ben@skyportsystems.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Move lib/meta-flow.h to include/openvswitch directoryBen Warren2016-04-141-1/+1
| | | | | | | | | This commit also moves some bitmap macros into public header files and adds some #include directives in soure files in order to make the 'meta-flow.h' move possible. Signed-off-by: Ben Warren <ben@skyportsystems.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovs-save: Handle MTU changes correctly.Gurucharan Shetty2016-04-111-2/+2
| | | | | | | | | | | | | | | | The following command on ubuntu 12.04, 14.04 and CentOS 7.x returns null: expr "mtu 1500" : '.*mtu \([0-9]+\)' But the following works correctly: expr "mtu 1500" : '.*mtu \([0-9]\+\)' I am not sure about the portability implications as there seems to be very sparse documentation about this but this fixes a bug in 2 of the most popular distributions. VMware-BZ: #1638654 Signed-off-by: Gurucharan Shetty <guru@ovn.org>
* checkpatch: Don't enforce char limit on tests.Joe Stringer2016-04-081-1/+17
| | | | | | | | | | Although tests ideally also stick to shorter line lengths, it is very common for fixed text blocks like flows or large packets to be specified within tests. Checkpatch shouldn't complain about cases like these. Signed-off-by: Joe Stringer <joe@ovn.org> Acked-by: Russell Bryant <russell@ovn.org> Tested-by: Aaron Conole <aconole@redhat.com>
* ovs-dpctl: Document conntrack "zone" arguments in help output.Justin Pettit2016-03-291-2/+2
| | | | | Signed-off-by: Justin Pettit <jpettit@ovn.org> Acked-by: Russell Bryant <russell@ovn.org>
* checkpatch: Fix Python style violation.Ben Pfaff2016-03-311-0/+1
| | | | | | | I introduced this when updating the script before commit. My fault, sorry. Fixes: c599d5ccf31 (checkpatch.py: A simple script for finding patch issues) Signed-off-by: Ben Pfaff <blp@ovn.org>
* checkpatch.py: A simple script for finding patch issuesAaron Conole2016-03-312-2/+238
| | | | | | | | | | | | | Most projects have a checkpatch facility, which can be used as a pre-commit sanity check. This introduces such a mechanism to the Open vSwitch project to catch some of the more silly formatting mistakes which can occur. It is not meant to replace good code review practices, but it can help eliminate the silly code review issues which get added. Suggested-by: Mauricio Vásquez <mauricio.vasquezbernal@studenti.polito.it> Signed-off-by: Aaron Conole <aconole@redhat.com> [blp@ovn.org adjusted long line threshold and treatment of terminal] Signed-off-by: Ben Pfaff <blp@ovn.org>