Commit graph

218 commits

Author SHA1 Message Date
Thomas Graf
a0fe7a1c9a Omit empty nested attributes
Check for empty nested attributes in nla_nest_end() and omit the
attribute alltogether if is is the case.
2011-03-23 13:39:18 +01:00
Daniel Walter
f0603a467b add missing checks for ROUTE_ATTR_MULTIPATH
attached patch adds missing checks for ROUTE_ATTR_MULTIPATH
when dealing with multipath routing.

Affected functions

rtnl_route_remove_nexthop
rtnl_route_get_nexthops
rtnl_route_get_nnexthops
2011-03-22 13:11:09 +01:00
Thomas Graf
c1073d6172 Documentation updates
Mostly killing doxygen warnings, some doc updates to caching
2011-03-22 00:40:26 +01:00
Thomas Graf
722a227795 fix module parent references 2011-03-21 16:54:37 +01:00
Thomas Graf
45941f9d5f rename sch -> qdisc 2011-03-21 16:47:42 +01:00
Thomas Graf
8eb5b5532e Unified TC API
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.
2011-03-21 15:51:52 +01:00
Thomas Graf
5dc897d5de provide function to retrieve htb rate 2011-03-17 17:31:08 +01:00
Thomas Graf
552c85cab7 Hold reference to obj while calling callback of cache iterator 2011-03-17 17:30:32 +01:00
Thomas Graf
33e94038c4 Print debugging info while iterating a cache based on a filter 2011-03-17 16:40:39 +01:00
Thomas Graf
2c75886060 Fix off-by-one when reading IFLA_INET6_CONF and IFLA_INET6_STATS 2011-03-17 16:11:10 +01:00
Thomas Graf
5a9f50b8e9 __nlmsg_alloc(): Guarantee minimal message size of at least the header 2011-03-17 16:03:11 +01:00
Miguel Di Ciurcio Filho
59c3474b3d Add missing argument in rtnl_link_change example
Signed-off-by: Miguel Di Ciurcio Filho <miguel.filho@gmail.com>
2011-03-16 13:49:08 +01:00
Reuben Hawkins
b5c474e533 allowing silent rules in build 2011-03-16 13:21:50 +01:00
Thomas Graf
4b0126b8e6 prefix ipv6 link statistics identifiers with IP6 2011-03-16 12:55:19 +01:00
Thomas Graf
7105aea116 addr: hide nl_addr_destroy()
everyone should use nl_addr_put()
2010-11-26 16:32:10 +01:00
Thomas Graf
4fb528bbaf nl_recv(): Zero out sockaddr in case the caller forgot 2010-11-22 14:19:40 +01:00
Thomas Graf
9fbdf6c92a nl_recv(): Make passing creds pointer optional 2010-11-22 14:18:59 +01:00
Thomas Graf
e52a09c507 nl: rename nlmsg_msg_size() to nlmsg_size(), nlmsg_len() -> nlmsg_datalen()
The old symbols are left around for compatibility.
2010-11-22 13:13:04 +01:00
Thomas Graf
6545206187 Documentation updates
- moved documentation from lib/doc.c to doc/src/
 - splitted pages into separate files
 - worked over core sections, explaining the receiving and sending
   behaviour in much more details including the the available
   mechanisms to customize the behaviour
 - updated the html stylesheet file for increased readability, probably
   needs some doxygen patching to achieve what I am looking for.
 - enabled call graphs, not expanded by default
