From 1b6242fc583a6b871304fb995af6dc211b58f69b Mon Sep 17 00:00:00 2001 From: Adrian Dudau Date: Thu, 26 Jun 2014 13:48:23 +0200 Subject: initial commit for Enea Linux 4.0 Migrated from the internal git server on the daisy-enea branch Signed-off-by: Adrian Dudau --- .../openvswitchdpdk/files/ovs-ctl-dpdk.patch | 123 +++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 recipes-networking/openvswitchdpdk/files/ovs-ctl-dpdk.patch (limited to 'recipes-networking/openvswitchdpdk/files/ovs-ctl-dpdk.patch') diff --git a/recipes-networking/openvswitchdpdk/files/ovs-ctl-dpdk.patch b/recipes-networking/openvswitchdpdk/files/ovs-ctl-dpdk.patch new file mode 100644 index 0000000..bbe7a32 --- /dev/null +++ b/recipes-networking/openvswitchdpdk/files/ovs-ctl-dpdk.patch @@ -0,0 +1,123 @@ +Add ovs-vswitchd dpdk parameters and ovs_dpdk daemon calls. + +Signed-off-by: Radu Patriu +Upstream-Status: Pending + +Index: git/openvswitch/utilities/ovs-ctl.in +=================================================================== +--- git.orig/openvswitch/utilities/ovs-ctl.in 2014-05-22 14:48:48.505319435 +0300 ++++ git/openvswitch/utilities/ovs-ctl.in 2014-05-22 15:05:46.437302665 +0300 +@@ -13,6 +13,15 @@ + # See the License for the specific language governing permissions and + # limitations under the License. + ++#OVS_DPDK_PARAMS_DEFAULT to be replaced by install script ++OVS_DPDK_PARAMS=${OVS_DPDK_PARAMS:-"@OVS_DPDK_PARAMS_DEFAULT"} ++ ++#OVS_VSWITCHD_PARAMS_DEFAULT to be replaced by install script ++OVS_VSWITCHD_PARAMS=${OVS_VSWITCHD_PARAMS:-"@OVS_VSWITCHD_PARAMS_DEFAULT"} ++ ++#OVS_DPDK_LOG_DEFAULT to be replaced by install script ++OVS_DPDK_LOG=${OVS_DPDK_LOG:-"@OVS_DPDK_LOG_DEFAULT"} ++ + case $0 in + */*) dir0=`echo "$0" | sed 's,/[^/]*$,,'` ;; + *) dir0=./ ;; +@@ -106,7 +115,7 @@ + set_system_ids () { + set ovs_vsctl set Open_vSwitch . + +- OVS_VERSION=`ovs-vswitchd --version | sed 's/.*) //;1q'` ++ OVS_VERSION=`ovs-vswitchd -c 0x01 -n 4 --proc-type=auto -m 4 -- --version | sed -n 's/ovs-vswitchd (Open vSwitch) \(.*\)/\1/p'` + set "$@" ovs-version="$OVS_VERSION" + + case $SYSTEM_ID in +@@ -215,9 +224,39 @@ + db:Open_vSwitch,Open_vSwitch,manager_options + } + ++start_dpdk () { ++ if daemon_is_running ovs_dpdk; then ++ log_success_msg "ovs_dpdk is already running" ++ else ++ modprobe uio ++ test -e /sys/module/igb_uio || insmod $datadir/../openvswitchdpdk/kmod/igb_uio.ko ++ test -e /sys/module/rte_kni || insmod $datadir/../openvswitchdpdk/kmod/rte_kni.ko ++ rm -f $rundir/ovs_dpdk.pid ++ start-stop-daemon --start --quiet --background --make-pidfile --pidfile $rundir/ovs_dpdk.pid --exec /bin/sh -- -c "exec ovs_dpdk $OVS_DPDK_PARAMS >> $OVS_DPDK_LOG 2>&1" ++ #wait for ovs_dpdk to initialize before starting ovs-vswitchd ++ sleep 10 ++ fi ++} ++ ++stop_dpdk () { ++ pid=`cat "$rundir/ovs_dpdk.pid"` ++ rtemaps=`test -e /proc/$pid/maps && cat /proc/$pid/maps | grep -o '/.*rtemap_.*$'` ++ ++ stop_daemon ovs_dpdk ++ ++ #try to clean ++ for rtemap in $rtemaps ++ do ++ rm -f $rtemap ++ done ++ rm -f $rundir/ovs_dpdk.pid ++} ++ + start_forwarding () { + check_force_cores + ++ start_dpdk ++ + insert_mod_if_required || return 1 + + if daemon_is_running ovs-vswitchd; then +@@ -230,9 +269,9 @@ + ulimit -n 7500 + + # Start ovs-vswitchd. +- set ovs-vswitchd unix:"$DB_SOCK" ++ set ovs-vswitchd $OVS_VSWITCHD_PARAMS -- unix:"$DB_SOCK" + set "$@" -vconsole:emer -vsyslog:err -vfile:info +- if test X"$MLOCKALL" != Xno; then ++ if test -"$MLOCKALL" != Xno; then + set "$@" --mlockall + fi + start_daemon "$OVS_VSWITCHD_PRIORITY" "$OVS_VSWITCHD_WRAPPER" "$@" +@@ -249,6 +288,7 @@ + + stop_forwarding () { + stop_daemon ovs-vswitchd ++ stop_dpdk + } + + ## ----------------- ## +@@ -505,8 +545,10 @@ + MLOCKALL=yes + OVSDB_SERVER_PRIORITY=-10 + OVS_VSWITCHD_PRIORITY=-10 ++ OVS_DPDK_PRIORITY=-10 + OVSDB_SERVER_WRAPPER= + OVS_VSWITCHD_WRAPPER= ++ OVS_DPDK_WRAPPER= + + DB_FILE=$dbdir/conf.db + DB_SOCK=$rundir/db.sock +@@ -601,6 +643,8 @@ + data files: @pkgdatadir@ (--pkgdatadir, OVS_PKGDATADIR) + user binaries: @bindir@ (--bindir, OVS_BINDIR) + system binaries: @sbindir@ (--sbindir, OVS_SBINDIR) ++ ovs_dpdk params: OVS_DPDK_PARAMS (env only) ++ ovs-vswitchd dpdk params: OVS_VSWITCHD_PARAMS (env only) + + Please report bugs to bugs@openvswitch.org (see REPORTING-BUGS for details). + EOF +@@ -622,7 +666,7 @@ + } + + daemons () { +- echo ovsdb-server ovs-vswitchd ++ echo ovsdb-server ovs-vswitchd ovs_dpdk + } + + set_defaults -- cgit v1.2.3-54-g00ecf