There are examples of excluding some devices of that check already.
E.g. in libvirt 4.1 non-PCI devices were excluded [1]
I like your change even being only a workaround so far.
Linaro has adopted a much more aggressive temp fix [2] with more compatibility issues.
The only thing that bothers me is that if there is a fix to something else than libvirt (e.g. the cavium kernel driver) then the workaround will block the usage still.
The test on the ppa is great, but eventually I wonder if we could make this part of one of the conffiles and use like virConfGetValueStringList [3] which might by default in the config have 0x177d:0xa034 but entries could be added/removed by an administrator.
It might even default to an empty list if that is more acceptable upstream, but allow installations to mask broken devices as needed.
Unfortunately none of the existing configs is used in the scope that we'd need it, which implies it would likely be a new config file [4] that is needed.
There is a lot of the usual overhead (check paths, permissions, ...) to be added just for that, but maybe it would make the hack upstreamable.
Hmm, OTOH maybe it would be over-engineering and we just use the simple change you suggested which would declare this network card not supporting switchdev offloads (even if fixed int he kernel driver, it is unlikely to reach Bionic trivially other than maybe HWE kernels)
But for now lets see what result the test on your ppa delivers
Nice find Dann!
There are examples of excluding some devices of that check already.
E.g. in libvirt 4.1 non-PCI devices were excluded [1]
I like your change even being only a workaround so far.
Linaro has adopted a much more aggressive temp fix [2] with more compatibility issues.
The only thing that bothers me is that if there is a fix to something else than libvirt (e.g. the cavium kernel driver) then the workaround will block the usage still.
The test on the ppa is great, but eventually I wonder if we could make this part of one of the conffiles and use like virConfGetValue StringList [3] which might by default in the config have 0x177d:0xa034 but entries could be added/removed by an administrator.
It might even default to an empty list if that is more acceptable upstream, but allow installations to mask broken devices as needed.
Unfortunately none of the existing configs is used in the scope that we'd need it, which implies it would likely be a new config file [4] that is needed.
There is a lot of the usual overhead (check paths, permissions, ...) to be added just for that, but maybe it would make the hack upstreamable.
Hmm, OTOH maybe it would be over-engineering and we just use the simple change you suggested which would declare this network card not supporting switchdev offloads (even if fixed int he kernel driver, it is unlikely to reach Bionic trivially other than maybe HWE kernels)
But for now lets see what result the test on your ppa delivers
[1]: https:/ /libvirt. org/git/ ?p=libvirt. git;a=commit; h=71d56a397925a 1bd55d3aee30afd bdcd1a14f9a8 /git.linaro. org/people/ radoslaw. biernacki/ libvirt. git/commit/ ?h=wip_ thunder_ fix&id= da79ade2f18bec1 1d1436dc12980f3 2b12fbad3c /libvirt. org/git/ ?p=libvirt. git;a=blob; f=src/util/ virconf. c;h=e0a3fd12c04 f9df0ae2a3a7054 292f1093ab8693; hb=HEAD# l936 /libvirt. org/git/ ?p=libvirt. git;a=blob; f=src/util/ virconf. c;h=e0a3fd12c04 f9df0ae2a3a7054 292f1093ab8693; hb=HEAD# l746
[2]: https:/
[3]: https:/
[4]: https:/