2
0
mirror of https://github.com/openvswitch/ovs synced 2025-09-05 08:45:23 +00:00
Commit Graph

9773 Commits

Author SHA1 Message Date
Flavio Leitner
6238c95d03 fedora-spec: _smp_mflags macro must be conditional
Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-06 14:09:59 -08:00
Flavio Leitner
f1b476c315 fedora-spec: obsolete controller subpackage
Once upon a time there was a controller subpackage
that was obsoleted

Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-06 14:09:57 -08:00
Flavio Leitner
da11d08888 fedora-spec: Enable PIE
Package guidelines request to enable PIE.

Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-06 14:09:55 -08:00
Flavio Leitner
3519fa0801 fedora-spec: add openvswitch-devel subpackage
This provides static library, libopenswitch.a and the openvswitch
header files needed to build an external application in a separate
RPM package.

Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-06 14:09:53 -08:00
Flavio Leitner
f305420af8 fedora-spec: add openvswitch-test package
Put the utilities that are useful to diagnose performance
and connectivity issues in Open vSwitch setup into another
package since they are not needed in most cases.

Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-06 14:09:51 -08:00
Flavio Leitner
9136f9bd17 fedora-spec: add python-openvswitch subpackage
This creates a subpackage called python-openvswitch
providing python bidings for the Open vSwitch database.

Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-06 14:09:48 -08:00
Flavio Leitner
8c00d88bb6 fedora-spec: use %configure macro
Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-06 14:09:46 -08:00
Flavio Leitner
6fcc7a7a5c fedora-spec: more simple description
Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-06 14:09:44 -08:00
Flavio Leitner
ab725f426f fedora-spec: added more requires
The minimum recommended kernel for fedora is
3.15.0-0 due to be the first one including the
upstream kernel commit below:

  commit 4f647e0a3c37b8d5086214128614a136064110c3
  Author: Flavio Leitner <fbl@redhat.com>
  Date:   Thu Mar 27 11:05:34 2014 -0300

  openvswitch: fix a possible deadlock and lockdep warning

Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-06 14:09:42 -08:00
Flavio Leitner
b33c6dcaa9 fedora-spec: removed extra space
Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-06 14:09:40 -08:00
Flavio Leitner
21ea8738cc fedora-spec: Added buildrequires
This is needed to ensure all the packages are
installed on the system to be able to build
Open vSwitch.

This also permits to use yum-builddep(1) to
automatically install the dependencies on the
system.

Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-06 14:09:38 -08:00
Flavio Leitner
d09dbe6221 fedora-spec: source line points to upstream tarball
Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-06 14:09:36 -08:00
Flavio Leitner
89c2665fc7 fedora-spec: remove stale comment
Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-06 14:09:33 -08:00
Flavio Leitner
202e9217c8 fedora-spec: use default buildroot
Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-06 14:09:31 -08:00
Flavio Leitner
362d45b7ba fedora.spec: added license details
Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-06 14:09:28 -08:00
Ben Pfaff
fe540ca95b FAQ: Describe how to add new fields and new actions.
We get these questions from time to time and it would be nice to just be
able to cut and paste the answer.  (And possibly some people might actually
read the answer straight from the FAQ.)

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Andy Zhou <azhou@nicira.com>
2014-11-06 13:48:39 -08:00
Madhu Challa
f98e6e5bc1 meta-flow: Make it simpler to expand mf_values in the future
Remove hard coded array index and make it dependent on the array size.

Signed-off-by: Madhu Challa <challa@noironetworks.com>
Co-authored-by: Ben Pfaff <blp@nicira.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-06 10:55:14 -08:00
Pravin B Shelar
fb3939930c ovs-router: Define stub for ovs_router_unixctl_register()
ovs_router_unixctl_register() is called from ofproto layer.
But is not defined for all platform. Following patch define
stub to fix compilation error.