2010-11-19 02:25:37 +01:00
Thomas Graf
5a08c8ff4c Inherit return code of NL_CB_MSG_OUT in nl_sendmsg()
If NL_CB_MSG_OUT() returns anything != NL_OK, return that value
to let any caller of nl_sendmsg() know that the message has not
been sent.
2010-11-18 14:16:33 +01:00
Thomas Graf
8a365dbd49 rename nl_send_auto_complete() -> nl_send_auto(), nl_auto_complete -> nl_complete_msg()
Old symbols left to maintain backwards compatibility
2010-11-18 14:13:49 +01:00
Thomas Graf
063a2ebf53 only perform automatic sequence checking if auto-ack mode is enabled 2010-11-18 12:51:20 +01:00
Thomas Graf
09daef3d83 Don't build doc.c, there is no real code in it 2010-11-18 12:47:40 +01:00
Thomas Graf
c32c3f3664 socket: constify interface 2010-11-18 12:47:16 +01:00
Thomas Graf
cf5577d280 constify struct trans_tbl 2010-11-17 16:09:08 +01:00
Thomas Graf
98ffedec04 link/inet6: pretty printing 2010-11-17 15:14:08 +01:00
Thomas Graf
d8eeb0a26f New function nl_size2str() 2010-11-17 15:13:33 +01:00
Thomas Graf
10424b20c1 Rename nl_get_hz() to nl_get_user_hz() to indicate it's not the in-kernel HZ value 2010-11-17 11:55:42 +01:00
Thomas Graf
3a9562001c sfq: perturb period is in seconds, not jiffies 2010-11-17 11:55:03 +01:00
Thomas Graf
4d28cc51bc link/inet: pretty printing, make output more readable 2010-11-17 00:06:34 +01:00
Thomas Graf
01bc3c58c2 link/inet: documentation: add examples 2010-11-16 15:07:27 +01:00
Thomas Graf
ee57cc716f link: define RTM_SETLINK to allow pretty printing 2010-11-16 13:54:54 +01:00
Thomas Graf
2575d03135 link: Add missing IFLA_AF_SPEC container attribute 2010-11-16 13:54:15 +01:00
Thomas Graf
e2099719a5 link/inet: Fix array access 2010-11-16 13:47:41 +01:00
Thomas Graf
b6592cb5de link: Fix typo, use rtnl_link_af_alloc() to make sure data buffer is allocated 2010-11-16 13:46:49 +01:00
Thomas Graf
53015f8381 link: AF_INET link module
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.
2010-11-16 12:41:43 +01:00
Thomas Graf
2e3ca4db0c link: Support for IFLA_AF_SPEC
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.
2010-11-13 01:38:13 +01:00
Thomas Graf
a4efc65c3a link: Add support for IPv6 specific link data
- parses IFLA_PROTINFO
 - dumps flags, cacheinfo, devconf and all statistics
2010-11-11 23:15:28 +01:00
Thomas Graf
e69efadc46 Add support for per interface ICMPv6 statistics 2010-11-11 23:14:57 +01:00
Thomas Graf
7ff4deeb56 Extend rtnl_link_alloc_cache() to support address families
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
2010-11-11 22:26:11 +01:00
Thomas Graf
2847cf081b Make nl_str2af return a negative value if parsing fails 2010-11-11 22:25:32 +01:00
Thomas Graf
12b82e4f6f link/api: Improve API documentation. 2010-11-11 16:38:53 +01:00
Thomas Graf
67aeb7474f link/api: Convert link info ops to use nl_list_head
rtnl_link_info_ops_lookup() now returns a pointer with refcnt increment,
you must return it using rtnl_link_info_ops_put()
2010-11-11 16:18:53 +01:00
Thomas Graf
800013b787 link: Support for AF_BRIDGE address family
Supports parsing of IFLA_PROTINFO returned when dumping with PF_BRIDGE
2010-11-11 16:02:48 +01:00
Thomas Graf
280d457c22 link/api: Check for null pointer in rtnl_link_af_ops_put() 2010-11-11 16:02:02 +01:00
Thomas Graf
3fa6a6b410 link: API for address family specific link data
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.
2010-11-11 15:50:49 +01:00
Thomas Graf
fd857eeb9f link: Support IFLA_NUM_VF attribute
- parses attribute if available
- provides API to access value
    rtnl_link_get_num_vf(link, num_vf)
2010-11-11 14:11:32 +01:00
Thomas Graf
8970c5cde6 link: Support IFLA_IFALIAS attribute
- 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
2010-11-11 13:57:10 +01:00
Thomas GraF
59880cb01e pktloc: support to specify a shift operator for packet locations
no users yet though.
2010-11-04 20:01:36 +01:00
Thomas GraF
d283c8e889 Correctly state the process of sending a netlink message. A message
passes through nl_send_iovec() before hitting nl_sendmsg()
2010-11-04 19:35:57 +01:00