From patchwork Tue Oct 13 16:10:35 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Pfaff X-Patchwork-Id: 529847 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from archives.nicira.com (unknown [IPv6:2600:3c00::f03c:91ff:fe6e:bdf7]) by ozlabs.org (Postfix) with ESMTP id DAA651402A8 for ; Wed, 14 Oct 2015 03:10:44 +1100 (AEDT) Received: from archives.nicira.com (localhost [127.0.0.1]) by archives.nicira.com (Postfix) with ESMTP id 8D9391066C; Tue, 13 Oct 2015 09:10:43 -0700 (PDT) X-Original-To: dev@openvswitch.org Delivered-To: dev@openvswitch.org Received: from mx3v1.cudamail.com (mx3.cudamail.com [64.34.241.5]) by archives.nicira.com (Postfix) with ESMTPS id 4956E1065E for ; Tue, 13 Oct 2015 09:10:42 -0700 (PDT) Received: from bar3.cudamail.com (bar1 [192.168.15.1]) by mx3v1.cudamail.com (Postfix) with ESMTP id 67B92618280 for ; Tue, 13 Oct 2015 10:10:41 -0600 (MDT) X-ASG-Debug-ID: 1444752640-03dd7b7d3e1b4f30001-byXFYA Received: from mx3-pf2.cudamail.com ([192.168.14.1]) by bar3.cudamail.com with ESMTP id JaNgElvBX2keOLXC (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 13 Oct 2015 10:10:40 -0600 (MDT) X-Barracuda-Envelope-From: blp@nicira.com X-Barracuda-RBL-Trusted-Forwarder: 192.168.14.1 Received: from unknown (HELO mail-pa0-f46.google.com) (209.85.220.46) by mx3-pf2.cudamail.com with ESMTPS (RC4-SHA encrypted); 13 Oct 2015 16:10:38 -0000 Received-SPF: unknown (mx3-pf2.cudamail.com: Multiple SPF records returned) X-Barracuda-Apparent-Source-IP: 209.85.220.46 X-Barracuda-RBL-IP: 209.85.220.46 Received: by padhy16 with SMTP id hy16so25343412pad.1 for ; Tue, 13 Oct 2015 09:10:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=0hw+2L41OWvwbgjWLX7vNEdoDN72bg58PRYiGnzQJg0=; b=DeabJ3doVFZr0A1Nz/XXEuP8jCFbf3o82O5J+7+ZfK4n28mWnb4Q00JlgEI1XbhEQV gYQ2/pfNlIFZp25CfwzwpIFFfCFjKXBF1INf/vmKzPH7mHS/NCyfxn5a9qbDN8A77DFY x1Ma9gclcLT/xlzCWn8+MQcKhzvpZfxh7yTQyGnCNk4EuJQdhdFPW642OQnPA/dq5Akd NPnWTuLtZpdzJ7ULF2740Nsxc22FS02DEfnwUrULQtTuyrmVJlNH5FrTvBiahAUMJjRn +IJAvqoMNxLQJplxMJ0ZaZeMNoDs3WId60iphKA6TenChPVXLv7A7ln8d6rODSTciMu6 GTGA== X-Gm-Message-State: ALoCoQmdJYj2zWEdXWwG5vPmjtzSvq8S2MTfWB1uLOoVskZGmFojIg5TiirH67ATDxM0A8denNb6 X-Received: by 10.66.230.137 with SMTP id sy9mr42360203pac.154.1444752639552; Tue, 13 Oct 2015 09:10:39 -0700 (PDT) Received: from sigabrt.gateway.sonic.net (173-228-112-112.dsl.dynamic.fusionbroadband.com. [173.228.112.112]) by smtp.gmail.com with ESMTPSA id bk8sm4715347pad.18.2015.10.13.09.10.35 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 13 Oct 2015 09:10:37 -0700 (PDT) X-CudaMail-Envelope-Sender: blp@nicira.com From: Ben Pfaff To: dev@openvswitch.org X-CudaMail-Whitelist-To: dev@openvswitch.org X-CudaMail-MID: CM-V2-1012033311 X-CudaMail-DTE: 101315 X-CudaMail-Originating-IP: 209.85.220.46 Date: Tue, 13 Oct 2015 09:10:35 -0700 X-ASG-Orig-Subj: [##CM-V2-1012033311##][PATCH] FAQ: Describe why OVS can't prepopulate the kernel flow table. Message-Id: <1444752635-17236-1-git-send-email-blp@nicira.com> X-Mailer: git-send-email 2.1.3 X-Barracuda-Connect: UNKNOWN[192.168.14.1] X-Barracuda-Start-Time: 1444752640 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://web.cudamail.com:443/cgi-mod/mark.cgi X-ASG-Whitelist: Header =?UTF-8?B?eFwtY3VkYW1haWxcLXdoaXRlbGlzdFwtdG8=?= X-Virus-Scanned: by bsmtpd at cudamail.com X-Barracuda-BRTS-Status: 1 Cc: Ben Pfaff Subject: [ovs-dev] [PATCH] FAQ: Describe why OVS can't prepopulate the kernel flow table. X-BeenThere: dev@openvswitch.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dev-bounces@openvswitch.org Sender: "dev" Signed-off-by: Ben Pfaff Acked-by: Jesse Gross --- FAQ.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/FAQ.md b/FAQ.md index 512bd2c..4c259bf 100644 --- a/FAQ.md +++ b/FAQ.md @@ -564,6 +564,32 @@ A: Open vSwitch has two kinds of flows (see the previous question), so A: Open vSwitch maintains snooping tables for each VLAN. +### Q: Can OVS populate the kernel flow table in advance instead of in reaction to packets? + +A: No. There are several reasons: + + - Kernel flows are not as sophisticated as OpenFlow flows, which + means that some OpenFlow policies could require a large number of + kernel flows. The "conjunctive match" feature is an extreme + example: the number of kernel flows it requires is the product of + the number of flows in each dimension. + + - With multiple OpenFlow flow tables and simple sets of actions, the + number of kernel flows required can be as large as the product of + the number of flows in each dimension. With more sophisticated + actions, the number of kernel flows could be even larger. + + - Open vSwitch is designed so that any version of OVS userspace + interoperates with any version of the OVS kernel module. This + forward and backward compatibility requires that userspace observe + how the kernel module parses received packets. This is only + possible in a straightforward way when userspace adds kernel flows + in reaction to received packets. + + For more relevant information on the architecture of Open vSwitch, + please read "The Design and Implementation of Open vSwitch", + published in USENIX NSDI 2015. + Performance -----------