<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libvirt.git/src/util/virnetdevbandwidth.c, branch master</title>
<subtitle>libvirt.org: git/libvirt.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libvirt.git/'/>
<entry>
<title>util: Update format strings in translated messages (part 3)</title>
<updated>2023-04-01T09:40:35+00:00</updated>
<author>
<name>Jiri Denemark</name>
<email>jdenemar@redhat.com</email>
</author>
<published>2023-03-09T14:13:48+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libvirt.git/commit/?id=b32bbe1e6046a8424e628da8cc263457edc8d6d9'/>
<id>b32bbe1e6046a8424e628da8cc263457edc8d6d9</id>
<content type='text'>
Signed-off-by: Jiri Denemark &lt;jdenemar@redhat.com&gt;
Reviewed-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Jiri Denemark &lt;jdenemar@redhat.com&gt;
Reviewed-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>virnetdevbandwidth: Unbreak tc filter update on Linux-4.20+</title>
<updated>2022-11-24T14:51:42+00:00</updated>
<author>
<name>Michal Privoznik</name>
<email>mprivozn@redhat.com</email>
</author>
<published>2022-11-24T11:34:56+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libvirt.git/commit/?id=3dce400c12a221dd294a519b31c12d88d6cd914d'/>
<id>3dce400c12a221dd294a519b31c12d88d6cd914d</id>
<content type='text'>
Guests are allowed to change their MAC addresses. Subsequently,
we may respond to that with tweaking that part of host side
configuration that depends on it. In this particular case: QoS.

Some parts of QoS are in fact set on corresponding bridge, where
overall view on traffic can be seen. Here, TC filters are used to
place incoming packets into qdiscs. These filters match source
MAC address. Therefore, upon guest changing its MAC address, the
corresponding TC filter needs to be updated too. This is done by
simply removing the old one and instantiating a new one, with new
MAC address.

Now, u32 filters (which we use) use a hash table for matching,
internally. And when deleting the old filter, we used to remove
the hash table (ID = 800::) and let the new filter instantiate
new hash table. This used to work, until kernel release 4.20
(specifically commit v4.20-rc1~27^2~131^2~11 and its friends)
where this practice was turned into error.

But that's okay - we can delete the specific filter we are after
and not touch the hash table at all.

Signed-off-by: Michal Privoznik &lt;mprivozn@redhat.com&gt;
Reviewed-by: Jiri Denemark &lt;jdenemar@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Guests are allowed to change their MAC addresses. Subsequently,
we may respond to that with tweaking that part of host side
configuration that depends on it. In this particular case: QoS.

Some parts of QoS are in fact set on corresponding bridge, where
overall view on traffic can be seen. Here, TC filters are used to
place incoming packets into qdiscs. These filters match source
MAC address. Therefore, upon guest changing its MAC address, the
corresponding TC filter needs to be updated too. This is done by
simply removing the old one and instantiating a new one, with new
MAC address.

Now, u32 filters (which we use) use a hash table for matching,
internally. And when deleting the old filter, we used to remove
the hash table (ID = 800::) and let the new filter instantiate
new hash table. This used to work, until kernel release 4.20
(specifically commit v4.20-rc1~27^2~131^2~11 and its friends)
where this practice was turned into error.

But that's okay - we can delete the specific filter we are after
and not touch the hash table at all.