Reported-by: Eitan Eliahu <eliahue@vmware.com>
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>-
2014-11-05 19:36:35 -08:00
Simon Horman
69185eb25a ovs-ofctl: Only allow usable protocols for group commands
parse_ofp_group_mod_str() may limit the usable protocols according
to the group and in particular its actions. However, without this
change ovs-ofctl ignores this calculation.

Signed-off-by: Simon Horman <simon.horman@netronome.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
2014-11-05 15:55:47 -08:00
Andy Zhou
b5cbbcf656 bridge: Store datapath version into ovsdb
OVS userspace are backward compatible with older Linux kernel modules.
However, not having the most up-to-date datapath kernel modules can
some times lead to user confusion. Storing the datapath version in
OVSDB allows management software to check and optionally provide
notifications to users.

Signed-off-by: Andy Zhou <azhou@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
2014-11-05 15:27:38 -08:00
Eitan Eliahu
f8f417d3df datapath-windows: Add WMI to set Hyper-V port "friendly name" from NOVA.
Added a function Set-VMNetworkAdapterOVSPortDirect() to be called from
NOVA driver to set a name on the port of the first VNIC for the specified VM.

Usage example:
Set-VMNetworkAdapterOVSPortDirect -OVSPortName ovs-port-5 -VMName NoOS

To confirm that the name was set:
Get-VMNetworkAdapterByOVSPort  -OVSPortName ovs-port-5

Signed-off-by: Eitan Eliahu <eliahue@vmware.com>
Acked-by: Ankur Sharma <ankursharma@vmware.com>
Acked-by: Nithin Raju <nithin@vmware.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-05 14:16:17 -08:00
Eitan Eliahu
5167d6b010 router-table-stub: Fix compilation error.
Signed-off-by: Eitan Eliahu <eliahue@vmware.com>
Acked-by: Nithin Raju <nithin@vmware.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-05 07:28:23 -08:00
Jean Tourrilhes
73056818e9 openflow.h: Add header for OpenFlow v1.5.
Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-04 16:36:11 -08:00
Jean Tourrilhes
52c7a4e314 ovs-testcontroller: Fix priority of non table-miss flow entries.
Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com>
2014-11-04 16:33:40 -08:00
Pravin B Shelar
d637497c0d datapath: Convert dp rcu read operation to locked operations
dp read operations depends on ovs_dp_cmd_fill_info(). This API
needs to looup vport to find dp name, but vport lookup can
fail. Therefore to keep vport reference alive we need to
take ovs lock.

Found by code inspection.

Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Andy Zhou <azhou@nicira.com>
2014-11-04 13:52:45 -08:00
Jean Tourrilhes
3ca3ce0c1f tests: Make sure test for actset_output tests initial condition.
ONF-JIRA: EXT-233
Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com>
2014-11-04 11:23:49 -08:00
Ben Pfaff
a8c3134833 ofproto-dpif: Make ofproto/trace a bit more like real packet translation.
Until now, ofproto/trace has looked up the flow itself.  xlate_actions()
can do the flow lookup internally and, since that is what happens when a
packet arrives, having it do its own packet lookup makes a lot of sense.

I noticed this in connection with the actset_output field, which
xlate_actions() should set to OFPP_UNSET at the beginning of translation
before looking up the flow.  ofproto/trace didn't do that, so it looked
up a rule with actset_output=0 instead.  By having xlate_actions() do the
lookup, the behavior can be consistent and correct.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
2014-11-04 11:17:32 -08:00
Ben Pfaff
5859b0aa8e ofproto-dpif-xlate: Add drop_frags_rule to struct xbridge.
It will be used in an upcoming commit.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
2014-11-04 11:14:58 -08:00
Motonori Shindo
2c90878611 netflow: Fix interpretation of flow_seq.
'flow_seq" field in NetFlow v5 header should represent a number of NetFlow
flow records exported while it is representing the number of NetFlow
packets exported in the current code. This patch fixes this problem.

