summaryrefslogtreecommitdiff
path: root/Documentation/tutorials
Commit message (Collapse)AuthorAgeFilesLines
* xenserver: Remove xenserver.Greg Rose2022-08-151-6/+0
| | | | | | | | | | | | | Remove the current xenserver implementation - it is obsolete and since 3.0 we do not support kernel module builds [1]. 1. https://mail.openvswitch.org/pipermail/ovs-dev/2022-July/395789.html [i.maximets] Can be added back if people willing to maintain it will be found. Signed-off-by: Greg Rose <gvrose8192@gmail.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* docs: Update package references in debian/ubuntu related docs.Frode Nordahl2022-07-151-16/+3
| | | | | | | | On the back of changing the debian/ubuntu packaging, update the docs to refer to existing packages. Signed-off-by: Frode Nordahl <frode.nordahl@canonical.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* ovs-monitor-ipsec: Allow custom options per tunnel.Andreas Karis2022-05-041-0/+45
| | | | | | | | | | | Tunnels in LibreSwan and OpenSwan allow for many options to be set on a per tunnel basis. Pass through any options starting with ipsec_ to the connection in the configuration file. Administrators are responsible for picking valid key/value pairs. Signed-off-by: Andreas Karis <ak.karis@gmail.com> Acked-by: Mike Pattrick <mkp@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* docs: fix wrong quoteYunjian Wang2021-07-061-1/+1
| | | | | | | Remove the coma character by using ' or " character. Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* docs: Add instruction to set local_ip to ipsec tutorial.Balazs Nemeth2021-02-191-1/+20
| | | | | | Signed-off-by: Balazs Nemeth <bnemeth@redhat.com> Acked-by: Mark Gray <mark.d.gray@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* ovs-monitor-ipsec: Add support for tunnel 'local_ip'.Mark Gray2021-01-051-0/+1
| | | | | | | | | | | | | | | | | | In the libreswan case, 'ovs-monitor-ipsec' sets 'left' to '%defaultroute' which will use the local address of the default route interface as the source IP address. In multihomed environments, this may not be correct if the user wants to specify what the source IP address is. In OVS, this can be set for tunnel ports using the 'local_ip' option. This patch also uses that option to populate the 'ipsec.conf' configuration. If the 'local_ip' option is not present, it will default to the previous behaviour of using '%defaultroute' Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1906280 Signed-off-by: Mark Gray <mark.d.gray@redhat.com> Acked-by: Eelco Chaudron <echaudro@redhat.com> Acked-by: Flavio Leitner <fbl@sysclose.org> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* Update tutorial for newer versions of Faucet and Open vSwitch.Brad Cowie2020-12-211-292/+304
| | | | | | | | | | | | | | | | | Newer versions of Faucet use a dynamic OpenFlow pipeline based on what features are enabled in the configuration file. Update log output, flow table dumps and explanations to be consistent with newer Faucet versions. Remove mentions of bugs that we have since fixed in Faucet since the tutorial was originally written. Adds documentation on changes to Open vSwitch commands to recommend using a version that is compatible with the features of the tutorial. Reported-by: Matthias Ableidinger <ableimat@gmx.at> Reported-at: https://mail.openvswitch.org/pipermail/ovs-discuss/2018-August/047180.html Signed-off-by: Brad Cowie <brad@wand.net.nz> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* Documentation: update IPsec tutorial for F32Mark Gray2020-11-161-53/+55
| | | | | | | | | | F32 requires the "python3-openvswitch" package now. Also, the iptables chain "IN_FedoraServer_allow" does not exist on Fedora 32. Signed-off-by: Mark Gray <mark.d.gray@redhat.com> Acked-by: Eric Garver <eric@garver.life> Acked-by: Ian Stokes <ian.stokes@intel.com> Signed-off-by: Ian Stokes <ian.stokes@intel.com>
* ovn: Remove remaining pieces.Ben Pfaff2019-09-301-1/+1
| | | | | | | | A preceding commit removed the last remaining dependencies on OVN code, so remove the OVN code. Acked-by: Han Zhou <hzhou8@ebay.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Remove OVN.Mark Michelson2019-09-065-2385/+1
| | | | | | | | | | | | | | | | OVN is separated into its own repo. This commit removes the OVN source, OVN tests, and OVN documentation. It also removes mentions of OVN from most documentation. The only place where OVN has been left is in changelogs/NEWS, since we shouldn't mess with the history of the project. There is an exception here. The ovsdb-cluster tests rely on ovn-nbctl and ovn-sbctl to run. Therefore those ovn utilities, as well as their dependencies remain in the repo with this commit. Acked-by: Numan Siddique <nusiddiq@redhat.com> Signed-off-by: Mark Michelson <mmichels@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Documentation: Clarify connection tracking tutorialGreg Rose2019-07-051-2/+10
| | | | | | | | | | | | | The current documentation states that "all packets entering OVS for the first time are "untracked"". However there is a minor exception to this in the case where a packet (re)enters the same datapath and the namespace has not changed. In that case there is no need to scrub the packet and in this case the connection may already be in the "tracked" state. Reported-by: Quan Tian <qtian@vmware.com> Signed-off-by: Greg Rose <gvrose8192@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Docs: fix conntrack flow ct_state inputLIU Yulong2019-04-121-6/+6
| | | | | | | | | | | | | | | | | In the following envrionment: ovs-vsctl (Open vSwitch) 2.11.0 DB Schema 7.16.1 we meet the following error during the tutorials conntrack test: "ovs-ofctl: field +est missing value" "ovs-ofctl: field +trk missing value" ovs-vsctl 2.9.0 has the same issue. This patch gives the tutorials with right conntrack input. Signed-off-by: LIU Yulong <i@liuyulong.me>
* Documentation: Fixing some minor spelling mistakes and consistent usage of ↵Ashish Varma2018-12-031-9/+9
| | | | | | | certain keywords. Signed-off-by: Ashish Varma <ashishvarma.ovs@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Documentation: OVN RBAC and IPsec tutorialQiuyu Xiao2018-11-093-0/+282
| | | | | | | | This patch adds step-by-step guide for configuring OVN Role-Based Access Control and IPsec. Signed-off-by: Qiuyu Xiao <qiuyu.xiao.qyx@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Documentation: IPsec tunnel tutorial and documentation.Qiuyu Xiao2018-11-092-0/+348
| | | | | | | | | | | | | tutorials/index.rst gives a step-by-setp guide to set up OVS IPsec tunnel. tutorials/ipsec.rst gives detailed explanation on the IPsec tunnel configuration methods and forwarding modes. Signed-off-by: Qiuyu Xiao <qiuyu.xiao.qyx@gmail.com> Signed-off-by: Ansis Atteka <aatteka@ovn.org> Co-authored-by: Ansis Atteka <aatteka@ovn.org> Signed-off-by: Ben Pfaff <blp@ovn.org>
* treewide: Convert leading tabs to spaces.Ben Pfaff2018-06-112-84/+84
| | | | | | | | | It's always been OVS coding style to use spaces rather than tabs for indentation, but some tabs have snuck in over time. This commit converts them to spaces. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
* ovn-sandbox: Fix link.Ben Pfaff2018-06-111-4/+3
| | | | | | | | I couldn't figure out a way to fix this without making it inline. Weird. Reported-by: Qiuyu Xiao <qxiao@vmware.com> Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
* Doc: Fix commands not being shown in code blocksaxel@tripier.fr2018-05-091-3/+3
| | | | | | | | | Some commands are not shown in code blocks in the Advances Features tutorial, they are shown as variable width text because of a missing ":" to designate them as code blocks. Signed-off-by: Axel Tripier <axel@tripier.fr> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Doc: Fix binary representation in Faucet tutorialaxel@tripier.fr2018-05-091-2/+2
| | | | | | | | The binary representation of 80 and 8080 are switched in the Faucet tutorial. Signed-off-by: Axel Tripier <axel@tripier.fr> Signed-off-by: Ben Pfaff <blp@ovn.org>
* utilities: Add some GDB macros for ovs-vswitchdEelco Chaudron2018-05-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds basic GDB macro's for ovs-vswitchd: - ovs_dump_bridge [ports|wanted] - ovs_dump_bridge_ports <struct bridge *> - ovs_dump_dp_netdev [ports] - ovs_dump_dp_netdev_ports <struct dp_netdev *> - ovs_dump_netdev These dump functions show limited info, but you can simply cut/paste the address and get the full structure info. For example: (gdb) ovs_dump_netdev (struct netdev *) 0x555771ed89e0: name = ovs-netdev , auto_classified = false, netdev_class = 0x5557714413c0 <netdev_tap_class> (struct netdev *) 0x555771fc62a0: name = ovs_pvp_br0 , auto_classified = false, netdev_class = 0x5557714413c0 <netdev_tap_class> (struct netdev *) 0x555771fc9660: name = vnet0 , auto_classified = true , netdev_class = 0x555771445e00 <netdev_linux_class> (struct netdev *) 0x555771fc78d0: name = virbr0 , auto_classified = true , netdev_class = 0x555771445e00 <netdev_linux_class> (struct netdev *) 0x7fbefffb5540: name = dpdk0 , auto_classified = false, netdev_class = 0x5557714419e0 <dpdk_class> (struct netdev *) 0x555771fc98b0: name = em3 , auto_classified = true , netdev_class = 0x555771445e00 <netdev_linux_class> (struct netdev *) 0x7fbea0a31c40: name = vhost0 , auto_classified = false, netdev_class = 0x555771442040 <dpdk_vhost_client_class> (gdb) p *((struct netdev *) 0x7fbefffb5540) $1 = {name = 0x555771ecef70 "dpdk0", netdev_class = 0x5557714419e0 <dpdk_class>, auto_classified = false, mtu_user_config = true, ref_cnt = 2, change_seq = 12, reconfigure_seq = 0x555771ecf2e0, last_reconfigure_seq = 110, n_txq = 2, n_rxq = 1, node = 0x555771efafe0, saved_flags_list = {prev = 0x7fbefffb5580, next = 0x7fbefffb5580}} Signed-off-by: Eelco Chaudron <echaudro@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Update docker run commandFrédéric2018-04-031-1/+1
| | | | | | | Faucet config is now in: /etc/faucet/ and log in: /var/log/faucet/ Signed-off-by: Frédéric Tobias Christ <fchrist@live.de> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Clean up some minor spelling and typos.Justin Pettit2018-03-142-5/+5
| | | | | Signed-off-by: Justin Pettit <jpettit@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* doc: Added OVS Conntrack tutorialAshish Varma2018-02-012-0/+573
| | | | | | | | | OVS supports connection tracker related match fields and actions. Added a tutorial to demonstrate the basic use cases for some of these match fields and actions. Signed-off-by: Ashish Varma <ashishvarma.ovs@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Documentation: Update Faucet tutorial.Brad Cowie2018-01-171-9/+1
| | | | | | | | Drop use of minimum_ip_size_check in Faucet tutorial which is no longer needed after we fixed a bug that was causing packet length checks to be calculated wrong. Signed-off-by: Ben Pfaff <blp@ovn.org>
* ofproto-dpif: Don't slow-path controller actions.Justin Pettit2018-01-101-33/+13
| | | | | | | | | | | | | | | | | | | | Controller actions have become more commonly used for purposes other than just making forwarding decisions (e.g., packet logging). A packet that needs to be copied to the controller and forwarded would always be sent to ovs-vswitchd to be handled, which could negatively affect performance and cause heavier CPU utilization in ovs-vswitchd. This commit changes the behavior so that OpenFlow controller actions become userspace datapath actions while continuing to let packet forwarding and manipulation continue to be handled by the datapath directly. This patch still slow-paths controller actions with the "pause" flag set. A future patch will stop slow-pathing these pause actions as well. Signed-off-by: Justin Pettit <jpettit@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* Documentation: Update Faucet tutorial.Brad Cowie2018-01-081-81/+82
| | | | | | | | | | | | | | | | | Updates Faucet tutorial to work with newer versions than 1.6.7: * Tutorial now shows how to check out latest tag from Faucet's git. * Set minimum_ip_size_check flag to False so that the payloadless packets generated by ofproto/trace aren't dropped by Faucet. * Update Faucet ACL syntax * Update output from commands/log files to reflect changes in the Faucet pipeline and to use OpenFlow 1.3 format. Signed-off-by: Brad Cowie <brad@wand.net.nz> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Documentation: Improve formatting and add reference to Faucet tutorial.Ben Pfaff2017-10-241-19/+21
| | | | | | Suggested-by: Stephen Finucane <stephen@that.guru> Suggested-by: Han Zhou <zhouhan@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Documentation: Add Faucet tutorial.Ben Pfaff2017-10-242-0/+1462
| | | | | | | This is for a talk at the Faucet conference on Oct. 19: http://conference.faucet.nz/schedule/ Signed-off-by: Ben Pfaff <blp@ovn.org>
* doc: Fix typo in ovn-sandbox tutorialJakub Sitnicki2017-09-061-1/+1
| | | | | | | | | ovn-trace example refers to a non-existent output port. Correct it. Fixes: 46a2dc58781a ("Document OVN support in ovs-sandbox.") Signed-off-by: Jakub Sitnicki <jkbs@redhat.com> Acked-By: Mark Michelson <mmichels@redhat.com> Signed-off-by: Russell Bryant <russell@ovn.org>
* Replace most uses of and references to "ifconfig" by "ip".Ben Pfaff2017-06-011-6/+5
| | | | | | | | | | | | | | | | | | | | | | It's becoming more common that OSes include "ip" but not "ifconfig", so it's best to avoid using the latter. This commit removes most references to "ifconfig" and replaces them by "ip". It also adds a build-time check to make it harder to introduce new uses of "ifconfig". There are important differences between "ifconfig" and "ip": - An "ifconfig" command that sets an IP address also brings the interface up, but a similar "ip addr add" command does not, so it is often necessary (or at least precautionary) to add an "ip link set <dev> up" command. - "ifconfig" can infer a netmask from an IP adddress, but "ip" always assumes /32 if none is given. - "ifconfig" with address 0.0.0.0 removes any configured IP address, but "ip addr add" does not, so "ifconfig <dev> 0.0.0.0" must be replaced by "ip addr del" or "ip addr flush". Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovn: Increase logical pipeline length from 16 to 24 stages.Mickey Spiegel2017-05-301-55/+55
| | | | | | | | | | | The OVN ingress pipeline for a logical switch is maxed out at 16 stages. This patch takes the simple approach of starting the ingress pipeline at table 8 rather than table 16, and starting the egress pipeline at table 40 rather than table 48. Signed-off-by: Mickey Spiegel <mickeys.dev@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovn-openstack.rst: Fix typo.Ben Pfaff2017-05-081-1/+1
| | | | | | | | The text here was inconsistent: it referred to port 4 in the text just above but the example used port 5 in one place. This fixes the issue. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Andy Zhou <azhou@ovn.org>
* Documentation: Add an OVN tutorial for OpenStack.Ben Pfaff2017-05-042-0/+1923
| | | | | Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Andy Zhou <azhou@ovn.org>
* Document OVN support in ovs-sandbox.Russell Bryant2017-03-152-0/+179
| | | | | | | | | | | | | | A previous commit removed the original ovs-sandbox based OVN tutorial because it became too outdated and difficult to maintain. However, the use of ovs-sandbox for basic OVN development and testing is incredibly useful, so we should provide at least basic documentation on how to use it. This commit introduces a new and shorter document that shows how to use OVN in ovs-sandbox. It provides a single sample configuration, as well as a sample ovn-trace command. Signed-off-by: Russell Bryant <russell@ovn.org> Acked-by: Numan Siddique <nusiddiq@redhat.com>
* doc: Remove tutorials/ovn-basics.Russell Bryant2017-01-232-975/+0
| | | | | | | | | | | | | | | | | | The only thing worse than a lack of documentation is incorrect or out-of-date documentation. Over time, this document has not kept up with the pace of OVN and is no longer a good current resource. For a sandbox based tutorial like this, I'd like to start over using ovn-trace as the basis. An even more important type of tutorial would be something along the lines of: http://blog.spinhirne.com/p/blog-series.html That blog series was fantastic and has been the primary tutorial reference I have been sending people to since it was written. Signed-off-by: Russell Bryant <russell@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* ofproto-dpif: Make ofproto/trace output easier to read.Ben Pfaff2017-01-121-100/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | "ovs-appctl ofproto/trace" is invaluable for debugging, but as the users of Open vSwitch have evolved it has failed to keep up with the times. It's pretty easy to design OpenFlow tables and pipelines that resubmit dozens of times. Each resubmit causes an additional tab of indentation, so the output wraps around, sometimes again and again, and makes the output close to unreadable. ovn-trace pioneered better formatting for tracing in OVN logical datapaths, mostly by not increasing indentation for tail recursion, which in practice gets rid of almost all indentation. This commit experiments with redoing ofproto/trace the same way. Try looking at, for example, the testsuite output for test 2282 "ovn -- 3 HVs, 3 LRs connected via LS, source IP based routes". Without this commit, it indents 61 levels (488 spaces!). With this commit, it indents 1 level (4 spaces) and it's possible to actually understand what's going on almost at a glance. To see this for yourself, try the following command either with or without this commit (but be sure to keep the change to ovn.at that adds an ofproto/trace to the test): make check TESTSUITEFLAGS='-d 2282' && less tests/testsuite.dir/2282/testsuite.log Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Lance Richardson <lrichard@redhat.com> Acked-by: Justin Pettit <jpettit@ovn.org>
* doc: Add missing ':'Stephen Finucane2017-01-041-1/+1
| | | | | Signed-off-by: Stephen Finucane <stephen@that.guru> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovs-advanced.rst: Add missing \ to a few examples.Ben Pfaff2016-12-231-3/+3
| | | | | | | | This makes these examples easier to cut and paste into a terminal, and makes them consistent with the other examples. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Mickey Spiegel <mickeys.dev@gmail.com>
* docs: Resolve broken URLsStephen Finucane2016-12-231-2/+2
| | | | | | | | These were found using the 'linkcheck' builder. Signed-off-by: Stephen Finucane <stephen@that.guru> Cc: Ben Pfaff <blp@ovn.org> Signed-off-by: Ben Pfaff <blp@ovn.org>
* doc: Populate 'tutorials' sectionStephen Finucane2016-12-123-0/+1853
| | | | | | | Rename 'tutorial' to 'ovs-advanced' and 'ovn-tutorial' to 'ovn-basics'. Signed-off-by: Stephen Finucane <stephen@that.guru> Signed-off-by: Ben Pfaff <blp@ovn.org>
* doc: Create directory structureStephen Finucane2016-12-121-0/+34
Create a series of sections, all of which are currently empty, using the general design established by Jacob Kaplan-Moss and the Django project [1]. Five sections are provided: - intro - tutorials - topics - howto - ref - faq - internals The purpose of each section is described in the documents themselves. [1] https://jacobian.org/writing/great-documentation/ Signed-off-by: Stephen Finucane <stephen@that.guru> Signed-off-by: Ben Pfaff <blp@ovn.org>