Signed-off-by: Michal Privoznik &lt;mprivozn@redhat.com&gt;
Reviewed-by: Jiri Denemark &lt;jdenemar@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>util: Remove unused includes</title>
<updated>2022-06-16T04:43:57+00:00</updated>
<author>
<name>Peng Liang</name>
<email>tcx4c70@gmail.com</email>
</author>
<published>2022-06-08T12:13:07+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libvirt.git/commit/?id=55a996c90b60082f38931fe42173a6f3fb1cd56b'/>
<id>55a996c90b60082f38931fe42173a6f3fb1cd56b</id>
<content type='text'>
Signed-off-by: Peng Liang &lt;tcx4c70@gmail.com&gt;
Reviewed-by: Ján Tomko &lt;jtomko@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Peng Liang &lt;tcx4c70@gmail.com&gt;
Reviewed-by: Ján Tomko &lt;jtomko@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>util: refactor virNetDevBandwidthUnplug</title>
<updated>2022-01-28T19:38:44+00:00</updated>
<author>
<name>Ján Tomko</name>
<email>jtomko@redhat.com</email>
</author>
<published>2022-01-17T17:02:33+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libvirt.git/commit/?id=18813edbf28b42ad9d068e0584c4408019c09bff'/>
<id>18813edbf28b42ad9d068e0584c4408019c09bff</id>
<content type='text'>
Remove pointless 'ret', cmd variable reuse and use g_auto.

Signed-off-by: Ján Tomko &lt;jtomko@redhat.com&gt;
Reviewed-by: Michal Privoznik &lt;mprivozn@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove pointless 'ret', cmd variable reuse and use g_auto.

Signed-off-by: Ján Tomko &lt;jtomko@redhat.com&gt;
Reviewed-by: Michal Privoznik &lt;mprivozn@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>util: refactor virNetDevBandwidthPlug</title>
<updated>2022-01-28T19:38:44+00:00</updated>
<author>
<name>Ján Tomko</name>
<email>jtomko@redhat.com</email>
</author>
<published>2022-01-17T17:02:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libvirt.git/commit/?id=ed3507658160a2c164a9ae7a39e2a6f9b2031eb8'/>
<id>ed3507658160a2c164a9ae7a39e2a6f9b2031eb8</id>
<content type='text'>
Use g_auto, split the double use of 'cmd' variable and remove useless
ret variable.

Signed-off-by: Ján Tomko &lt;jtomko@redhat.com&gt;
Reviewed-by: Michal Privoznik &lt;mprivozn@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use g_auto, split the double use of 'cmd' variable and remove useless
ret variable.

Signed-off-by: Ján Tomko &lt;jtomko@redhat.com&gt;
Reviewed-by: Michal Privoznik &lt;mprivozn@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>util: virNetDevBandwidthClear: use g_auto</title>
<updated>2022-01-28T19:38:44+00:00</updated>
<author>
<name>Ján Tomko</name>
<email>jtomko@redhat.com</email>
</author>
<published>2022-01-17T17:02:31+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libvirt.git/commit/?id=470987a53f5728fbce5bf558f08483d15c1e6eee'/>
<id>470987a53f5728fbce5bf558f08483d15c1e6eee</id>
<content type='text'>
Separate the two uses of 'cmd' to avoid mixing manual and automatic
cleanup.

Signed-off-by: Ján Tomko &lt;jtomko@redhat.com&gt;
Reviewed-by: Michal Privoznik &lt;mprivozn@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Separate the two uses of 'cmd' to avoid mixing manual and automatic
cleanup.

Signed-off-by: Ján Tomko &lt;jtomko@redhat.com&gt;
Reviewed-by: Michal Privoznik &lt;mprivozn@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>util: virNetDevBandwidthManipulateFilter: use g_auto</title>
<updated>2022-01-28T19:38:44+00:00</updated>
<author>
<name>Ján Tomko</name>
<email>jtomko@redhat.com</email>
</author>
<published>2022-01-17T17:02:30+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libvirt.git/commit/?id=e1470a2295bb01365980d13fa0ce187b0c9bb563'/>
<id>e1470a2295bb01365980d13fa0ce187b0c9bb563</id>
<content type='text'>
Reduce the scope of the variable to avoid renaming it.

Signed-off-by: Ján Tomko &lt;jtomko@redhat.com&gt;
Reviewed-by: Michal Privoznik &lt;mprivozn@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reduce the scope of the variable to avoid renaming it.

