summaryrefslogtreecommitdiffstats
path: root/include/netlink/route
Commit message (Collapse)AuthorAgeFilesLines
* fix includes after removing some headersJiri Pirko2013-01-232-7/+7
| | | | | | | | | | | | | | | commit f20bbe1f07fcff1509425884f5ed72ca8d5fb6ab Author: Thomas Graf <tgraf@suug.ch> Date: Tue Jan 22 19:10:38 2013 +0100 No longer install module API headers This commit causes a regression so no app using libnl can be compiled against it. This patch fixes it by removing includes of no-longe existing headers. Signed-off-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: Thomas Graf <tgraf@suug.ch>
* Add new rtnl_link_af_data_compare function to compare af_dataroopa2013-01-181-0/+3
| | | | | | | | This patch adds a new api rtnl_linl_af_data_compare to compare link af_data Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com> Signed-off-by: Thomas Graf <tgraf@suug.ch>
* link af ops: Add new ao_compare op to compare link af_dataroopa2013-01-121-0/+13
| | | | | | | | | | | | | | This patch adds new operation to compare link af_data. ao_compare is similar to object oo_compare operation. This op can be used when two links are compared for their af data. It takes two link objects in question, an object specific bitmask defining which attributes should be compared and flags to control the behaviour. The function must return a bitmask with the relevant bit set for each attribute that mismatches. Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com> Signed-off-by: Thomas Graf <tgraf@suug.ch>
* link: add carrier supportFlavio Leitner2013-01-111-0/+7
| | | | | Signed-off-by: Flavio Leitner <fbl@redhat.com> Signed-off-by: Thomas Graf <tgraf@suug.ch>
* link: socket-CAN helper functionsBenedikt Spranger2012-11-291-0/+27
| | | | | | | Add helper functions to make socket-CAN configuration easy. Signed-off-by: Benedikt Spranger <b.spranger@linutronix.de> Signed-off-by: Thomas Graf <tgraf@suug.ch>
* link: basic socket-CAN supportBenedikt Spranger2012-11-291-0/+32
| | | | | | | | | | | | | Controller Area Network (CAN) is a networking technology which has widespread use in automation, embedded devices and automotive fields. The socket-CAN package is an implementation of CAN protocols for Linux. All socket-CAN related configurations are carried out through Netlink. Add basic socket-CAN support to libnl to be able to configure CAN devices with libnl. Signed-off-by: Benedikt Spranger <b.spranger@linutronix.de> Signed-off-by: Thomas Graf <tgraf@suug.ch>
* add missing '}' in __cplusplus namespacesThomas Graf2012-10-232-0/+7
| | | | Signed-off-by: Thomas Graf <tgraf@redhat.com>
* link: Support link groupingThomas Graf2012-10-091-0/+3
| | | | | | | | | | New functions: rtnl_link_set_group(link, group) rtnl_link_get_group(link) The group identifier is printed in the brief section as "group N" Signed-off-by: Thomas Graf <tgraf@redhat.com>
* link: Support IFLA_NUM_TX_QUEUES and IFLA_NUM_RX_QUEUESThomas Graf2012-10-091-0/+6
| | | | | | | | | | New functions: rtnl_link_set_num_tx_queues(link, nqueues) rtnl_link_get_num_tx_queues(link) rtnl_link_set_num_rx_queues(link, nqueues) rtnl_link_get_num_rx_queues(link) Signed-off-by: Thomas Graf <tgraf@redhat.com>
* link: Support IFLA_PROMISCUITY link attributeThomas Graf2012-10-091-1/+4
| | | | | | | * read-only attribute * dumped in details sections "promisc-mode (N users)" Signed-off-by: Thomas Graf <tgraf@redhat.com>
* route: Document ROUTE_CACHE_CONTENT flagThomas Graf2012-08-301-2/+7
| | | | Signed-off-by: Thomas Graf <tgraf@suug.ch>
* Correct missing fwmark mask proto.Andrew Collins2012-06-111-0/+1
| | | | | In my previous patch for adding fwmark mask support, I neglected to add a prototype for it. This change corrects my oversight.
* u32: fix various u32 hashing related warningsAdrian Ban2012-05-161-0/+1
| | | | | I've add an missing u32 hash filter missing from u32.h I've fix all warnings in file test-complex-HTB-with-hash-filters.c
* tc: fix included headersThomas Graf2012-05-1612-0/+16
| | | | Reported-by: Adrian Ban <adrian.ban@mantech.ro>
* u32: add support for hashingAdrian Ban2012-05-081-0/+4
|
* Support plug qdisc - queue traffic until explicit releaseShriram Rajagopalan2012-02-141-0/+30
| | | | | | | | | | | | | | | | | | | | | | | The plug qdisc supports two operations - plug and unplug. When the qdisc receives a plug ("buffer") command via netlink request, packets arriving henceforth are buffered until a corresponding unplug command is received. Depending on the type of unplug ("release_one" or "release_indefinite"), the queue can be unplugged indefinitely or selectively. The plug qdisc allows a user to implement network output buffering (aka output commit), used commonly in checkpoint based fault tolerance systems. It also supports a general purpose queue plug/unplug functionality. The associated kernel module is available in David Miller's net-next tree, commit: c3059be16c9ef29c05f0876a9df5fea21f29724f This patch introduces userspace tools and API, to control the qdisc via netlink messages. Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca> Signed-off-by: Thomas Graf <tgraf@redhat.com>
* add new function to provide neighbour event parsingBrett Ciphery2012-01-301-0/+2
| | | | | | | | | | the neighbour parsing function was previously not accessible, so custom callback functions had to handle the decoding itself. rtnl_neigh_parse is introduced and implemented in much the same way as rtnl_route_parse. Signed-off-by: Brett Ciphery <brett.ciphery@windriver.com> Signed-off-by: Thomas Graf <tgraf@redhat.com>
* dsmark: Add missing declarations for rtnl_class_dsmark_(get|set)_bitmask()Thomas Graf2011-11-251-3/+3
| | | | | | | The existing declarations refered to non-existing functions so removing them is safe. Signed-off-by: Thomas Graf <tgraf@redhat.com>
* link: generic link enslaving APIThomas Graf2011-11-071-0/+6
| | | | | | Adds rtnl_link_enslave() / rtnl_link_release() providing a genreic link enslaving/release API for use with all link types which use the IFLA_MASTER property.
* Bonding: Fix header guard of <netlink/route/link/bonding.h>Thomas Graf2011-09-161-2/+2
| | | | | (Would be a good idea to change the header guard name when c&p an existing header file to create a new one.)
* bonding: API to create/enslave/releaseThomas Graf2011-09-161-0/+37
| | | | | | | | | | | | | | Although it has been possible to create bonding devices, enslave and release using the regular link API. The added API simplifies usage and hides some of the compatibility logic. F.e. enslave() and release() will both verify that the master assignment has in fact been changed and return -NLE_OPNOTSUPP if it did not. Also the API will make sure to use RTM_NEWLINK or RTM_SETLINK depending on what is availble. Examples are provided in src/ as nl-link-enslave.c and nl-link-release.c
* addr: Add missing header to <netlink/route/addr.h>Thomas Graf2011-09-131-0/+1
| | | | Fixes a gcc warning
* Updated link documentationThomas Graf2011-07-281-66/+76
| | | | | | | - API documentation - developer guide - enabled doxygen navbar - fixed css
* include <linux/if.h> from <netlink/route/link.h> to export IFF_* flagsThomas Graf2011-07-251-0/+1
|
* VLAN: rtnl_link_is_vlan() function and API documentationThomas Graf2011-07-211-2/+4
|
* Use 'link type' instead of 'link info type'Thomas Graf2011-07-211-2/+5
| | | | | | The term 'link type' is much more easier to understand than 'link info type' rtnl_link_set/get_info_type() left around for backwards compatibility
* HTB: Add support for level and direct pkt stats, complete access functionsThomas Graf2011-06-091-10/+18
| | | | | | | | - Adds support for htb class level and direct packet statistics - Complete all get/set access functions - Complete error handling - Documentation
* Add rtnl_tc_data_check()Thomas Graf2011-06-091-0/+2
| | | | | Behaves like rtnl_tc_data() but verifies that the traffic control object is of the expected type.
* addr: store link object and provide rtnl_addr_get()Thomas Graf2011-05-031-1/+7
| | | | | | | | stores rtnl_link object in address if cache is availble. Provide access via rtnl_addr_get_link() and rtnl_addr_set_link(). Add rtnl_addr_get() which searches a address cache for an address matching ifindex and local address.
* Add missing declaration of rtnl_tc_get_link()Thomas Graf2011-04-211-0/+1
|
* Expose <netlink/route/link/inet.h>Thomas Graf2011-04-201-1/+1
|
* export rtnl_link_add() and rtnl_link_build_add_request()Thomas Graf2011-04-151-1/+4
|
* API to issue direct GET requests to the kernelThomas Graf2011-04-111-0/+4
| | | | | | | | | Provide nl_pickup() to pick up an answer from a netlink request and parse it using the supplied parser. Add rtnl_link_get_kernel() which sends an RTM_GETLINK to the kernel to fetch a single link directly from the kernel. This can be faster than dumping the whole table, especially if lots of links are configured.
* link: Provide rtnl_link_delete() to delete virtual linksThomas Graf2011-04-101-0/+4
| | | | | Takes a link object and extracts ifindex and name to build a deletion request message to delete virtual network links.
* link: Make return and argument type matchThomas Graf2011-04-101-2/+2
|
* Provide TC_HANDLE(maj, min) macro to generate tc handlesThomas Graf2011-04-011-0/+6
|
* trafic class/classifer API improvements and documentationThomas Graf2011-03-292-30/+35
| | | | | | | - removed dead functions in header files - deprecated rtnl_class_foreach_*() functions due to their missing handling possibility of OOM situations - improved API documentation
* Qdisc API improvements and documentationThomas Graf2011-03-251-10/+19
| | | | | | | | | | | | | | | Deprecated the functions rtnl_qdisc_change() and rtnl_qdisc_build_change_request() for their lack of being able to specify flags. The new functions rtnl_qdisc_update() and rtnl_qdisc_build_update_request() may be used instead. The old functions are still available though. However, rtnl_qdisc_update() no longer implies NLM_F_REPLACE, it has to specified implicitely to allow updating a qdisc without risking to replace another qdisc. Included detailed documentation of qdisc addition/update/deletion. Introduced APPBUG() macro to let application developer know of API abuse.
* Deprecate rtnl_qdisc_foreach_child() and rtnl_qdisc_foreach_cls()Thomas Graf2011-03-241-2/+3
| | | | | | | | | Their usage is not completely safe, it is not possible to handle the out of memory situation of the allocate filter. It is very unlikely for this to cause any problem though. The functions are still accessible but gcc will warn about their deprecation.
* Cleanup <netlink/route/qdisc.h>Thomas Graf2011-03-241-11/+9
| | | | | - remove dead prototypes - reformat
* rename sch -> qdiscThomas Graf2011-03-219-0/+0
|
* Unified TC APIThomas Graf2011-03-2111-260/+186
| | | | | | | | 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.
* provide function to retrieve htb rateThomas Graf2011-03-171-0/+1
|
* Include <linux/pkt_cls.h> and <linux/pkt_sched.h> in <netlink/route/tc.h> ↵Thomas Graf2011-03-161-0/+2
| | | | for convenience
* prefix ipv6 link statistics identifiers with IP6Thomas Graf2011-03-161-30/+30
|
* link: AF_INET link moduleThomas Graf2010-11-162-0/+38
| | | | | | | | Note: The code for this is not upstream yet. Extends the link api to allow address family modules to fill a link message and implements a AF_INET address family link module which uses the new interface.
* link: Support for IFLA_AF_SPECThomas Graf2010-11-131-0/+5
| | | | | | | | This feature isn't upstream yet. It's required to test a patch in my local tree. Makes the link parser understand IFLA_AF_SPEC and call the address family specific parser.
* Add support for per interface ICMPv6 statisticsThomas Graf2010-11-111-0/+4
|
* Extend rtnl_link_alloc_cache() to support address familiesThomas Graf2010-11-111-1/+33
| | | | | | | 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
* link/api: Improve API documentation.Thomas Graf2010-11-111-4/+9
|