summaryrefslogtreecommitdiff
path: root/utilities
Commit message (Collapse)AuthorAgeFilesLines
* ovs-vsctl: Fix segfault when attempting to del-port from parent bridge.Flavio Fernandes2018-05-071-2/+2
| | | | | | | | | | | The error message in the check for improper bridge param is de-referencing parent from the wrong bridge. Also, the message itself had the parent and child bridges reversed, so that got a small tweak as well. Also, add a regression test. Signed-off-by: Flavio Fernandes <flavio@flaviof.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovs-ofctl: Fix "ovs-ofctl snoop".Ashish Varma2018-04-251-0/+5
| | | | | | | | | | | | | | In case where "use_names" is set (e.g. in an interactive session) to show the port and table names when ovs-ofctl is run with snoop command, ovs-ofctl would get stuck in an endless loop inside "table_iterator_next" function's while loop checking for "while (ti->send_xid != recv_xid)". This would happening because the "vconn" to "<bridge>.snoop" socket would not respond to TABLE_FEATURES_REQUEST sent by ovs-ofctl. This commit disables showing port or table names in the snoop command. Signed-off-by: Ashish Varma <ashishvarma.ovs@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* checkpatch: Don't do line length or whitespace checks on debian/rules.Ben Pfaff2018-04-251-5/+5
| | | | | | | debian/rules is a Makefile with a funny name. Signed-off-by: Ben Pfaff <blp@ovn.org> Reviewed-by: Aaron Conole <aconole@redhat.com>
* datapath: Prevent panicGreg Rose2018-04-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On RHEL 7.x kernels we observe a panic induced by a paging error when the timer kicks off a job that subsequently accesses memory that belonged to the openvswitch kernel module but was since unloaded - thus the paging error. The panic can be induced on any RHEL 7.x kernel with the following test: while `true` do make check-kmod TESTSUITEFLAGS="-k \!gre" done On the systems I've been testing on it generally takes anywhere from a minute to 15 minutes or so to repro but never longer than that. Similar results have been seen by other testers. This patch does not fix the underlying bug, which does need to be investigated and fixed, but it does prevent it from occurring. We would like to prevent customer systems from panicking while we do futher investigation to find the root cause. Here is the trace: [252257.801809] BUG: unable to handle kernel paging request at ffffffffc07c6298 [252257.802451] IP: [<ffffffff810996e0>] run_timer_softirq+0xe0/0x310 [252257.803055] PGD 19f5067 PUD 19f7067 PMD 2fb5fc2067 PTE 0 [252257.803559] Oops: 0002 [#1] SMP [252257.804138] Modules linked in: geneve ip6_udp_tunnel xt_statistic xt_physdev xt_nat xt_recent xt_comment xt_mark ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat xt_addrtype ipt_REJECT nf_reject_ipv4 xt_conntrack iptable_filter ip_tables nf_conntrack_netlink br_netfilter overlay(T) sch_htb veth udp_tunnel 8021q garp mrp tun ip_set nfnetlink bridge stp llc nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iTCO_wdt iTCO_vendor_support dcdbas mxm_wmi sb_edac edac_core intel_powerclamp coretemp intel_rapl iosf_mbi kvm_intel kvm irqbypass crc32_pclmul ghash_clmulni_intel aesni_intel lrw gf128mul glue_helper ablk_helper cryptd joydev mei_me sg mei ipmi_ssif pcspkr shpchp lpc_ich ipmi_si ipmi_devintf ipmi_msghandler acpi_power_meter wmi nfsd auth_rpcgss [252257.808079] nfs_acl lockd grace sunrpc xfs libcrc32c sr_mod sd_mod cdrom crc_t10dif crct10dif_generic uas usb_storage mgag200 drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops ttm drm crct10dif_pclmul crct10dif_common crc32c_intel ahci libahci ixgbe libata igb megaraid_sas mdio ptp i2c_algo_bit pps_core i2c_core dca dm_mirror dm_region_hash dm_log dm_mod [last unloaded: openvswitch] [252257.811056] CPU: 33 PID: 0 Comm: swapper/33 Tainted: G OE ------------ T 3.10.0-693.el7.x86_64 #1 [252257.811826] Hardware name: Dell Inc. PowerEdge R630/02C2CP, BIOS 2.1.5 04/11/2016 [252257.812605] task: ffff8830b7708fd0 ti: ffff8830b7718000 task.ti: ffff8830b7718000 [252257.813447] RIP: 0010:[<ffffffff810996e0>] [<ffffffff810996e0>] run_timer_softirq+0xe0/0x310 [252257.814298] RSP: 0018:ffff885fbe203e68 EFLAGS: 00010082 [252257.815122] RAX: ffff8830b66bc838 RBX: ffff8830b66bc000 RCX: ffffffffc07c6290 [252257.815933] RDX: ffff8830b66bc810 RSI: ffff885fbe203e90 RDI: ffff8830b66bc000 [252257.816733] RBP: ffff885fbe203ed0 R08: 0000e56b5701d800 R09: ffff885fbe203da0 [252257.817568] R10: 0000000000000002 R11: ffff885fbe203da8 R12: 0000000000000081 [252257.818429] R13: 0000e56b56fb2eca R14: ffffffff819eb0c8 R15: 0000000000000001 [252257.819297] FS: 0000000000000000(0000) GS:ffff885fbe200000(0000) knlGS:0000000000000000 [252257.820174] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [252257.821156] CR2: ffffffffc07c6298 CR3: 00000000019f2000 CR4: 00000000003407e0 [252257.822012] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [252257.822869] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [252257.823720] Stack: [252257.824678] ffff8830b66bdc28 ffff8830b66bd828 ffff8830b66bd428 ffff8830b66bd028 [252257.825699] ffff885fbe20fe80 ffff885fbe203eb0 ffffffff8132bfe0 28a56c277c4fe974 [252257.826623] 0000000000000001 0000000000000001 0000e56b56fb2eca ffffffff819eb0c8 [252257.827524] Call Trace: [252257.828410] <IRQ> [252257.828417] [252257.829292] [<ffffffff8132bfe0>] ? timerqueue_add+0x60/0xb0 [252257.830164] [<ffffffff81090b3f>] __do_softirq+0xef/0x280 [252257.831010] [<ffffffff816b6a5c>] call_softirq+0x1c/0x30 [252257.831849] [<ffffffff8102d3c5>] do_softirq+0x65/0xa0 [252257.832669] [<ffffffff81090ec5>] irq_exit+0x105/0x110 [252257.833501] [<ffffffff816b76c2>] smp_apic_timer_interrupt+0x42/0x50 [252257.834330] [<ffffffff816b5c1d>] apic_timer_interrupt+0x6d/0x80 [252257.835152] <EOI> [252257.835159] [252257.835944] [<ffffffff81527a02>] ? cpuidle_enter_state+0x52/0xc0 [252257.837231] [<ffffffff81527b48>] cpuidle_idle_call+0xd8/0x210 [252257.838224] [<ffffffff81034fee>] arch_cpu_idle+0xe/0x30 [252257.839133] [<ffffffff810e7bca>] cpu_startup_entry+0x14a/0x1c0 [252257.839933] [<ffffffff81051af6>] start_secondary+0x1b6/0x230 [252257.840684] Code: 00 00 00 44 0f b6 e0 45 85 e4 0f 84 a7 01 00 00 49 63 d4 48 83 43 10 01 48 8d 75 c0 48 c1 e2 04 48 01 da 48 8b 4a 28 48 8d 42 28 <48> 89 71 08 48 89 4d c0 48 8b 4a 30 48 89 4d c8 48 89 31 48 89 [252257.842366] RIP [<ffffffff810996e0>] run_timer_softirq+0xe0/0x310 [252257.843183] RSP <ffff885fbe203e68> [252257.843955] CR2: ffffffffc07c6298 Signed-off-by: Greg Rose <gvrose8192@gmail.com> Acked-by: Pravin B Shelar <pshelar@ovn.org>
* checkpatch: add checks for new rst docsFlavio Leitner2018-04-171-0/+89
| | | | | | | | When a new rst document is added under Documentation, check if the new file is added to the proper index.rst and to the automake.mk. Signed-off-by: Flavio Leitner <fbl@sysclose.org> Signed-off-by: Ben Pfaff <blp@ovn.org>
* python: Trivial fix flake8 errorDaniel Alvarez2018-04-041-1/+1
| | | | | | | | make flake8-check fails due to missing whitespaces around arithmetic operator. Signed-off-by: Daniel Alvarez <dalvarez@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovn-ctl: Support starting clustered OVN dbsNuman Siddique2018-04-041-5/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the options to start clustered OVN db servers in ovn-ctl. To support this, following options are added - '--db-(nb/sb)-cluster-local-addr', '--db-(nb/sb)-cluster-local-port', '--db-(nb/sb)-cluster-local-proto', '--db-(nb/sb)-cluster-remote-addr', '--db-(nb/sb)-cluster-remote-port' and '--db-(nb/sb)-cluster-remote-proto'. If only '--db-(nb/sb)-cluster-local-addr' is defined then clustered db is created (using ovsdb-tool create-cluster). If both are defined, then the db is added to the cluster (using ovsdb-tool join-cluster) This patch also adds the support to configure ovn-northd to point to all the servers in the cluster using the options - '--ovn-northd-nb-db' and 'ovn-northd-sb-db'. Presently this patch doesn't handle the schema update scenario when restarting the clustered ovsdb-servers. This will be handled in a separate patch. The initial versions of these commands are tested by Aliasgar <aginwala <aginwala@asu.edu> and the discussion on this can be found here - https://mail.openvswitch.org/pipermail/ovs-discuss/2018-March/046470.html (There are 4 checkpatch warnings 'Line length is >79-characters long' in ovn-ctl.8.xml which I couldn't resolve without losing proper rendering when "man ovn-ctl" is run.) Co-authored-by: Ben Pfaff <blp@ovn.org> Signed-off-by: Numan Siddique <nusiddiq@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovs-ofctl: Add '--no-names' to usage message.Tonghao Zhang2018-04-041-0/+1
| | | | | | | | | | | | By default, ovs-ofctl can accept and display port names in place of numbers. ovs-ofctl tool exports only the option --names, but not --no-names in command help information. Fixes: 50f96b10e1c8 ("Support accepting and displaying port names in OVS tools.") Cc: Ben Pfaff <blp@ovn.org> Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* checkpatch: Fix mis-flagging of division operators as lacking whitespace.Ben Pfaff2018-04-031-1/+1
| | | | | | | | The regular expression here would flag any slash that wasn't adjacent to an asterisk as missing whitespace. This fixes the problem. Signed-off-by: Ben Pfaff <blp@ovn.org> Tested-by: Aaron Conole <aconole@redhat.com>
* ovs-lib: Ensure Emacs and vim identify the file type properly.Ben Pfaff2018-04-021-0/+2
| | | | | | | | This makes Emacs and vim identify the file as a shell script, so that they do the right kind of syntax coloring and indentation. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Aaron Conole <aconole@redhat.com>
* checkpatch: add a comment spell-checkerAaron Conole2018-04-011-3/+105
| | | | | | | | | | | | | Grow a new opt-in feature to check comments for possible spelling mistakes. Uses the 'enchant' library to provide a default link to aspell/ispell as the backend. Additionally, a custom set of kewords is included inline to match what would be possibly encountered in 'the wild'. The list is fairly comprehensive at this point. Signed-off-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* checkpatch: filter comment contentsAaron Conole2018-04-011-1/+55
| | | | | | | | | | | | | For the infix operator whitespace checks, some of these operators are used within comments. In those cases, it probably doesn't make sense to warn about whitespacing. There may be other checks that could use this kind of filter, but that can wait for a future commit (and someone ambitious enough to test each case). Signed-off-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* checkpatch: introduce constants for the parse statesAaron Conole2018-04-011-6/+11
| | | | | | | It's just easier to read. Should be no functional change. Signed-off-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* nlmon: added netns support.Flavio Leitner2018-03-311-1/+9
| | | | | Signed-off-by: Flavio Leitner <fbl@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* netlink: provide network namespace id from a msg.Flavio Leitner2018-03-311-1/+1
| | | | | | | | The netlink notification's ancillary data contains the network namespace id (netnsid) needed to identify the device correctly. Signed-off-by: Flavio Leitner <fbl@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* checkpatch: Avoid warnings for /* or */.Ben Pfaff2018-03-311-2/+3
| | | | | | | | checkpatch would sometimes confuse comment markers for operators. This fixes the problem. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Aaron Conole <aconole@redhat.com>
* ctl-option: add --inactivity-probe= option in set targets commandsGuoshuai Li2018-03-311-7/+24
| | | | | | | | | | | | This patch can set inactivity probe for connection by command: ovs-vsctl --inactivity-probe=30000 set-manager tcp:<CONTROLLER IP>:6640 ovs-vsctl --inactivity-probe=30000 set-controller tcp:<CONTROLLER IP>:6641 vtep-ctl --inactivity-probe=30000 set-manager tcp:<CONTROLLER IP>:6640 ovn-nbctl --inactivity-probe=30000 set-connection ptcp:6641:0.0.0.0 ovn-sbctl --inactivity-probe=30000 set-connection ptcp:6642:0.0.0.0 Signed-off-by: Guoshuai Li <ligs@dtdream.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ofp-flow: Reduce memory consumption for ofputil_flow_mod, using minimatch.Ben Pfaff2018-03-311-32/+49
| | | | | | | | | | | | | | | | | | | | | | | Until now, struct ofputil_flow_mod, which represents an OpenFlow flow table modification request, has incorporated a struct match, which made the overall ofputil_flow_mod about 2.5 kB. This is OK for a small number of flows, but absurdly inflates memory requirements when there are hundreds of thousands of flows. This commit fixes the problem by changing struct match to struct minimatch inside ofputil_flow_mod, which reduces its size to about 100 bytes plus the actual size of the flow match (usually a few dozen bytes). This affects memory usage of ovs-ofctl (when it adds a large number of flows) more than ovs-vswitchd. Reported-by: Michael Ben-Ami <mbenami@digitalocean.com> Signed-off-by: Ben Pfaff <blp@ovn.org> Reviewed-by: Armando Migliaccio <armamig@gmail.com> Tested-by: Armando Migliaccio <armamig@gmail.com> Reviewed-by: Jan Scheurich <jan.scheurich@ericsson.com> Tested-by: Jan Scheurich <jan.scheurich@ericsson.com> Tested-by: Yifeng Sun <pkusunyifeng@gmail.com> Reviewed-by: Yifeng Sun <pkusunyifeng@gmail.com>
* Clean up some minor spelling and typos.Justin Pettit2018-03-141-1/+1
| | | | | Signed-off-by: Justin Pettit <jpettit@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* ovs-vsctl: Include bfd_status in "show" output for interfacesMiguel Angel Ajo2018-03-141-1/+2
| | | | | | | | | | Since OVS 2.8 OVN provides L3HA capabilities via BFD monitoring, but checking the status of BFD is not obvious, and we provide a simple way to visualize the status with this simple patch. Signed-off-by: Miguel Angel Ajo <majopela@redhat.com> Tested-by: Miguel Angel Ajo <majopela@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* python: Enable flake8 checking of ovs-pipegen.py.Russell Bryant2018-03-142-4/+5
| | | | | Signed-off-by: Russell Bryant <russell@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* ofp-print: Move much of the printing code into message-specific files.Ben Pfaff2018-03-141-5/+7
| | | | | | | | | | | Until now, the ofp-print code has had a lot of logic specific to individual messages. This code is better put with the other code specific to those messages, so this commit starts to migrate it. There is more work of a similar type to do, but this is a reasonable start. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
* ofp-packet: Better abstract packet-in format.Ben Pfaff2018-03-141-5/+5
| | | | | | | | | | This commit relieves the caller of code that deals with the format of packet-in messages from some of the burden of understanding the packet format. It also renames the constants to appear to be at a higher level of abstraction. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
* utilities: Make ovs-pipegen.py Python 3 friendlyTimothy Redaelli2018-03-131-3/+3
| | | | | | | | | Replace "print f" with "print(f)" and "xrange" with "range". The changes are backward compatibile with Python 2. Signed-off-by: Timothy Redaelli <tredaelli@redhat.com> Signed-off-by: Russell Bryant <russell@ovn.org>
* ovs-bugtool: Fix ambiguous variable flake8 warningsAlin Gabriel Serdean2018-03-071-6/+6
| | | | | | | | | | Flake8 complains: utilities/bugtool/ovs-bugtool.in:761:5: E741 ambiguous variable name 'l' utilities/bugtool/ovs-bugtool.in:1162:5: E741 ambiguous variable name 'l' Makefile:6193: recipe for target 'flake8-check' failed Signed-off-by: Alin Gabriel Serdean <aserdean@ovn.org> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ofp-util: Use consistent naming convention.Ben Pfaff2018-02-281-2/+2
| | | | | | | | Most of the tree now uses "encode" as the verb for making an OpenFlow message, so adopt it here in this very old code as well. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
* Don't shadow variables.Justin Pettit2018-02-281-12/+12
| | | | | | | Rename the remaining variables that were shadowing another definition. Signed-off-by: Justin Pettit <jpettit@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* Refer to database manpages in *ctl manpagesMark Michelson2018-02-262-51/+7
| | | | | | | | | | | | | | The ovn-nbctl, ovn-sbctl, and ovs-vsctl manpages are inconsistent in their "Database Commands" section when it comes to referring to what database tables exist. This commit amends this by making each *ctl manpage reference the corresponding database manpage instead. To aid in having a more handy list, the --help text of ovn-nbctl, ovn-sbctl, and ovs-vsctl have been modified to list the available tables. This is also referenced in the manpages for those applications. Signed-off-by: Mark Michelson <mmichels@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovs-ofctl: Make ofp-print able to read raw data from a file.Ben Pfaff2018-02-161-25/+35
| | | | | | | | Occasionally someone sends me raw OpenFlow data in a file and this saves time converting it to hex. Signed-off-by: Ben Pfaff <blp@ovn.org> Reviewed-by: Yifeng Sun <pkusunyifeng@gmail.com>
* ofp-util, ofp-parse: Break up into many separate modules.Ben Pfaff2018-02-133-3/+11
| | | | | | | | | | | | ofp-util had been far too large and monolithic for a long time. This commit breaks it up into units that make some logical sense. It also moves the pieces of ofp-parse that were specific to each unit into the relevant unit. Most of this commit is just moving code around. Signed-off-by: Ben Pfaff <blp@ovn.org> Reviewed-by: Yifeng Sun <pkusunyifeng@gmail.com>
* ovs-vsctl: Add commands "add-bond-iface" and "del-bond-iface".Ben Pfaff2018-02-062-23/+124
| | | | | | | | | It was not too hard to build these commands using the database commands, but a few people have asked for them over the years, so here they are. Signed-off-by: Ben Pfaff <blp@ovn.org> Tested-by: Yifeng Sun <pkusunyifeng@gmail.com> Reviewed-by: Yifeng Sun <pkusunyifeng@gmail.com>
* Support accepting and displaying table names in OVS tools.Ben Pfaff2018-02-013-92/+294
| | | | | | | | | | | | | | | | | | | | | | | | OpenFlow has little-known support for naming tables. Open vSwitch has supported table names for ages, but it has never used or displayed them outside of commands dedicated to table manipulation. This commit adds support for table names in ovs-ofctl. When a table has a name, it displays that name in flows and actions, so that, for example, the following: table=1, arp, actions=resubmit(,2) might become: table=ingress_acl, arp, actions=resubmit(,mac_learning) given appropriately named tables. For backward compatibility, only interactive ovs-ofctl commands by default display table names; to display them in scripts, use the new --names option. This feature was inspired by a talk that Kei Nohguchi presented at Open vSwitch 2017 Fall Conference. CC: Kei Nohguchi <kei@nohguchi.com> Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Mark Michelson <mmichels@redhat.com> Reviewed-by: Yifeng Sun <pkusunyifeng@gmail.com>
* ofp-actions: Make formatting and parsing functions take a struct argument.Ben Pfaff2018-01-311-6/+13
| | | | | | | | | | An upcoming commit will add another parameter for parsing and formatting actions. It is much easier to add these parameters if they are encapsulated in a struct, so this commit first makes that change. Signed-off-by: Ben Pfaff <blp@ovn.org> Reviewed-by: Yifeng Sun <pkusunyifeng@gmail.com> Acked-by: Mark Michelson <mmichels@redhat.com>
* classifier: Refactor interface for classifier_remove().Ben Pfaff2018-01-311-1/+1
| | | | | | | | | | | | | | Until now, classifier_remove() returned either null or the classifier rule passed to it, which is an unusual interface. This commit changes it to return true if it succeeds or false on failure. In addition, most of classifier_remove()'s callers know ahead of time that it must succeed, even though most of them didn't bother with an assertion, so this commit adds a classifier_remove_assert() function as a helper. Signed-off-by: Ben Pfaff <blp@ovn.org> Tested-by: Yifeng Sun <pkusunyifeng@gmail.com> Reviewed-by: Yifeng Sun <pkusunyifeng@gmail.com>
* Merge branch 'dpdk_merge' of https://github.com/istokes/ovs into HEADBen Pfaff2018-01-271-1/+1
|\
| * vswitchd: show DPDK versionMatteo Croce2018-01-261-1/+1
| | | | | | | | | | | | | | | | | | | | Show DPDK version if Open vSwitch is compiled with DPDK support. Version can be retrieved with `ovs-vswitchd --version` or from OVS logs. Small change in ovs-ctl to avoid breakage on output change. Signed-off-by: Matteo Croce <mcroce@redhat.com> Acked-by: Kevin Traynor <ktraynor@redhat.com> Signed-off-by: Ian Stokes <ian.stokes@intel.com>
* | ovs-ofctl: Fix typo in comment.Ben Pfaff2018-01-271-2/+2
| | | | | | | | Signed-off-by: Ben Pfaff <blp@ovn.org>
* | ovs-ofctl: Add "compose-packet" command for testing flow_compose().Ben Pfaff2018-01-271-0/+72
| | | | | | | | | | | | | | | | | | | | I don't feel obligated to add a bunch of automatic tests for flow_compose(), but this is handy for manual testing or for simple packet generation. Signed-off-by: Ben Pfaff <blp@ovn.org> Tested-by: Yifeng Sun <pkusunyifeng@gmail.com> Reviewed-by: Yifeng Sun <pkusunyifeng@gmail.com>
* | ovs-vsctl, vtep-ctl: Free 'args' string on exit.Ben Pfaff2018-01-261-4/+8
|/ | | | | | | | | This avoids a memory leak warning from valgrind. ovn-sbctl and ovn-nbctl already followed this pattern. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: William Tu <u9012063@gmail.com>
* checkpatch.py: Fix Python style.Ben Pfaff2018-01-261-0/+3
| | | | | | | | | | | | | Fixes the following warnings: ../utilities/checkpatch.py:219:1: E302 expected 2 blank lines, found 1 ../utilities/checkpatch.py:224:1: E302 expected 2 blank lines, found 1 ../utilities/checkpatch.py:228:1: E302 expected 2 blank lines, found 1 CC: Justin Pettit <jpettit@ovn.org> Fixes: 4e99b70dfae0 ("checkpatch.py: Add check for "xxx" in comments.") Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
* checkpatch.py: Add check for "xxx" in comments.Justin Pettit2018-01-251-0/+16
| | | | | | | | "xxx" is often used to indicate items that the developer wanted to look at again before committing. Flag those as a warning. Signed-off-by: Justin Pettit <jpettit@ovn.org> Acked-by: Aaron Conole <aconole@redhat.com>
* ovs-tcpundump: fix a conversion issueAaron Conole2018-01-121-1/+1
| | | | | | | | | | | When I tried using ovs-tcpundump, I got the following error message: Traceback (most recent call last): File ./ovs-tcpundump, line 64, in <module> if m is None or int(m.group(1)) == 0: ValueError: invalid literal for int() with base 10: '00a0' Signed-off-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* nsh: add dec_nsh_ttl actionYi Yang2018-01-111-1/+12
| | | | | | | | | | NSH ttl is a 6-bit field ranged from 0 to 63, it should be decremented by 1 every hop, if it is 0 or it is so after decremented, the packet should be dropped and a packet-in message is sent to main controller. Signed-off-by: Yi Yang <yi.y.yang@intel.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovs-bugtool: Extend bugtool with query repeat feature.Dávid Patrik Pintér2018-01-102-23/+61
| | | | | | | | | | | | | | | Devs can configure bugtool plugin queries to be repeated using repeat counters. The value of a repeat counter is an integer greater than 1. The outputs of a repeated query are saved in the same output file with date headers. Queries without repeat counter will run only once. Users can set the delay between repeated queries with the delay option. Default value for delay is 10 seconds. Setting repeat counter value to "2" for traffic related queries. Signed-off-by: David Patrik Pinter <david.patrik.pinter@ericsson.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovs-bugtool: Enhancement of bugtool plugins.Dávid Patrik Pintér2018-01-109-21/+176
| | | | | | | | | | Bugtool extended with NUMA related, QoS related and RHEL specific information. Signed-off-by: David Patrik Pinter <david.patrik.pinter@ericsson.com> Signed-off-by: Miklos Pelyva <miklos.pelyva@ericsson.com> Co-authored-by: Miklos Pelyva <miklos.pelyva@ericsson.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovs-bugtool: Refactorize bugtool plugin xml files.Dávid Patrik Pintér2018-01-1012-211/+11
| | | | | | | | | | Introducing new query calling practice: - single line query called directly from plugin xml - multiple line query saved as script and the script is called from plugin xml Signed-off-by: David Patrik Pinter <david.patrik.pinter@ericsson.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovs-bugtool: Bugfix for bugtool plugin queries.Dávid Patrik Pintér2018-01-104-33/+17
| | | | | | | | | | | | | | | | | Introducing 'ovs-bugtool-ovs-ofctl-loop-over-bridges' bash script. It calls ovs-ofctl commands given as first parameter for each bridge with the corresponding open flow protocol option. Usage: ovs-bugtool-ovs-ofctl-loop-over-bridges "param1" "param2" - param1: ovs-ofctl command to call (show, dump-flows, etc...) - param2: optional, add further parts for the shell command (like "| grep something") Calling ovs-ofctl commands 'show' and 'dump-flows' with the 'ovs-bugtool-ovs-ofctl-loop-over-bridges' bash script. Signed-off-by: David Patrik Pinter <david.patrik.pinter@ericsson.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* utilities: move some functions from ovs-ctl.in to ovs-lib.inTimothy Redaelli2018-01-082-173/+173
| | | | | | | | | | Move the functions related to "force-reload-kmod" and "restart" from ovs-ctl.in to ovs-lib.in in order to permit other scripts to use them. Signed-off-by: Timothy Redaelli <tredaelli@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org> Tested-by: Greg Rose <gvrose8192@gmail.com> Reviewed-by: Greg Rose <gvrose8192@gmail.com>
* ovs-ofctl: Better document stack push and pop actions.Ben Pfaff2017-12-241-15/+24
| | | | | | Requested-by: Leonid Ryzhyk <lryzhyk@vmware.com> Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
* sparse: Add guards to prevent FreeBSD-incompatible #include order.Ben Pfaff2017-12-221-1/+2
| | | | | | | | | | FreeBSD insists that <sys/types.h> be included before <netinet/in.h> and that <netinet/in.h> be included before <arpa/inet.h>. This adds guards to the "sparse" headers to yield a warning if this order is violated. This commit also adjusts the order of many #includes to suit this requirement. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>