]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - net/sched/cls_api.c
[PKT_SCHED] cls: Use rtnl registration interface
[net-next-2.6.git] / net / sched / cls_api.c
index 3d0a6cdcaebcd5ab0748d84fff845e9b33728406..ca3da5013b7a5431721fc19ef27b8e62bafa19a4 100644 (file)
@@ -29,7 +29,6 @@
 #include <linux/interrupt.h>
 #include <linux/netdevice.h>
 #include <linux/skbuff.h>
-#include <linux/rtnetlink.h>
 #include <linux/init.h>
 #include <linux/kmod.h>
 #include <linux/netlink.h>
@@ -616,18 +615,11 @@ rtattr_failure: __attribute__ ((unused))
 
 static int __init tc_filter_init(void)
 {
-       struct rtnetlink_link *link_p = rtnetlink_links[PF_UNSPEC];
+       rtnl_register(PF_UNSPEC, RTM_NEWTFILTER, tc_ctl_tfilter, NULL);
+       rtnl_register(PF_UNSPEC, RTM_DELTFILTER, tc_ctl_tfilter, NULL);
+       rtnl_register(PF_UNSPEC, RTM_GETTFILTER, tc_ctl_tfilter,
+                                                tc_dump_tfilter);
 
-       /* Setup rtnetlink links. It is made here to avoid
-          exporting large number of public symbols.
-        */
-
-       if (link_p) {
-               link_p[RTM_NEWTFILTER-RTM_BASE].doit = tc_ctl_tfilter;
-               link_p[RTM_DELTFILTER-RTM_BASE].doit = tc_ctl_tfilter;
-               link_p[RTM_GETTFILTER-RTM_BASE].doit = tc_ctl_tfilter;
-               link_p[RTM_GETTFILTER-RTM_BASE].dumpit = tc_dump_tfilter;
-       }
        return 0;
 }