<feed xmlns='http://www.w3.org/2005/Atom'>
<title>platform_external_libnl/src/nl-class-add.c, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libnl/'/>
<entry>
<title>Add SPDX identifiers</title>
<updated>2019-08-12T13:01:16+00:00</updated>
<author>
<name>Yegor Yefremov</name>
<email>yegorslists@googlemail.com</email>
</author>
<published>2019-06-20T14:33:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libnl/commit/?id=cee0b1b50c2ec4e3c4b88deaf0887133f4adf4d3'/>
<id>cee0b1b50c2ec4e3c4b88deaf0887133f4adf4d3</id>
<content type='text'>
Software Package Data Exchange identifiers help to detect source file
licenses and hence simplify the FOSS compliance process.

Signed-off-by: Yegor Yefremov &lt;yegorslists@googlemail.com&gt;

https://github.com/thom311/libnl/pull/219

---

FILES=(
  lib/addr.c
  lib/attr.c
  lib/cache.c
  lib/cache_mngr.c
  lib/cache_mngt.c
  lib/data.c
  lib/error.c
  lib/fib_lookup/lookup.c
  lib/fib_lookup/request.c
  lib/genl/ctrl.c
  lib/genl/family.c
  lib/genl/genl.c
  lib/genl/mngt.c
  lib/handlers.c
  lib/hash.c
  lib/hashtable.c
  lib/idiag/idiag.c
  lib/idiag/idiag_meminfo_obj.c
  lib/idiag/idiag_msg_obj.c
  lib/idiag/idiag_req_obj.c
  lib/idiag/idiag_vegasinfo_obj.c
  lib/mpls.c
  lib/msg.c
  lib/netfilter/ct.c
  lib/netfilter/ct_obj.c
  lib/netfilter/exp.c
  lib/netfilter/exp_obj.c
  lib/netfilter/log.c
  lib/netfilter/log_msg.c
  lib/netfilter/log_msg_obj.c
  lib/netfilter/log_obj.c
  lib/netfilter/netfilter.c
  lib/netfilter/nfnl.c
  lib/netfilter/queue.c
  lib/netfilter/queue_msg.c
  lib/netfilter/queue_msg_obj.c
  lib/netfilter/queue_obj.c
  lib/nl.c
  lib/object.c
  lib/route/act.c
  lib/route/addr.c
  lib/route/class.c
  lib/route/classid.c
  lib/route/cls.c
  lib/route/link.c
  lib/route/neigh.c
  lib/route/neightbl.c
  lib/route/netconf.c
  lib/route/nexthop.c
  lib/route/nexthop_encap.c
  lib/route/nh_encap_mpls.c
  lib/route/pktloc.c
  lib/route/qdisc.c
  lib/route/route.c
  lib/route/route_obj.c
  lib/route/route_utils.c
  lib/route/rtnl.c
  lib/route/rule.c
  lib/route/tc.c
  lib/socket.c
  lib/utils.c
  lib/version.c
  lib/xfrm/ae.c
  lib/xfrm/lifetime.c
  lib/xfrm/sa.c
  lib/xfrm/selector.c
  lib/xfrm/sp.c
  lib/xfrm/template.c
  src/genl-ctrl-list.c
  src/idiag-socket-details.c
  src/lib/addr.c
  src/lib/class.c
  src/lib/cls.c
  src/lib/ct.c
  src/lib/exp.c
  src/lib/link.c
  src/lib/neigh.c
  src/lib/qdisc.c
  src/lib/route.c
  src/lib/rule.c
  src/lib/tc.c
  src/lib/utils.c
  src/nf-ct-add.c
  src/nf-ct-events.c
  src/nf-ct-list.c
  src/nf-exp-add.c
  src/nf-exp-delete.c
  src/nf-exp-list.c
  src/nf-log.c
  src/nf-monitor.c
  src/nf-queue.c
  src/nl-addr-add.c
  src/nl-addr-delete.c
  src/nl-addr-list.c
  src/nl-class-add.c
  src/nl-class-delete.c
  src/nl-class-list.c
  src/nl-classid-lookup.c
  src/nl-cls-add.c
  src/nl-cls-delete.c
  src/nl-cls-list.c
  src/nl-fib-lookup.c
  src/nl-link-enslave.c
  src/nl-link-ifindex2name.c
  src/nl-link-list.c
  src/nl-link-name2ifindex.c
  src/nl-link-release.c
  src/nl-link-set.c
  src/nl-link-stats.c
  src/nl-list-caches.c
  src/nl-list-sockets.c
  src/nl-monitor.c
  src/nl-neigh-add.c
  src/nl-neigh-delete.c
  src/nl-neigh-list.c
  src/nl-neightbl-list.c
  src/nl-pktloc-lookup.c
  src/nl-qdisc-add.c
  src/nl-qdisc-delete.c
  src/nl-qdisc-list.c
  src/nl-route-add.c
  src/nl-route-delete.c
  src/nl-route-get.c
  src/nl-route-list.c
  src/nl-rule-list.c
  src/nl-tctree-list.c
  src/nl-util-addr.c
)