Signed-off-by: Motonori Shindo <motonori@shin.do>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-04 10:40:08 -08:00
Pravin B Shelar
495a6c342b ovs-router: Fix sparse warning
Fixes following warning:
../lib/ovs-router.c:162:11: warning: incorrect type in assignment
(different base types)
../lib/ovs-router.c:162:11:    expected restricted ovs_be32
[usertype] <noident>
../lib/ovs-router.c:162:11:    got restricted ovs_be16

Reported-by: Ben Pfaff <blp@nicira.com>
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
2014-11-04 09:48:17 -08:00
David Verbeiren
7251515ea9 netdev-dpdk: Fix DPDK rings broken by multi queue
DPDK rings don't need one queue per PMD thread and don't support multiple
queues (set_multiq function is undefined). To fix operation with DPDK rings,
this patch ignores EOPNOTSUPP error on netdev_set_multiq() and provides, for
DPDK rings, a netdev send() function that ignores the provided queue id
(= PMD thread core id).

Suggested-by: Maryam Tahhan <maryam.tahhan@intel.com>
Signed-off-by: David Verbeiren <david.verbeiren@intel.com>
Acked-by: Pravin B Shelar <pshelar@nicira.com>
2014-11-04 09:21:27 -08:00
Simon Horman
dbf9e6d9d7 ofp-print: Use ds_chomp() in ofp10_match_to_string()
Slightly simplify ofp10_match_to_string() by using ds_chomp()
rather than open-coding its logic.

Signed-off-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-04 08:45:27 -08:00
Simon Horman
41f562be0e match: Use ds_chomp() in match_format()
Slightly simplify match_format() by using ds_chomp()
rather than open-coding its logic.

Signed-off-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-11-04 08:43:09 -08:00
Ben Pfaff
c61f3870c2 flow: Support OF1.5+ (draft) actset_output field.
This field allows a flow table to match on the output port currently in the
action set.

ONF-JIRA: EXT-233
Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
2014-11-03 17:12:18 -08:00
Ben Pfaff
e6556fe32f nx-match: Add support for multiple OXM field assignments for one field.
actset_output, to be added in an upcoming commit, has one OXM assignment
in OpenFlow 1.3 and another one in OpenFlow 1.5.  This commit allows both
of them to be supported in appropriate OpenFlow versions.

This feature is difficult to test on its own, so the same commit that adds
actset_output support also tests this feature.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
2014-11-03 17:12:18 -08:00
Pravin B Shelar
02df89d2c6 datapath: Fix compat checks for ipv6_skip_exthdr()
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
2014-11-03 17:01:55 -08:00
Jarno Rajahalme
5e9a47719d ofproto-dpif-xlate: Do not clear ports with frags in xlate_actions().
Transport ports are already cleared for lookup if need be, and they
should be available for action processing, so do not clear them in
xlate_actions().

A drop flow takes care of dropping the packet, so no special case is
needed in xlate_actions().

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
2014-11-03 14:41:34 -08:00
Jarno Rajahalme
12e4681cfb tests/ofproto-dpif - fragment handling: Add detail.
Add transport port modifications to the existing frags handling test
case.

This demonstrates incorrect behavior by not moving the destination
port number to source port in normal mode for first fragment, as the
transport port numbers have been zeroed and the move has no effect,
and by allowing moves to/from transport ports on later fragments
(which do not have a transport header).

