mirror of
https://github.com/openvswitch/ovs
synced 2025-10-19 14:37:21 +00:00
With this commit, we allow the user to set other_config:dpdk-init=true after the process is started. This makes it easier to start Open vSwitch with DPDK using standard init scripts without restarting the service. This is still far from ideal, because initializing DPDK might still abort the process (e.g. if there not enough memory), so the user must check the status of the process after setting dpdk-init to true. Nonetheless, I think this is an improvement, because it doesn't require restarting the whole unit. CC: Aaron Conole <aconole@redhat.com> Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com> Acked-by: Aaron Conole <aconole@redhat.com>
51 lines
1.3 KiB
C
51 lines
1.3 KiB
C
/*
|
|
* Copyright (c) 2014, 2015, 2016 Nicira, Inc.
|
|
* Copyright (c) 2016 Red Hat, Inc.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at:
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
#include <config.h>
|
|
#include "dpdk.h"
|
|
|
|
#include "smap.h"
|
|
#include "ovs-thread.h"
|
|
#include "openvswitch/vlog.h"
|
|
|
|
VLOG_DEFINE_THIS_MODULE(dpdk);
|
|
|
|
void
|
|
dpdk_init(const struct smap *ovs_other_config)
|
|
{
|
|
if (smap_get_bool(ovs_other_config, "dpdk-init", false)) {
|
|
static struct ovsthread_once once = OVSTHREAD_ONCE_INITIALIZER;
|
|
|
|
if (ovsthread_once_start(&once)) {
|
|
VLOG_ERR("DPDK not supported in this copy of Open vSwitch.");
|
|
ovsthread_once_done(&once);
|
|
}
|
|
}
|
|
}
|
|
|
|
void
|
|
dpdk_set_lcore_id(unsigned cpu OVS_UNUSED)
|
|
{
|
|
/* Nothing */
|
|
}
|
|
|
|
const char *
|
|
dpdk_get_vhost_sock_dir(void)
|
|
{
|
|
return NULL;
|
|
}
|