Panu Matilainen <pmati...@redhat.com> writes:
> On 12/03/2015 06:23 AM, Aaron Conole wrote:
>> Existing DPDK integration is provided by use of command line options which
>> must be split out and passed to librte in a special manner. However, this
>> forces any configuration to be passed by way of a special DPDK flag, and
>> interferes with ovs+dpdk packaging solutions.
>>
>> This commit delays dpdk initialization until after the OVS database 
>> connection
>> is established, and then initializes librte. It pulls all of the config data
>> from the OVS database, and assembles a new argv/argc pair to be passed along.
>
> There needs to be a way to turn off DPDK even when support for it is
> built in since it requires extra setup and failing to initialize will
> tear down the whole ovs-vswitchd process. So in fact it probably
> should default to off.

There is such a flag, and it is defaulted to off:

>> +void
>> +dpdk_init(const struct ovsrec_open_vswitch *ovs_cfg)
>> +{
>> +    static int initialized = 0;
>> +
>> +    char **argv;
>> +    int result;
>> +    int argc;
>> +

Just before we do any initialization.

>> +    if(initialized || !smap_get_bool(&ovs_cfg->other_config, "dpdk", 
>> false)){
>> +        return;
>>      }


>
> It'd be nice to have something smarter than a big "DPDK on/off" switch
> in the db, such as lazy initialization only when needed (ie dpdk ports
> are added) but there are quite a few problems with that I suspect.

I can look into how to add this, because I think you're right. I will
make that an enhancement to this patch.

>
>       - Panu -

Thanks for the review, Panu!
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to