]> granicus.if.org Git - libnl/commit
classid auto generation if provided tc name does not exist
authorThomas Graf <tgraf@suug.ch>
Mon, 1 Nov 2010 07:17:40 +0000 (08:17 +0100)
committerThomas Graf <tgraf@suug.ch>
Mon, 1 Nov 2010 07:17:40 +0000 (08:17 +0100)
commit4267d8f336b11e8fbbf1a4b54499ee19012b1b28
tree4349cb1f09cc204f50a2555565359d486d2ce694
parent7903d6ab4bc54421463517a116e93eef2448e92c
classid auto generation if provided tc name does not exist

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
14 files changed:
etc/classid
include/netlink/cli/tc.h
include/netlink/route/tc.h
lib/route/classid.c
src/lib/tc.c
src/nl-class-add.c
src/nl-class-delete.c
src/nl-class-list.c
src/nl-cls-add.c
src/nl-cls-delete.c
src/nl-cls-list.c
src/nl-qdisc-add.c
src/nl-qdisc-delete.c
src/nl-qdisc-list.c