<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 06/16/2015 10:12 AM, Moshe Levi
wrote:<br>
</div>
<blockquote
cite="mid:AMXPR05MB0663AD8718E2774C9EC520BCD0A70@AMXPR05MB0663.eurprd05.prod.outlook.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I was playing with the nodedev-dumpxml to
see the supported offload NIC capabilities, and<o:p></o:p></p>
<p class="MsoNormal">It seem that if I disable one of offloading
capabilities using ethtool command nodedev-dumpxml it still
return<o:p></o:p></p>
<p class="MsoNormal">the feature as enabled. To get the correct
offloading capabilities I have to restart libvirtd.<o:p></o:p></p>
<p class="MsoNormal">I was wandering if that is an expected
behavior in lbivirt .</p>
</div>
</blockquote>
<br>
the nodedevice driver caches all the information it gets from udev,
and tries to rely on udev generating events when something changes.
In general this is a bad idea, and has led to at least 2 bug reports
I can think of. The function update_caps() in the nodedev driver is
intended to be filled in with code to update those attributes of a
device that don't get properly updated via udev event responses. It
looks like all that would be required in your situation would be to
add a call to virNetDevGetFeatures() to the VIR_NODE_DEV_CAP_NET
case of the switch in that function. It's complicated a bit by the
fact that virNetDevGetFeatures() leaks any existing bitmap of
features when it's called. I'm sending a short patch that should fix
your problem, which should show up on the list in a few minutes.<br>
<br>
<blockquote
cite="mid:AMXPR05MB0663AD8718E2774C9EC520BCD0A70@AMXPR05MB0663.eurprd05.prod.outlook.com"
type="cite">
<div class="WordSection1">
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Please see example below with the rx
capabilities disabled. <o:p>
</o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">virsh # nodedev-dumpxml
net_enp4s0_f4_52_14_11_73_81<o:p></o:p></p>
<p class="MsoNormal"><device>
<o:p></o:p></p>
<p class="MsoNormal"> <name>net_enp4s0_f4_52_14_11_73_81</name>
<o:p></o:p></p>
<p class="MsoNormal"> <path>/sys/devices/pci0000:00/0000:00:02.0/0000:04:00.0/net/enp4s0</path><o:p></o:p></p>
<p class="MsoNormal">
<parent>pci_0000_04_00_0</parent>
<o:p></o:p></p>
<p class="MsoNormal"> <capability
type='net'>
<o:p></o:p></p>
<p class="MsoNormal"> <interface>enp4s0</interface>
<o:p></o:p></p>
<p class="MsoNormal"> <address>f4:52:14:11:73:81</address>
<o:p></o:p></p>
<p class="MsoNormal"> <link speed='40000'
state='up'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature
name='rx'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature
name='tx'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature
name='sg'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature
name='tso'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature
name='gso'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature
name='gro'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature
name='rxvlan'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature
name='txvlan'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature
name='rxhash'/>
<o:p></o:p></p>
<p class="MsoNormal"> <capability
type='80203'/>
<o:p></o:p></p>
<p class="MsoNormal"> </capability>
<o:p></o:p></p>
<p class="MsoNormal"></device> <o:p></o:p></p>
<p class="MsoNormal">ethtool -K enp4s0 rx off<o:p></o:p></p>
<p class="MsoNormal">virsh # nodedev-dumpxml
net_enp4s0_f4_52_14_11_73_81<o:p></o:p></p>
<p class="MsoNormal"><device>
<o:p></o:p></p>
<p class="MsoNormal"> <name>net_enp4s0_f4_52_14_11_73_81</name>
<o:p></o:p></p>
<p class="MsoNormal"> <path>/sys/devices/pci0000:00/0000:00:02.0/0000:04:00.0/net/enp4s0</path><o:p></o:p></p>
<p class="MsoNormal">
<parent>pci_0000_04_00_0</parent> <o:p></o:p></p>
<p class="MsoNormal"> <capability
type='net'>
<o:p></o:p></p>
<p class="MsoNormal"> <interface>enp4s0</interface>
<o:p></o:p></p>
<p class="MsoNormal"> <address>f4:52:14:11:73:81</address>
<o:p></o:p></p>
<p class="MsoNormal"> <link speed='40000'
state='up'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature
name='rx'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature
name='tx'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature
name='sg'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature
name='tso'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature name='gso'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature
name='gro'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature
name='rxvlan'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature
name='txvlan'/>
<o:p></o:p></p>
<p class="MsoNormal"> <feature
name='rxhash'/>
<o:p></o:p></p>
<p class="MsoNormal"> <capability
type='80203'/>
<o:p></o:p></p>
<p class="MsoNormal"> </capability>
<o:p></o:p></p>
<p class="MsoNormal"></device><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">virsh #<o:p></o:p></p>
<p class="MsoNormal">[root@r-ae-host05 bin]# ps -ef | grep
libvirt<o:p></o:p></p>
<p class="MsoNormal">root 16743 23086 0 16:43 pts/2
00:00:00 ../sbin/libvirtd<o:p></o:p></p>
<p class="MsoNormal">root 17440 23086 0 16:47 pts/2
00:00:00 grep --color=auto libvirt<o:p></o:p></p>
<p class="MsoNormal">[root@r-ae-host05 bin]# kill 16743<o:p></o:p></p>
<p class="MsoNormal">[root@r-ae-host05 bin]# ../sbin/libvirtd
&<o:p></o:p></p>
<p class="MsoNormal">[2] 17489<o:p></o:p></p>
<p class="MsoNormal">[1] Done
../sbin/libvirtd<o:p></o:p></p>
<p class="MsoNormal">[root@r-ae-host05 bin]#<o:p></o:p></p>
<p class="MsoNormal">[root@r-ae-host05 bin]#<o:p></o:p></p>
<p class="MsoNormal">[root@r-ae-host05 bin]# ./virsh<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">virsh # nodedev-dumpxml
net_enp4s0_f4_52_14_11_73_81<o:p></o:p></p>
<p class="MsoNormal"><device><o:p></o:p></p>
<p class="MsoNormal">
<name>net_enp4s0_f4_52_14_11_73_81</name><o:p></o:p></p>
<p class="MsoNormal">
<path>/sys/devices/pci0000:00/0000:00:02.0/0000:04:00.0/net/enp4s0</path><o:p></o:p></p>
<p class="MsoNormal">
<parent>pci_0000_04_00_0</parent><o:p></o:p></p>
<p class="MsoNormal"> <capability type='net'><o:p></o:p></p>
<p class="MsoNormal">
<interface>enp4s0</interface><o:p></o:p></p>
<p class="MsoNormal">
<address>f4:52:14:11:73:81</address><o:p></o:p></p>
<p class="MsoNormal"> <link speed='40000' state='up'/><o:p></o:p></p>
<p class="MsoNormal"> <feature name='tx'/><o:p></o:p></p>
<p class="MsoNormal"> <feature name='sg'/><o:p></o:p></p>
<p class="MsoNormal"> <feature name='tso'/><o:p></o:p></p>
<p class="MsoNormal"> <feature name='gso'/><o:p></o:p></p>
<p class="MsoNormal"> <feature name='gro'/><o:p></o:p></p>
<p class="MsoNormal"> <feature name='rxvlan'/><o:p></o:p></p>
<p class="MsoNormal"> <feature name='txvlan'/><o:p></o:p></p>
<p class="MsoNormal"> <feature name='rxhash'/><o:p></o:p></p>
<p class="MsoNormal"> <feature name='rdma'/><o:p></o:p></p>
<p class="MsoNormal"> <capability type='80203'/><o:p></o:p></p>
<p class="MsoNormal"> </capability><o:p></o:p></p>
<p class="MsoNormal"></device><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks, <o:p></o:p></p>
<p class="MsoNormal"> Moshe Levi.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">--
libvir-list mailing list
<a class="moz-txt-link-abbreviated" href="mailto:libvir-list@redhat.com">libvir-list@redhat.com</a>
<a class="moz-txt-link-freetext" href="https://www.redhat.com/mailman/listinfo/libvir-list">https://www.redhat.com/mailman/listinfo/libvir-list</a></pre>
</blockquote>
<br>
</body>
</html>