sed '1s#^#/* SPDX-License-Identifier: LGPL-2.1-only */\n#' "${FILES[@]}" -i
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Software Package Data Exchange identifiers help to detect source file
licenses and hence simplify the FOSS compliance process.

Signed-off-by: Yegor Yefremov &lt;yegorslists@googlemail.com&gt;

https://github.com/thom311/libnl/pull/219

---

FILES=(
  lib/addr.c
  lib/attr.c
  lib/cache.c
  lib/cache_mngr.c
  lib/cache_mngt.c
  lib/data.c
  lib/error.c
  lib/fib_lookup/lookup.c
  lib/fib_lookup/request.c
  lib/genl/ctrl.c
  lib/genl/family.c
  lib/genl/genl.c
  lib/genl/mngt.c
  lib/handlers.c
  lib/hash.c
  lib/hashtable.c
  lib/idiag/idiag.c
  lib/idiag/idiag_meminfo_obj.c
  lib/idiag/idiag_msg_obj.c
  lib/idiag/idiag_req_obj.c
  lib/idiag/idiag_vegasinfo_obj.c
  lib/mpls.c
  lib/msg.c
  lib/netfilter/ct.c
  lib/netfilter/ct_obj.c
  lib/netfilter/exp.c
  lib/netfilter/exp_obj.c
  lib/netfilter/log.c
  lib/netfilter/log_msg.c
  lib/netfilter/log_msg_obj.c
  lib/netfilter/log_obj.c
  lib/netfilter/netfilter.c
  lib/netfilter/nfnl.c
  lib/netfilter/queue.c
  lib/netfilter/queue_msg.c
  lib/netfilter/queue_msg_obj.c
  lib/netfilter/queue_obj.c
  lib/nl.c
  lib/object.c
  lib/route/act.c
  lib/route/addr.c
  lib/route/class.c
  lib/route/classid.c
  lib/route/cls.c
  lib/route/link.c
  lib/route/neigh.c
  lib/route/neightbl.c
  lib/route/netconf.c
  lib/route/nexthop.c
  lib/route/nexthop_encap.c
  lib/route/nh_encap_mpls.c
  lib/route/pktloc.c
  lib/route/qdisc.c
  lib/route/route.c
  lib/route/route_obj.c
  lib/route/route_utils.c
  lib/route/rtnl.c
  lib/route/rule.c
  lib/route/tc.c
  lib/socket.c
  lib/utils.c
  lib/version.c
  lib/xfrm/ae.c
  lib/xfrm/lifetime.c
  lib/xfrm/sa.c
  lib/xfrm/selector.c
  lib/xfrm/sp.c
  lib/xfrm/template.c
  src/genl-ctrl-list.c
  src/idiag-socket-details.c
  src/lib/addr.c
  src/lib/class.c
  src/lib/cls.c
  src/lib/ct.c
  src/lib/exp.c
  src/lib/link.c
  src/lib/neigh.c
  src/lib/qdisc.c
  src/lib/route.c
  src/lib/rule.c
  src/lib/tc.c
  src/lib/utils.c
  src/nf-ct-add.c
  src/nf-ct-events.c
  src/nf-ct-list.c
  src/nf-exp-add.c
  src/nf-exp-delete.c
  src/nf-exp-list.c
  src/nf-log.c
  src/nf-monitor.c
  src/nf-queue.c
  src/nl-addr-add.c
  src/nl-addr-delete.c
  src/nl-addr-list.c
  src/nl-class-add.c
  src/nl-class-delete.c
  src/nl-class-list.c
  src/nl-classid-lookup.c
  src/nl-cls-add.c
  src/nl-cls-delete.c
  src/nl-cls-list.c
  src/nl-fib-lookup.c
  src/nl-link-enslave.c
  src/nl-link-ifindex2name.c
  src/nl-link-list.c
  src/nl-link-name2ifindex.c
  src/nl-link-release.c
  src/nl-link-set.c
  src/nl-link-stats.c
  src/nl-list-caches.c
  src/nl-list-sockets.c
  src/nl-monitor.c
  src/nl-neigh-add.c
  src/nl-neigh-delete.c
  src/nl-neigh-list.c
  src/nl-neightbl-list.c
  src/nl-pktloc-lookup.c
  src/nl-qdisc-add.c
  src/nl-qdisc-delete.c
  src/nl-qdisc-list.c
  src/nl-route-add.c
  src/nl-route-delete.c
  src/nl-route-get.c
  src/nl-route-list.c
  src/nl-rule-list.c
  src/nl-tctree-list.c
  src/nl-util-addr.c
)