Next patches fix these problems.

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
2014-11-03 14:40:22 -08:00
Pravin B Shelar
e0cc58f9b7 route-table: extract gw information.
Routing table will be used by ovs userspace tunneling, it need to
know gw address, following commit extract gw information from
netlink message so that ovs can populate it in ovs route table.

Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Thomas Graf <tgraf@noironetworks.com>
2014-11-03 13:27:31 -08:00
Pravin B Shelar
d9b4ebc5d1 route-table: Use classifier to store routing table.
Rather than using hmap for storing routing entries we can directly use
classifier which has support for priority and wildcard entries.
This makes route lookup lockless. This help when we use route lookup
for native tunneling.

Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Thomas Graf <tgraf@noironetworks.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
2014-11-03 13:27:31 -08:00
Pravin B Shelar
58718f4029 route-table: get rid of name-table
name table maintains device ifindex to name mapping.  On any name
table changes it invalidate name table and routing table. So
rather than building two tables this patch moves dev name to routing
entry and build routing table on any name table changes.

Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Thomas Graf <tgraf@noironetworks.com>
2014-11-03 13:27:31 -08:00
Ben Pfaff
4f0b577e0c xenserver: Turn on SSE and SSE2 for the build, for atomic 64-bit ops.
The ovs-atomic-i586 implementation of atomic operations can implement
64-bit atomics more efficiently when SSE is supported.  XenServer runs only
on 64-bit capable processors, in 32-bit mode, so we know on XenServer that
SSE and SSE2 are supported because they are architectural for amd64.  Thus,
this commit enables SSE and SSE2 when building for XenServer to get the
improved atomics support.

I tested that this successfully adds -msse -msse2 to the compiler flags
inside a XenServer DDK, but I didn't actually run it on a real XenServer
install.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
2014-11-03 10:25:19 -08:00
Jesse Gross
bd8bf90f72 packets: Use WORDS_BIGENDIAN for struct geneve_opt.
The macro LITTLE_ENDIAN is a constant, not a test for endianness,
so it doesn't actually tell us anything about the machine.
WORDS_BIGENDIAN is both correct and defined by configure so it is
more portable.

Reported-by: Ben Pfaff <blp@nicira.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
2014-11-03 07:00:05 -08:00
Jarno Rajahalme
712b4d2470 test-classifier: Ensure priority is not INT_MIN.
Classifier reserves the priority value INT_MIN for its own use.

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
2014-10-31 16:28:58 -07:00
Jarno Rajahalme
c501b42702 classifier: Use rculist.
The list of identical, but lower priority rules is not currently used
in classifier lookup.  A later patch introducing conjunctive matches
needs to access the list during lookups, so we must make the list RCU.

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
2014-10-31 16:22:23 -07:00
Joe Stringer
7e6621e9d4 odp-util: Fix segfault in MPLS attribute parsing.
Just because the ethertype is MPLS, this doesn't mean that the datapath
understands and provides OVS_KEY_ATTR_MPLS attributes for the flow.
Previously we would check the size of the OVS_KEY_ATTR_MPLS attribute
before checking whether the attribute is present. This would cause a
segfault in nl_attr_get_size(), usually triggered from a handler thread.

This patch brings the MPLS parsing code more in line with the rest of
the parse_l2_5_onward() function, by only processing MPLS if the
attribute is present.

Reported-by: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: Joe Stringer <joestringer@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
2014-10-31 15:41:22 -07:00
Joe Stringer
dc8a858f50 ovs-ofctl: Improve error message for meter=0.
Signed-off-by: Joe Stringer <joestringer@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
2014-10-31 15:41:22 -07:00
Simon Horman
fa03bb9e32 ofp-print-ofctl: Free group buckets.
Found by inspection using make check-valgrind.

Signed-off-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-10-31 14:38:15 -07:00
Simon Horman
0da32511ec ovs-ofctl: Free group buckets.
To some extent this is cosmetic because ovs-ovfctl will immediately
exit. However, it does seem to be in keeping with freeing 'gms' in
ofctl_group_mod_file().

Found by inspection using make check-valgrind.

Signed-off-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-10-31 14:34:59 -07:00
Ben Pfaff
042d944e72 AUTHORS: Add Scott Lowe <scott.lowe@scottlowe.org>.
Contributors to the webpage deserve authorship credit too.

CC: Scott Lowe <scott.lowe@scottlowe.org>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-10-31 14:04:51 -07:00