summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Add support for per interface ICMPv6 statisticsThomas Graf2010-11-112-0/+8
|
* Add local copies of linux/ipv6.h and linux/snmp.hThomas Graf2010-11-112-0/+389
|
* Add all libraries for libtool to improve linkageGery Kahn2010-11-111-40/+1
| | | | | | | | This will fix finding libs while link, by adding them to LDFLAGS [It's no ideal but it's less of a mess than what we have now. -tgraf] Signed-off-by: Gery Kahn <geryk@ti.com>
* Extend rtnl_link_alloc_cache() to support address familiesThomas Graf2010-11-116-14/+144
| | | | | | | Adds a family argument which allows to request link dumps for a certain address family. This allows to f.e. dump ipv6 specific statistics and data. nl-link-list --family inet6
* Make nl_str2af return a negative value if parsing failsThomas Graf2010-11-111-1/+1
|
* link/api: Improve API documentation.Thomas Graf2010-11-114-17/+26
|
* link/api: Convert link info ops to use nl_list_headThomas Graf2010-11-113-21/+73
| | | | | rtnl_link_info_ops_lookup() now returns a pointer with refcnt increment, you must return it using rtnl_link_info_ops_put()
* link: Support for AF_BRIDGE address familyThomas Graf2010-11-112-0/+94
| | | | Supports parsing of IFLA_PROTINFO returned when dumping with PF_BRIDGE
* link/api: Check for null pointer in rtnl_link_af_ops_put()Thomas Graf2010-11-111-1/+2
|
* link: API for address family specific link dataThomas Graf2010-11-116-92/+358
| | | | | | Introduces a new API to handle address familiy specific link data such as IFLA_PROTINFO. It provides entry hooks for parsing IFLA_PROTINFO attributes and allows to include the parsed data when a link object is dumped.
* link: Support IFLA_NUM_VF attributeThomas Graf2010-11-113-0/+31
| | | | | | - parses attribute if available - provides API to access value rtnl_link_get_num_vf(link, num_vf)
* link: Support IFLA_IFALIAS attributeThomas Graf2010-11-117-13/+99
| | | | | | | | - parse IFLA_IFALIAS if available - provides API to access/change ifalias rtnl_link_get_ifalias(link) rtnl_link_set_ifalias(link, alias) - extends nl-link-set to test functionality
* pktloc: support to specify a shift operator for packet locationsThomas GraF2010-11-045-21/+56
| | | | no users yet though.
* Correctly state the process of sending a netlink message. A messageThomas GraF2010-11-041-0/+3
| | | | passes through nl_send_iovec() before hitting nl_sendmsg()
* nl-qdisc-delete: Do not attempt to delete default qdiscsThomas GraF2010-11-031-0/+4
|
* ematch/meta: id definitionsThomas Graf2010-11-031-1/+44
|
* nl-classid-lookup: Added --raw option to print classid without pretty ↵Thomas Graf2010-11-012-2/+14
| | | | printing it
* nl-qdisc-list: --recursive - print tc objects recursivelyThomas Graf2010-11-012-7/+97
|
* Correctly parse and generate classidsThomas Graf2010-11-011-3/+4
| | | | | | | Make sure to parse strings starting with a hex represention letter but not representing a valid number as tc names. Fix typo while generating classid.
* classid auto generation if provided tc name does not existThomas Graf2010-11-0114-47/+162
| | | | | | | | | | | | | | | | 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
* Support for meta matchThomas Graf2010-10-318-3/+644
| | | | | Syntax: meta(pktlen > 768)
* text ematch supportThomas Graf2010-10-297-8/+310
|
* attr: Add padding if nested data does not end at an alignment boundryThomas Graf2010-10-291-0/+17
| | | | | This could happen if a user put an unaligned amount of data inside an attribute with nlmsg_append().
* Improved debugging messages while constructing messages/attributesThomas Graf2010-10-292-7/+19
|
* routing rules: adapt to unified routing rulesThomas Graf2010-10-294-248/+315
| | | | | | - Use FRA_ definitions - Removed obsoleted fields - Added fwmask and goto support
* Revert "routing rules: mark support"Thomas Graf2010-10-293-13/+19
| | | | This reverts commit ee88c71d16a6b777c916275401a971eea78871d6.
* Revert "Include RTA_MARK in routing rule messages"Thomas Graf2010-10-291-3/+0
| | | | This reverts commit 6862c6592ad598dde0d827039b30df1a947822d1.
* Support RT_TABLE_COMPATThomas Graf2010-10-291-0/+1
|
* Support neighbour flag NTF_USEThomas Graf2010-10-291-0/+2
|
* Support for 64bit link counters IFLA_STATS64Thomas Graf2010-10-292-8/+46
|
* Updated arp and ethernet codesThomas Graf2010-10-291-0/+20
|
* Include RTA_MARK in routing rule messagesThomas Graf2010-10-291-0/+3
|
* routing rules: mark supportThomas Graf2010-10-293-19/+13
| | | | | | | | | Obsolete RTA_PROTOINFO code and parse RTA_MARK rtnl_rule_set_mark(rule, mark) rtnl_rule_get_mark(rule) now access the mark as in firewall mark
* src/nf-queue: revert nonsensical changePatrick McHardy2010-10-291-24/+0
| | | | | | | | | | | | The only part of commit d378220c (src/nf-queue.c: cleanup and improve performance of test program for NF_QUEUE) that actually makes sense is the increase in receive buffer size. Issuing verdicts for IDs not delivered to userspace is a wasted effort since the kernel drops packets itself when netlink message delivery fails. This would actually have been noticed by a return value of -ENOENT if the result of nfnl_queue_msg_send_verdict() would have been checked. Signed-off-by: Patrick McHardy <kaber@trash.net>
* cgroup classifier improvementsThomas Graf2010-10-294-31/+128
| | | | | | | | | | | - enabled again - ematch support - cli tools module Example: nl-qdisc-add --dev eth0 --parent root --id 1: htb nl-cls-add --dev eth0 --parent 1: --id dead: cgroup nl-class-add --dev eth0 --parent 1: --id 1:<CGROUP> htb --rate 77mbit
* basic: Only add ematches to message if availableThomas Graf2010-10-291-1/+5
|
* Tons of ematch workThomas Graf2010-10-2918-228/+1078
| | | | | | | | | | - Fixes a bunch of bugs related to ematches - Adds support for the nbyte ematch - Adds a bison/flex parser for ematch expressions, expressions may look like this: ip.length > 256 && pattern(ip6.src = 3ffe::/16) documenation on syntax follows - adds ematch support to the basic classifier (--ematch EXPR)
* Fix use of uninitialized data at the end of netlink messageThomas Graf2010-10-291-1/+1
| | | | | | | The netlink message buffer is preallocated to a page and later expanded as needed. Everything was properly paded and zeroed out except for the unused part at the end. Use calloc() to allocate the buffer.
* Avoid memcpy()/memset() when reserving space for nested attributesThomas Graf2010-10-291-4/+7
|
* Extended pktloc to support nbyte locations for ipv6, etc.Thomas Graf2010-10-295-11/+59
| | | | | The alignment column/field now also takes a number, specifying the length in bytes of the field described by the location
* Packet location updatesThomas Graf2010-10-2711-75/+292
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch includes various bugfixes in the packet location parser. Namely it removes two memory leaks if parsing fails. The parser is correctly quit if an allocation error occurs and it is no longer possible to add duplicates. It removes the possibility to differ between net and host byteorder. This is better done in the actual classifiers as it makes more sense to specify this together with the value to compare against. The patch also extends the API to add new packet locations via rtnl_pktloc_add(). It introduces reference counting, therefore you now have to give back packet locations with rtnl_pktloc_put() after looking them up with rtnl_pktloc_lookup(). But you are allowed to keep using them if the packet location file has been reread. The packet location file now also understands "eth", "ip", and "tcp" for "link", "net", and "transport". A --list option has been added to nl-pktloc-lookup to list all packet location definitions A --u32=VALUE option has been added to let nl-pktloc-lookup print the definition in iproute2's u32 selector style. A manual page has been written for nl-pktloc-lookup. Finally, nl-pktloc-lookup has been made installable.
* nl-cls-* toolsThomas Graf2010-10-2611-170/+507
| | | | cli based tools to add/update/list/delete classifiers
* Unified TC attributes interfaceThomas Graf2010-10-2640-643/+714
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Update include/linux header copiesThomas Graf2010-10-2118-279/+452
| | | | | Adapts ratespec code taking into account that the kernel now takes care of overhead calculations.
* nl-qdisc-add(8), nl-qdisc-delete(8), nl-qdisc-list(8)Thomas Graf2010-10-214-1/+121
|
* nl-class-list toolThomas Graf2010-10-203-1/+118
| | | | Same syntax as nl-qdisc-list
* nl-class-delete toolThomas Graf2010-10-205-5/+153
| | | | Tool based on nl-qdisc-delete to delete traffic classes.
* Make nl-qdisc-delete installableThomas Graf2010-10-203-31/+65
| | | | | Fixes nl_cli_confirm() and adds a check enforcing --yes before deleting all qdiscs on all devices.
* Remove NL_DUMP_ENV codeThomas Graf2010-10-209-348/+0
| | | | | | | Dumping objects as environment variables has never been implemented completely and only increases the size of the library for no real purpose. Integration into scripts is better achieved by implementing a python module anyway.
* make nl-qdisc-list installableThomas Graf2010-10-202-21/+24
| | | | Also improves usability of nl-qdisc-list