sed '1s#^#/* SPDX-License-Identifier: LGPL-2.1-only */\n#' "${FILES[@]}" -i
</pre>
</div>
</content>
</entry>
<entry>
<title>include: don't include kernel headers in public libnl3 headers</title>
<updated>2017-03-02T00:33:25+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2017-03-01T21:00:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libnl/commit/?id=45cbfb9d11c23d5f64a795fb05205ced48db1c7c'/>
<id>45cbfb9d11c23d5f64a795fb05205ced48db1c7c</id>
<content type='text'>
It would be desirable not to include kernel headers in our public
libnl3 headers. As a test, remove all those includes, and fix
compilation by explicitly including the kernel headers where needed.
In some cases, that requires forward declaration for kernel
structures, as we use them as part of our own headers.

Realistically, we cannot drop those includes as it probalby breaks
compilation for users that expect to get a certain kernel header
when including a libnl3 header. So, this will not be done and the
includes will be restored in the next commit.

Do this step to show how it would be and to verify that we could
build with such a change. The reason not to do this is backward
compatibility (at compile-time).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It would be desirable not to include kernel headers in our public
libnl3 headers. As a test, remove all those includes, and fix
compilation by explicitly including the kernel headers where needed.
In some cases, that requires forward declaration for kernel
structures, as we use them as part of our own headers.

Realistically, we cannot drop those includes as it probalby breaks
compilation for users that expect to get a certain kernel header
when including a libnl3 header. So, this will not be done and the
includes will be restored in the next commit.

Do this step to show how it would be and to verify that we could
build with such a change. The reason not to do this is backward
compatibility (at compile-time).
</pre>
</div>
</content>
</entry>
<entry>
<title>trivial: whitespace-only fixes for src and lib</title>
<updated>2016-08-12T21:06:27+00:00</updated>
<author>
<name>Peter Wu</name>
<email>peter@lekensteyn.nl</email>
</author>
<published>2016-08-08T10:04:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libnl/commit/?id=c52087601198f3fb8ec97839e30c6f6309f0d680'/>
<id>c52087601198f3fb8ec97839e30c6f6309f0d680</id>
<content type='text'>
Fixes alignment, lines with just whitespace and mixed tab/space
indentation. Searched, reviewed and optionally fixed in vim using
regex ^\t* [\t ]*\([^*us ]\|$\)\|\t\+$

http://lists.infradead.org/pipermail/libnl/2016-August/002183.html

Signed-off-by: Peter Wu &lt;peter@lekensteyn.nl&gt;
Signed-off-by: Thomas Haller &lt;thaller@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes alignment, lines with just whitespace and mixed tab/space
indentation. Searched, reviewed and optionally fixed in vim using
regex ^\t* [\t ]*\([^*us ]\|$\)\|\t\+$

http://lists.infradead.org/pipermail/libnl/2016-August/002183.html

Signed-off-by: Peter Wu &lt;peter@lekensteyn.nl&gt;
Signed-off-by: Thomas Haller &lt;thaller@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix build warnings of nl-(qdisc|class|cls)-add</title>
<updated>2013-01-24T13:10:33+00:00</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2013-01-24T13:10:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libnl/commit/?id=c4f803366e7519f90075d08a29eacc6ab8d78bed'/>
<id>c4f803366e7519f90075d08a29eacc6ab8d78bed</id>
<content type='text'>
Reported-by: Jeroen Roovers &lt;jer@gentoo.org&gt;
Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reported-by: Jeroen Roovers &lt;jer@gentoo.org&gt;
Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Unified TC API</title>
<updated>2011-03-21T14:51:52+00:00</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2011-03-21T14:51:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libnl/commit/?id=8eb5b5532eae985a5f0911dccf2db8cb4e0a5de4'/>
<id>8eb5b5532eae985a5f0911dccf2db8cb4e0a5de4</id>
<content type='text'>
Finally got rid of all the qdisc/class/cls code duplication in
the tc module API. The API takes care of allocation/freeing the
tc object specific data.

I hope I got it right this time.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Finally got rid of all the qdisc/class/cls code duplication in
the tc module API. The API takes care of allocation/freeing the
tc object specific data.

