aboutsummaryrefslogtreecommitdiff
path: root/AUTHORS
AgeCommit message (Collapse)Author
2013-10-17vtep: Add Debian packaging.Justin Pettit
Co-authored-by: David Yang <davidy@vmware.com> Signed-off-by: David Yang <davidy@vmware.com> Signed-off-by: Justin Pettit <jpettit@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
2013-10-16datapath: fix vport-netdev unregisterAlexei Starovoitov
The combination of two commits: commit 8e4e1713e4 ("openvswitch: Simplify datapath locking.") commit 2537b4dd0a ("openvswitch:: link upper device for port devices") introduced a bug where upper_dev wasn't unlinked upon netdev_unregister notification The following steps: modprobe openvswitch ovs-dpctl add-dp test ip tuntap add dev tap1 mode tap ovs-dpctl add-if test tap1 ip tuntap del dev tap1 mode tap are causing multiple warnings: [ 62.747557] gre: GRE over IPv4 demultiplexor driver [ 62.749579] openvswitch: Open vSwitch switching datapath [ 62.755087] device test entered promiscuous mode [ 62.765911] device tap1 entered promiscuous mode [ 62.766033] IPv6: ADDRCONF(NETDEV_UP): tap1: link is not ready [ 62.769017] ------------[ cut here ]------------ [ 62.769022] WARNING: CPU: 1 PID: 3267 at net/core/dev.c:5501 rollback_registered_many+0x20f/0x240() [ 62.769023] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video [ 62.769051] CPU: 1 PID: 3267 Comm: ip Not tainted 3.12.0-rc3+ #60 [ 62.769052] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012 [ 62.769053] 0000000000000009 ffff8807f25cbd28 ffffffff8175e575 0000000000000006 [ 62.769055] 0000000000000000 ffff8807f25cbd68 ffffffff8105314c ffff8807f25cbd58 [ 62.769057] ffff8807f2634000 ffff8807f25cbdc8 ffff8807f25cbd88 ffff8807f25cbdc8 [ 62.769059] Call Trace: [ 62.769062] [<ffffffff8175e575>] dump_stack+0x55/0x76 [ 62.769065] [<ffffffff8105314c>] warn_slowpath_common+0x8c/0xc0 [ 62.769067] [<ffffffff8105319a>] warn_slowpath_null+0x1a/0x20 [ 62.769069] [<ffffffff8162a04f>] rollback_registered_many+0x20f/0x240 [ 62.769071] [<ffffffff8162a101>] rollback_registered+0x31/0x40 [ 62.769073] [<ffffffff8162a488>] unregister_netdevice_queue+0x58/0x90 [ 62.769075] [<ffffffff8154f900>] __tun_detach+0x140/0x340 [ 62.769077] [<ffffffff8154fb36>] tun_chr_close+0x36/0x60 [ 62.769080] [<ffffffff811bddaf>] __fput+0xff/0x260 [ 62.769082] [<ffffffff811bdf5e>] ____fput+0xe/0x10 [ 62.769084] [<ffffffff8107b515>] task_work_run+0xb5/0xe0 [ 62.769087] [<ffffffff810029b9>] do_notify_resume+0x59/0x80 [ 62.769089] [<ffffffff813a41fe>] ? trace_hardirqs_on_thunk+0x3a/0x3f [ 62.769091] [<ffffffff81770f5a>] int_signal+0x12/0x17 [ 62.769093] ---[ end trace 838756c62e156ffb ]--- [ 62.769481] ------------[ cut here ]------------ [ 62.769485] WARNING: CPU: 1 PID: 92 at fs/sysfs/inode.c:325 sysfs_hash_and_remove+0xa9/0xb0() [ 62.769486] sysfs: can not remove 'master', no directory [ 62.769486] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video [ 62.769514] CPU: 1 PID: 92 Comm: kworker/1:2 Tainted: G W 3.12.0-rc3+ #60 [ 62.769515] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012 [ 62.769518] Workqueue: events ovs_dp_notify_wq [openvswitch] [ 62.769519] 0000000000000009 ffff880807ad3ac8 ffffffff8175e575 0000000000000006 [ 62.769521] ffff880807ad3b18 ffff880807ad3b08 ffffffff8105314c ffff880807ad3b28 [ 62.769523] 0000000000000000 ffffffff81a87a1f ffff8807f2634000 ffff880037038500 [ 62.769525] Call Trace: [ 62.769528] [<ffffffff8175e575>] dump_stack+0x55/0x76 [ 62.769529] [<ffffffff8105314c>] warn_slowpath_common+0x8c/0xc0 [ 62.769531] [<ffffffff81053236>] warn_slowpath_fmt+0x46/0x50 [ 62.769533] [<ffffffff8123e7e9>] sysfs_hash_and_remove+0xa9/0xb0 [ 62.769535] [<ffffffff81240e96>] sysfs_remove_link+0x26/0x30 [ 62.769538] [<ffffffff81631ef7>] __netdev_adjacent_dev_remove+0xf7/0x150 [ 62.769540] [<ffffffff81632037>] __netdev_adjacent_dev_unlink_lists+0x27/0x50 [ 62.769542] [<ffffffff8163213a>] __netdev_adjacent_dev_unlink_neighbour+0x3a/0x50 [ 62.769544] [<ffffffff8163218d>] netdev_upper_dev_unlink+0x3d/0x140 [ 62.769548] [<ffffffffa033c2db>] netdev_destroy+0x4b/0x80 [openvswitch] [ 62.769550] [<ffffffffa033b696>] ovs_vport_del+0x46/0x60 [openvswitch] [ 62.769552] [<ffffffffa0335314>] ovs_dp_detach_port+0x44/0x60 [openvswitch] [ 62.769555] [<ffffffffa0336574>] ovs_dp_notify_wq+0xb4/0x150 [openvswitch] [ 62.769557] [<ffffffff81075c28>] process_one_work+0x1d8/0x6a0 [ 62.769559] [<ffffffff81075bc8>] ? process_one_work+0x178/0x6a0 [ 62.769562] [<ffffffff8107659b>] worker_thread+0x11b/0x370 [ 62.769564] [<ffffffff81076480>] ? rescuer_thread+0x350/0x350 [ 62.769566] [<ffffffff8107f44a>] kthread+0xea/0xf0 [ 62.769568] [<ffffffff8107f360>] ? flush_kthread_worker+0x150/0x150 [ 62.769570] [<ffffffff81770bac>] ret_from_fork+0x7c/0xb0 [ 62.769572] [<ffffffff8107f360>] ? flush_kthread_worker+0x150/0x150 [ 62.769573] ---[ end trace 838756c62e156ffc ]--- [ 62.769574] ------------[ cut here ]------------ [ 62.769576] WARNING: CPU: 1 PID: 92 at fs/sysfs/inode.c:325 sysfs_hash_and_remove+0xa9/0xb0() [ 62.769577] sysfs: can not remove 'upper_test', no directory [ 62.769577] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video [ 62.769603] CPU: 1 PID: 92 Comm: kworker/1:2 Tainted: G W 3.12.0-rc3+ #60 [ 62.769604] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012 [ 62.769606] Workqueue: events ovs_dp_notify_wq [openvswitch] [ 62.769607] 0000000000000009 ffff880807ad3ac8 ffffffff8175e575 0000000000000006 [ 62.769609] ffff880807ad3b18 ffff880807ad3b08 ffffffff8105314c ffff880807ad3b58 [ 62.769611] 0000000000000000 ffff880807ad3bd9 ffff8807f2634000 ffff880037038500 [ 62.769613] Call Trace: [ 62.769615] [<ffffffff8175e575>] dump_stack+0x55/0x76 [ 62.769617] [<ffffffff8105314c>] warn_slowpath_common+0x8c/0xc0 [ 62.769619] [<ffffffff81053236>] warn_slowpath_fmt+0x46/0x50 [ 62.769621] [<ffffffff8123e7e9>] sysfs_hash_and_remove+0xa9/0xb0 [ 62.769622] [<ffffffff81240e96>] sysfs_remove_link+0x26/0x30 [ 62.769624] [<ffffffff81631f22>] __netdev_adjacent_dev_remove+0x122/0x150 [ 62.769627] [<ffffffff81632037>] __netdev_adjacent_dev_unlink_lists+0x27/0x50 [ 62.769629] [<ffffffff8163213a>] __netdev_adjacent_dev_unlink_neighbour+0x3a/0x50 [ 62.769631] [<ffffffff8163218d>] netdev_upper_dev_unlink+0x3d/0x140 [ 62.769633] [<ffffffffa033c2db>] netdev_destroy+0x4b/0x80 [openvswitch] [ 62.769636] [<ffffffffa033b696>] ovs_vport_del+0x46/0x60 [openvswitch] [ 62.769638] [<ffffffffa0335314>] ovs_dp_detach_port+0x44/0x60 [openvswitch] [ 62.769640] [<ffffffffa0336574>] ovs_dp_notify_wq+0xb4/0x150 [openvswitch] [ 62.769642] [<ffffffff81075c28>] process_one_work+0x1d8/0x6a0 [ 62.769644] [<ffffffff81075bc8>] ? process_one_work+0x178/0x6a0 [ 62.769646] [<ffffffff8107659b>] worker_thread+0x11b/0x370 [ 62.769648] [<ffffffff81076480>] ? rescuer_thread+0x350/0x350 [ 62.769650] [<ffffffff8107f44a>] kthread+0xea/0xf0 [ 62.769652] [<ffffffff8107f360>] ? flush_kthread_worker+0x150/0x150 [ 62.769654] [<ffffffff81770bac>] ret_from_fork+0x7c/0xb0 [ 62.769656] [<ffffffff8107f360>] ? flush_kthread_worker+0x150/0x150 [ 62.769657] ---[ end trace 838756c62e156ffd ]--- [ 62.769724] device tap1 left promiscuous mode This patch also affects moving devices between net namespaces. OVS used to ignore netns move notifications which caused problems. Like: ovs-dpctl add-if test tap1 ip link set tap1 netns 3512 and then removing tap1 inside the namespace will cause hang on missing dev_put. With this patch OVS will detach dev upon receiving netns move event. Signed-off-by: Alexei Starovoitov <ast@plumgrid.com> Signed-off-by: Jesse Gross <jesse@nicira.com>
2013-10-14rhel: Option to create tunnel through ifcfg scripts.Edouard Bourguignon
Signed-off-by: Edouard Bourguignon <madko@linuxed.net> Signed-off-by: Gurucharan Shetty <gshetty@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
2013-10-02util: use gcc builtins to better check array sizesFlavio Leitner
GCC provides two useful builtin functions that can help to improve array size checking during compilation. This patch contains no functional changes, but it makes it easier to detect mistakes. Signed-off-by: Flavio Leitner <fbl@redhat.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-09-13AUTHORS: Add Torbjorn Tornkvist.Ben Pfaff
Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-09-12dpif-linux: Use correct enum in dpif_linux_flow_dump_start().Ben Pfaff
Both the old (wrong) and new (correct) enums have the same value, so this doesn't fix a visible bug. Reported-by: ankur dwivedi <ankurengg2003@gmail.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-09-08AUTHORS: Update Jarno Rajahalme's email address.Ben Pfaff
Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Ethan Jackson <ethan@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
2013-09-07netdev: update IFF_LOOPBACK flag for linux and bsd devicesAlexandru Copot
Signed-off-by: Alexandru Copot <alex.mihai.c@gmail.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-09-02Implement OpenFlow 1.1+ "groups" protocol.Neil Zhu
This doesn't include a dpif implementation of groups functionality. In its current form, it is untested. Signed-off-by: Neil Zhu <zhuj@centecnetworks.com> Co-authored-by: Ben Pfaff <blp@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Co-authored-by: Simon Horman <horms@verge.net.au> Signed-off-by: Simon Horman <horms@verge.net.au> Co-authored-by: Jarno Rajahalme <jrajahalme@nicira.com> Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
2013-08-26ovs-save: Do not depend on hardcoded set of $PATH for utilities.Gurucharan Shetty
Reported-by: Jian Qiu <swordqiu@gmail.com> Signed-off-by: Gurucharan Shetty <gshetty@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
2013-08-23ofproto: remove the extra reset to make code clear to read.pritesh
Signed-off-by: pritesh <pritesh.kothari@cisco.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
2013-08-20odp-util: New function odp_flow_key_to_mask().Guolin Yang
With megaflow support, there is API to convert mask to nlattr key based format. This change introduces API to do the reverse conversion. We leverage the existing odp_flow_key_to_flow() API to reuse the code. Signed-off-by: Guolin Yang <gyang@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-08-05cfm: update remote opstate only when a CCM is received.Paul Ingram
The remote opstate for a CFM interface is presumed to be up unless a CCM is received which signals opstate down. This means than an interface configured for CFM demand mode may incorrectly appear to be opstate up if it has not received a CCM within the last fault interval. We should remember the last remote opstate for a CFM interface and only change it when a CCM arrives signaling a change. Bug #18806 Signed-off-by: Paul Ingram <pingram@nicira.com> Signed-off-by: Ethan Jackson <ethan@nicira.com> Acked-by: Ethan Jackson <ethan@nicira.com>
2013-07-25.gitignore: ignore temporary _debian packaging contentMark Hamilton
Signed-off-by: Mark Hamilton <mhamilton@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-07-23vlan-splinter: Fix inverted logic bug.Alex Wang
When "other-config:enable-vlan-splinters=true" is set, the existing vlans with ip address must be retained. The bug actually does the opposite and retains the vlans without ip address. This commit fixes it. Reported-by: Roman Sokolkov <rsokolkov@gmail.com> Signed-off-by: Alex Wang <alexw@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-07-17Make attribute packed equivalent for MSC compilers.Linda Sun
Signed-off-by: Linda Sun <lsun@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-07-08bitmap: Fix bitmap_allocate1() bug when n_bits is a multiple of 32.ZhengLingyun
In function bitmap_allocate1(), the last "unsigned long" in bitmap was set to all 0-bits when (n_bits % BITMAP_ULONG_BITS == 0). This commit correctly sets it to all 1-bits. Signed-off-by: ZhengLingyun <konghuarukhr@163.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-06-28ofp-util: OpenFlow 1.0 can match IPv6 Ethertype even though not L3 or L4.Ben Pfaff
OpenFlow 1.0 can match on flows that have the IPv6 Ethertype, but ofputil_usable_protocols() incorrectly reported that such a match required NXM or OXM. This commit fixes the problem. Also, add some related tests. Reported-by: Nagi Reddy Jonnala <njonnala@Brocade.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-06-26INSTALL: Add db name to path in the example.James P
Signed-off-by: James P. <roampune@gmail.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-06-24ofproto-dpif: Make "fdb/show" report OpenFlow port numbers.Ben Pfaff
Users are more likely to be able to reasonably interpret OpenFlow port numbers than datapath port numbers. This issue has existed since at least 2011 but only recently has it been possible for OpenFlow and datapath port numbers to differ (except for the "local" port). Reported-by: Christopher Paggen <cpaggen@cisco.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-06-13lib/netdev-linux.c: Prevent receiving of sent packetsMurphy McCauley
Commit 796223f5 (netdev: Add new "struct netdev_rx" for capturing packets from a netdev) refactored send and receive into separate netdevs. As a result, send and receive now use different socket descriptors (except for tap interfaces which are treated specially). An unintended side effect was that all sent packets are looped back and received, which had previously been avoided as the kernel specifically prevents this from happening on a single socket descriptor. To resolve the situation, a socket filter is added to the receive socket so that it only accepts inbound packets. Simon Horman co-discovered and initially reported this issue. Signed-off-by: Murphy McCauley <murphy.mccauley@gmail.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Tested-by: Simon Horman <horms@verge.net.au> Reviewed-by: Simon Horman <horms@verge.net.au>
2013-06-05ofp-actions: enforce valid range for table_id in goto_table instructionJing Ai
Found a bug that OVS allows goto_table_id to be smaller than (or equal to) the current table id where the flow resides. It potentially creates an infinite loop when composing actions for a packet. To fix it, we just let OVS returns an error message to prevent such flow to be programmed. Signed-off-by: Jing Ai <jinga@google.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-06-05packets: Fix typo in reserved multicast Ethernet addresses.Ben Pfaff
The reserved multicast Ethernet addresses begin with 01:80:c2, not 01:08:c2. Reported-by: Padmanabhan Krishnan <kprad1@yahoo.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Ethan Jackson <ethan@nicira.com>
2013-06-04Fix misspellings in comments and docs.Andy Hill
Flagged with: https://github.com/lyda/misspell-check Run with: git ls-files | misspellings -f - Signed-off-by: Andy Hill <hillad@gmail.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-05-29debian: Don't fail ovs-controller restart if daemon not running.Gurucharan Shetty
Reported-by: Maxime Brun <m.brun@alphalink.fr> Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
2013-05-13ofproto-dpif: Make fin_timeout work when governor kicks in.Ben Pfaff
The xlate_actions() call in handle_flow_miss_without_facet() didn't implement fin_timeout properly because tcp_flags wasn't getting set. I have not tested that this fixes the problem, but it seems "obviously correct". Bug #16506. Reported-by: Ying Chen <yingchen@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Signed-off-by: Ethan Jackson <ethan@nicira.com> Acked-by: Ethan Jackson <ethan@nicira.com>
2013-05-06ovsdb-client: Avoid assertion with multiple databases.Justin Pettit
When using ovsdb-client with an ovsdb-server with multiple databases, an assertion could trigger due to them being returned in non-sorted order. This commit changes the fetch_dbs() function to always return databases in sorted order, since both callers are expecting that behavior. Bug #16882 Signed-off-by: Justin Pettit <jpettit@nicira.com> Reported-by: Spiro Kourtessis <spiro@vmware.com>
2013-05-01ovs-sandbox: Use $schema for creating the db.Duffie Cooley
The code here went to some trouble to properly set $schema and then ignored it. Signed-off-by: Duffie Cooley <dcooley@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-04-30ofproto-dpif: Fix 'size' argument to fix_sflow_action().Ben Pfaff
The sflow action only uses 8 bytes of the total 16 for user_action_cookie, but fix_sflow_action() was checking for the presence of all 16, so if the sflow action wasn't followed by a few other actions then 'cookie' would end up NULL and the assertion would segfault. Bug #16659. Reported-by: Dhaval Badiani <dbadiani@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-04-18python: fix a typo error in python/ovs/socket_util.py.Alex Wang
The commit 89d7ffa9 (python: Workaround UNIX socket path length limits), fixes most failed tests. But it has a typo and the typo causes the failure of test <unixctl server errors - Python> when the path length is very long (e.g. more than 90 characters). This patch fixes the above issue. Signed-off-by: Alex Wang <alexw@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-04-18Correctly implement the OpenFlow 1.2+ OXM_OF_IP_DSCP field.Ben Pfaff
NXM puts the DSCP value in bits 2-7 of NXM_OF_IP_TOS. OXM puts the DSCP value in bits 0-6 of OXM_OF_IP_DSCP. Before this commit, Open vSwitch incorrectly implemented OXM_OF_IP_DSCP with the same format as NXM_OF_IP_TOS. This commit fixes the problem and adds a test (previously missing but I don't know why). Reported-by: Hiroshi Miyata <miyahiro.dazu@gmail.com> Tested-by: Hiroshi Miyata <miyahiro.dazu@gmail.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-04-15debian: build with debugging symbolBen Pfaff
Signed-off-by: Zang MingJie <zealot0630@gmail.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-04-11AUTHORS: Add Ansis Atteka.Ben Pfaff
I do not understand how this omission has gone on so long. CC: Ansis Atteka <aatteka@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-04-11bridge: Complete initial configuration even with empty database.Ben Pfaff
If the database was empty, that is, it did not even contain an Open_vSwitch top-level configuration record, at ovs-vswitchd startup time, then OVS failed to detach and used 100% CPU. This commit fixes the problem. This problem was introduced by commit 63ff04e82623e765 (bridge: Only complete daemonization after db commits initial config.). This problem did not manifest if the initscripts supplied with Open vSwitch were used, because those initscripts always initialize the database before starting ovs-vswitchd, so this problem affects only users with hand-rolled local OVS startup scripts. Bug #16090. Reported-by: Pravin Shelar <pshelar@nicira.com> Tested-by: Pravin Shelar <pshelar@nicira.com> Reported-by: Paul Ingram <paul@nicira.com> Reported-by: Amre Shakimov <ashakimov@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Ansis Atteka <aatteka@nicira.com>
2013-04-10ovs-ctl: Connect to remote OVSDB managers only after ovs-vswitchd starts.Ben Pfaff
Until now, ovs-ctl has started ovsdb-server with the full set of remote managers configured. This means that ovsdb-server immediately connects to these managers, before ovs-vswitchd even starts. Because the Open vSwitch schema has several ephemeral columns, there will be considerable startup churn in the database. For example, ovs-vswitchd will initially fill in the datapath-id and ofport columns as it starts and sets up the initial configuration. This churn wastes bandwidth to the remote managers and has potential for confusing them. This commit reduces the churn by changing ovs-ctl so that ovsdb-server connects to the remote managers only after ovs-vswitchd has finished its initial configuration. This means that remote managers will initially see a filled-in database, not one that has its ephemeral columns empty. This commit does not mean that managers can ignore the possibility that some columns have not yet been filled in. For example, some columns will still be briefly blank after a new bridge or a new port is added at runtime, because adding a bridge or port occurs in one transaction (made by the client adding the port, e.g. ovs-vsctl) and filling in those columns happens in a different transaction (made by ovs-vswitchd). But this commit does reduce the quantity of empty columns that I would expect a database client to observe in practice. Reported-by: Jeff Merrick <jmerrick@vmware.com> CC: Amar Padmanabhan <amar@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Ansis Atteka <aatteka@nicira.com> Bug #15983.
2013-04-08python.ovs.db.idl: Fix Row.delete() of a row already committed to the db.Ben Pfaff
Row.delete() handled the case of deleting a row that was added within the current transaction, but not yet committed, but it did not correctly handle the case of deleting a row that belonged to the database before the transaction started. This fixes the problem. Reported-by: Yeming Zhao <zhaoyeming@gmail.com> Tested-by: Yeming Zhao <zhaoyeming@gmail.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-03-22extract-ofp-errors: Make Python 3 compatible.Damien Millescamps
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>
2013-03-15ovs-vsctl: Try connecting only once for active connections by default.Ben Pfaff
Until now, ovs-vsctl has kept trying to the database server until it succeeded or the timeout expired (if one was specified with --timeout). This meant that if ovsdb-server wasn't running, then ovs-vsctl would hang. The result was that almost every ovs-vsctl invocation in scripts specified a timeout on the off-chance that the database server might not be running. But it's difficult to choose a good timeout. A timeout that is too short can cause spurious failures. A timeout that is too long causes long delays if the server really isn't running. This commit should alleviate this problem. It changes ovs-vsctl's behavior so that, if it fails to connect to the server, it exits unsuccessfully. This makes --timeout obsolete for the purpose of avoiding a hang if the database server isn't running. (--timeout is still useful to avoid a hang if ovsdb-server is running but ovs-vswitchd is not, for ovs-vsctl commands that modify the database. --no-wait also avoids that issue.) Bug #2393. Bug #15594. Reported-by: Jeff Merrick <jmerrick@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-03-15lib: Rename lib/pcap.h to avoid inclusion conflicts.Stephane A. Sezer
lib/pcap.h has a name that conflicts with /usr/include/pcap.h. When one wants to include pcap.h from libpcap (i.e.: the one from /usr/include), one may end up with pcap.h from openvswitch. This change renames this header to pcap-file.h and updates all references to this file. This change was tested with `make distcheck`. Signed-off-by: Stephane A. Sezer <sas@cd80.net> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-02-28AUTHORS: Add Andy Zhou.Ben Pfaff
CC: Andy Zhou <azhou@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-02-25Add support for LISP tunnelingLorand Jakab
LISP is an experimental layer 3 tunneling protocol, described in RFC 6830. This patch adds support for LISP tunneling. Since LISP encapsulated packets do not carry an Ethernet header, it is removed before encapsulation, and added with hardcoded source and destination MAC addresses after decapsulation. The harcoded MAC chosen for this purpose is the locally administered address 02:00:00:00:00:00. Flow actions can be used to rewrite this MAC for correct reception. As such, this patch is intended to be used for static network configurations, or with a LISP capable controller. Signed-off-by: Lorand Jakab <lojakab@cisco.com> Signed-off-by: Kyle Mestery <kmestery@cisco.com> Signed-off-by: Jesse Gross <jesse@nicira.com>
2013-02-25FAQ: Clarify that "--all" was added in version 1.8.Ben Pfaff
Reported-by: David Palma <palma@onesource.pt> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-02-08AUTHORS: Add Rich Lane.Jesse Gross
Signed-off-by: Jesse Gross <jesse@nicira.com>
2013-01-25rhel: Automatically start openvswitch service before bringing an ovs ↵Thomas Graf
interface up or down This patch modifies the ifup/ifdown scripts to automatically start the openvswitch service before ovs-vsctl is invoked thus not making it mandatory to auto-start openvswitch on boot. Signed-off-by: Thomas Graf <tgraf@redhat.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-01-21ofproto: Remove redundant call to ofconn_get_ofprotoBen Pfaff
This is a cosmetic change. Remove the redundant call to ofconn_get_ofproto in handle_flow_mod. Signed-off-by: Paraneetharan Chandrasekaran <paraneetharanc@gmail.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-01-16bridge: Remove restriction on socket name.Pavithra Ramesh
Following patch removes restriction on the listening socket name that gets configured as bridge controller. Currently, we only connect to sockets in a specific directory with the name of the bridge. This patch removes the restriction on the bridge name, keeping the directory restriction. Bug #14029. Signed-off-by: Pavithra Ramesh <paramesh@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-01-16AUTHORS: Add James Page.Jesse Gross
Signed-off-by: Jesse Gross <jesse@nicira.com>
2013-01-15bond: Fix comment on bond_entry::tagZoltan Kiss
The hash entry tag connects to facet(s), not slaves. Signed-off-by: Zoltan Kiss <zoltan.kiss@citrix.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-01-11alloc_ofp_port does not allocate the port number correctlyKrishna Kondaka
alloc_ofp_port() does not allocate the port number correctly if the port number passed initially is already in use. The following if block if (ofp_port >= ofproto->max_ports || bitmap_is_set(ofproto->ofp_port_ids, ofp_port)) { is entered when either of the two conditions is true but the while block after this is not entered if the second condition above is true and the first condition is false. This results in an existing port_number to be re-assigned! Signed-off-by: Krishna Kondaka <kkondaka@vmware.com> Signed-off-by: Justin Pettit <jpettit@nicira.com>
2013-01-04manpages: Fix buildSaul St. John
This patch fixes regressions in the dist and distclean targets, and in the Debian build process, that were introduced by commit d2cb6c956b (manpages: Put version number instead of date at bottom of page.). Signed-off-by: Saul St. John <sstjohn@cs.wisc.edu> Signed-off-by: Ben Pfaff <blp@nicira.com>