
Laine Stump wrote:
On 11/07/2016 09:20 AM, Roman Bogorodskiy wrote:
Recently e1000 NIC support was added to bhyve; implement that in the bhyve driver:
- Add capability check by analyzing output of the 'bhyve -s 0,e1000' command - Modify bhyveBuildNetArgStr() to support e1000 and also pass virConnectPtr so it could call bhyveDriverGetCaps() to check if this NIC is supported - Modify command parsing code to add support for e1000 and adjust tests - Add net-e1000 test --- src/bhyve/bhyve_capabilities.c | 27 ++++++++ src/bhyve/bhyve_capabilities.h | 1 + src/bhyve/bhyve_command.c | 74 ++++++++++++++-------- src/bhyve/bhyve_parse_command.c | 9 ++- tests/bhyveargv2xmldata/bhyveargv2xml-e1000.args | 8 +++ tests/bhyveargv2xmldata/bhyveargv2xml-e1000.xml | 28 ++++++++ .../bhyveargv2xmldata/bhyveargv2xml-virtio-net.xml | 2 + .../bhyveargv2xml-virtio-net4.xml | 1 + tests/bhyveargv2xmltest.c | 1 + .../bhyvexml2argvdata/bhyvexml2argv-net-e1000.args | 9 +++ .../bhyvexml2argv-net-e1000.ldargs | 3 + .../bhyvexml2argvdata/bhyvexml2argv-net-e1000.xml | 22 +++++++ tests/bhyvexml2argvtest.c | 7 +- 13 files changed, 162 insertions(+), 30 deletions(-) create mode 100644 tests/bhyveargv2xmldata/bhyveargv2xml-e1000.args create mode 100644 tests/bhyveargv2xmldata/bhyveargv2xml-e1000.xml create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-net-e1000.args create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-net-e1000.ldargs create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-net-e1000.xml
Whoa, thanks for the detailed review, much appreciated!
After several of these... Not necessary this time, but for future reference (or if you want extra Brownie points this time :-)) - we've found it much easier to review patches adding new functionality if other necessary reorganization (e.g. changing all the "return -1" into "goto cleanup" and moving all resource-freeing down to cleanup:) is put in a separate prerequisite patch. Then the new functionality is just a simple addition rather than a re-org + addition.
That's actually what I'm planning to do: split that into two series: cosmetic-ish and the rest, it's easier to maintain small series than tackle with a larger patch, considering that I have only little chucks on time to work on that right now... Roman Bogorodskiy