I hope I got it right this time.
</pre>
</div>
</content>
</entry>
<entry>
<title>classid auto generation if provided tc name does not exist</title>
<updated>2010-11-01T07:17:40+00:00</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2010-11-01T07:17:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libnl/commit/?id=4267d8f336b11e8fbbf1a4b54499ee19012b1b28'/>
<id>4267d8f336b11e8fbbf1a4b54499ee19012b1b28</id>
<content type='text'>
Manually editing etc/libnl/classid before adding tc objects is a pain.
This patch adds code to attempt auto generating a unique tc id which
will then be assigned to the provided name and added to the classid
file.

This will make the following commands work with prior definitions of
the names "top" and "test"
	sudo sbin/nl-qdisc-add --dev eth0 --parent root --id top htb
	sudo sbin/nl-class-add --dev eth0 --parent top --id test htb --rate 100mbit

It will generate the following ids automatically:
4001:			top
4001:1			test
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Manually editing etc/libnl/classid before adding tc objects is a pain.
This patch adds code to attempt auto generating a unique tc id which
will then be assigned to the provided name and added to the classid
file.

This will make the following commands work with prior definitions of
the names "top" and "test"
	sudo sbin/nl-qdisc-add --dev eth0 --parent root --id top htb
	sudo sbin/nl-class-add --dev eth0 --parent top --id test htb --rate 100mbit

It will generate the following ids automatically:
4001:			top
4001:1			test
</pre>
</div>
</content>
</entry>
<entry>
<title>Unified TC attributes interface</title>
<updated>2010-10-26T10:54:33+00:00</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2010-10-26T10:54:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libnl/commit/?id=4c6d1c5dfb4f7e4a9392895f3da709b55c970e02'/>
<id>4c6d1c5dfb4f7e4a9392895f3da709b55c970e02</id>
<content type='text'>
So far all common tc atttributes were accessed via specific functions, i.e.
rtnl_class_set_parent(), rtnl_qdisc_set_parent(), rtnl_cls_set_parent()
which implied a lot of code duplication. Since all tc objects are derived
from struct rtnl_tc and these common attributes are already stored in there
this patch removes all type specific functions and makes rtnl_tc_* attribute
functions public.

        rtnl_qdisc_set_parent(qdisc, 10);

becomes:

        rtnl_tc_set_parent((struct rtnl_tc *) qdisc, 10);

This patch also adds the following new attributes to tc objects therefore
removing them as tc specific attributes:
 - mtu
 - mpu
 - overhead

This allows for the rate table calculations to be unified as well taking into
account the new kernel behavior to take care of overhead automatically.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
So far all common tc atttributes were accessed via specific functions, i.e.
rtnl_class_set_parent(), rtnl_qdisc_set_parent(), rtnl_cls_set_parent()
which implied a lot of code duplication. Since all tc objects are derived
from struct rtnl_tc and these common attributes are already stored in there
this patch removes all type specific functions and makes rtnl_tc_* attribute
functions public.

        rtnl_qdisc_set_parent(qdisc, 10);

becomes:

        rtnl_tc_set_parent((struct rtnl_tc *) qdisc, 10);

This patch also adds the following new attributes to tc objects therefore
removing them as tc specific attributes:
 - mtu
 - mpu
 - overhead

This allows for the rate table calculations to be unified as well taking into
account the new kernel behavior to take care of overhead automatically.
</pre>
</div>
</content>
</entry>
<entry>
<title>nl-class-add tool</title>
<updated>2010-10-20T12:57:39+00:00</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2010-10-20T12:57:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libnl/commit/?id=27883b0f9b0da6bb33ccc185107a2870df25d030'/>
<id>27883b0f9b0da6bb33ccc185107a2870df25d030</id>
<content type='text'>
Adds a cli based tool to add/update traffic classes. This tool requires
each class to be supported via the respetive qdisc module in
pkglibdir/cli/qdisc/$name.so.

Syntax:
nl-class-add --dev eth2 --parent 1: --id 1:1 htb --rate 100mbit
nl-class-add --update --dev eth2 --id 1:1 htb --rate 200mbit
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds a cli based tool to add/update traffic classes. This tool requires
each class to be supported via the respetive qdisc module in
pkglibdir/cli/qdisc/$name.so.

Syntax:
nl-class-add --dev eth2 --parent 1: --id 1:1 htb --rate 100mbit
nl-class-add --update --dev eth2 --id 1:1 htb --rate 200mbit
</pre>
</div>
</content>
</entry>
</feed>
