[ovs-dev] [PATCH v2 0/6] Add OVS DPDK keep-alive functionality
Aaron Conole
aconole at redhat.com
Wed Jun 7 20:44:07 UTC 2017
"Bodireddy, Bhanuprakash" <bhanuprakash.bodireddy at intel.com> writes:
> Hi Darrel, Aaron
Hi Bhanu,
>>There two ways to go with the design.
>>
>>1) Make it generic, so that it is not so PMD specific, as it is now.
>>2) If it stays PMD specific, make it stronger; right now, the health check is
>>limited – it detects that a PMD thread is proceeding or not.
>>For something like DPDK, I don’t think that will be enough in the long run.
>>This can result in some false negatives, as well.
>> Maybe, we want to know that the ports and queues are getting
>>processed, PMD/port/queue mappings as expected, time spent processing
>>packets per PMD, port state changes, packet stats, queue depths, etc This
>>information could be correlated by the final receiver of the data.
>>
>>I also agree that socket communication is preferred over shm, although I don’t
>>think any shm usage will necessarily lead to a meltdown.
>
> I have posted a new version of Keepalive patch series here:
> https://mail.openvswitch.org/pipermail/ovs-dev/2017-June/333546.html
> I posted the new version as RFC instead of v3 for below reason:
> 1) I have considered using OVSDB for storing the Keepalive status,
> want to know what you think about this.
I like it much more than SHM. It means we can monitor the database for
changes, and query for this information from the DB. I was considering
that you might use messages, but perhaps this way ends up being more
extensible.
> 2) 6-7 of the unit tests were failing due to OVSDB changes. I am
> looking in to those issues.
> 3) Apart of heartbeats(that were enabled earlier), I have
> implemented few more APIs to do the additional health checks as
> suggested in this thread(port status/ packet stats/pmd cycles
> etc). The first version of APIs are posted in the series and currently
> working on hardening them for all corner cases.
Cool. I look forward to it.
> 4) Note that SHM is still used here but only for intra process
> communication(b/n vswitchd and Keepalive thread). Monitoring
> framework(collectd) would only read from OVSDB.
Probably the next spin should drop it. From both a security and code
perspective, it's a lot of work to maintain. Since it's two threads,
they will implicitly share memory - no need to worry about permissions,
files and external attackers removing the /dev/shm/ files.
> I tried making the APIs generic, but however it is implemented for
> DPDK datapath at this point.
No problems, I'll have a look.
> Regards,
> Bhanuprakash.
Thanks!
More information about the dev
mailing list