diff options
author | Robert Olsson <Robert.Olsson@data.slu.se> | 2005-06-20 13:36:39 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-06-20 13:36:39 -0700 |
commit | 246955fe4c38bd706ae30e37c64892c94213775d (patch) | |
tree | 23583698ce7c58e1643414245690afca33618540 /include | |
parent | f6e276ee67c0ac9efafd24bc6f7a84aa359656df (diff) | |
download | op-kernel-dev-246955fe4c38bd706ae30e37c64892c94213775d.zip op-kernel-dev-246955fe4c38bd706ae30e37c64892c94213775d.tar.gz |
[NETLINK]: fib_lookup() via netlink
Below is a more generic patch to do fib_lookup via netlink. For others
we should say that we discussed this as a way to verify route selection.
It's also possible there are others uses for this.
In short the fist half of struct fib_result_nl is filled in by caller
and netlink call fills in the other half and returns it.
In case anyone is interested there is a corresponding user app to compare
the full routing table this was used to test implementation of the LC-trie.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/netlink.h | 1 | ||||
-rw-r--r-- | include/net/ip_fib.h | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/netlink.h b/include/linux/netlink.h index e38407a..561d4dc 100644 --- a/include/linux/netlink.h +++ b/include/linux/netlink.h @@ -14,6 +14,7 @@ #define NETLINK_SELINUX 7 /* SELinux event notifications */ #define NETLINK_ARPD 8 #define NETLINK_AUDIT 9 /* auditing */ +#define NETLINK_FIB_LOOKUP 10 #define NETLINK_ROUTE6 11 /* af_inet6 route comm channel */ #define NETLINK_IP6_FW 13 #define NETLINK_DNRTMSG 14 /* DECnet routing messages */ diff --git a/include/net/ip_fib.h b/include/net/ip_fib.h index e5a5f6b..a4208a3 100644 --- a/include/net/ip_fib.h +++ b/include/net/ip_fib.h @@ -109,6 +109,20 @@ struct fib_result { #endif }; +struct fib_result_nl { + u32 fl_addr; /* To be looked up*/ + u32 fl_fwmark; + unsigned char fl_tos; + unsigned char fl_scope; + unsigned char tb_id_in; + + unsigned char tb_id; /* Results */ + unsigned char prefixlen; + unsigned char nh_sel; + unsigned char type; + unsigned char scope; + int err; +}; #ifdef CONFIG_IP_ROUTE_MULTIPATH |