Signed-off-by: Ján Tomko &lt;jtomko@redhat.com&gt;
Reviewed-by: Michal Privoznik &lt;mprivozn@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>util: virNetDevBandwidthUpdateRate: refactor</title>
<updated>2022-01-28T19:38:44+00:00</updated>
<author>
<name>Ján Tomko</name>
<email>jtomko@redhat.com</email>
</author>
<published>2022-01-17T17:02:29+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libvirt.git/commit/?id=6f8ac7bc46d0bfff08f860bcc2e81be437d90da0'/>
<id>6f8ac7bc46d0bfff08f860bcc2e81be437d90da0</id>
<content type='text'>
Use automatic cleanup and remove the 'ret' variable in favor of
direct returns.

Signed-off-by: Ján Tomko &lt;jtomko@redhat.com&gt;
Reviewed-by: Michal Privoznik &lt;mprivozn@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use automatic cleanup and remove the 'ret' variable in favor of
direct returns.

Signed-off-by: Ján Tomko &lt;jtomko@redhat.com&gt;
Reviewed-by: Michal Privoznik &lt;mprivozn@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>virnetdev: move virNetDevSetRootQDisc to virnetdevbandwidth</title>
<updated>2021-04-21T12:19:34+00:00</updated>
<author>
<name>Pavel Hrdina</name>
<email>phrdina@redhat.com</email>
</author>
<published>2021-04-14T22:34:48+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libvirt.git/commit/?id=18882ea77686ab5381ac874520aae6102f24165e'/>
<id>18882ea77686ab5381ac874520aae6102f24165e</id>
<content type='text'>
The function in question uses "tc" binary so virnetdevbandwidth feels
like better place for it.

Signed-off-by: Pavel Hrdina &lt;phrdina@redhat.com&gt;
Reviewed-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The function in question uses "tc" binary so virnetdevbandwidth feels
like better place for it.

Signed-off-by: Pavel Hrdina &lt;phrdina@redhat.com&gt;
Reviewed-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>lib: Drop internal virXXXPtr typedefs</title>
<updated>2021-04-13T15:00:38+00:00</updated>
<author>
<name>Michal Privoznik</name>
<email>mprivozn@redhat.com</email>
</author>
<published>2021-03-11T07:16:13+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libvirt.git/commit/?id=c8238579fb0b1c3affbd77749ae2b2c4dfafb2d6'/>
<id>c8238579fb0b1c3affbd77749ae2b2c4dfafb2d6</id>
<content type='text'>
Historically, we declared pointer type to our types:

  typedef struct _virXXX virXXX;
  typedef virXXX *virXXXPtr;

But usefulness of such declaration is questionable, at best.
Unfortunately, we can't drop every such declaration - we have to
carry some over, because they are part of public API (e.g.
virDomainPtr). But for internal types - we can do drop them and
use what every other C project uses 'virXXX *'.

This change was generated by a very ugly shell script that
generated sed script which was then called over each file in the
repository. For the shell script refer to the cover letter:

https://listman.redhat.com/archives/libvir-list/2021-March/msg00537.html

Signed-off-by: Michal Privoznik &lt;mprivozn@redhat.com&gt;
Reviewed-by: Peter Krempa &lt;pkrempa@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Historically, we declared pointer type to our types:

  typedef struct _virXXX virXXX;
  typedef virXXX *virXXXPtr;

But usefulness of such declaration is questionable, at best.
Unfortunately, we can't drop every such declaration - we have to
carry some over, because they are part of public API (e.g.
virDomainPtr). But for internal types - we can do drop them and
use what every other C project uses 'virXXX *'.

This change was generated by a very ugly shell script that
generated sed script which was then called over each file in the
repository. For the shell script refer to the cover letter:

https://listman.redhat.com/archives/libvir-list/2021-March/msg00537.html

Signed-off-by: Michal Privoznik &lt;mprivozn@redhat.com&gt;
Reviewed-by: Peter Krempa &lt;pkrempa@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
