ip6_fib.c (d864991b220b7c62e81d21209e1fd978fd67352c) ip6_fib.c (4724676d551c0961659b1da3fb4b5928169fb184)
1/*
2 * Linux INET6 implementation
3 * Forwarding Information Database
4 *
5 * Authors:
6 * Pedro Roque <roque@di.fc.ul.pt>
7 *
8 * This program is free software; you can redistribute it and/or

--- 555 unchanged lines hidden (view full) ---

564
565 return res;
566}
567
568static int inet6_dump_fib(struct sk_buff *skb, struct netlink_callback *cb)
569{
570 const struct nlmsghdr *nlh = cb->nlh;
571 struct net *net = sock_net(skb->sk);
1/*
2 * Linux INET6 implementation
3 * Forwarding Information Database
4 *
5 * Authors:
6 * Pedro Roque <roque@di.fc.ul.pt>
7 *
8 * This program is free software; you can redistribute it and/or

--- 555 unchanged lines hidden (view full) ---

564
565 return res;
566}
567
568static int inet6_dump_fib(struct sk_buff *skb, struct netlink_callback *cb)
569{
570 const struct nlmsghdr *nlh = cb->nlh;
571 struct net *net = sock_net(skb->sk);
572 struct rt6_rtnl_dump_arg arg = {};
572 unsigned int h, s_h;
573 unsigned int e = 0, s_e;
573 unsigned int h, s_h;
574 unsigned int e = 0, s_e;
574 struct rt6_rtnl_dump_arg arg;
575 struct fib6_walker *w;
576 struct fib6_table *tb;
577 struct hlist_head *head;
578 int res = 0;
579
580 if (cb->strict_check) {
575 struct fib6_walker *w;
576 struct fib6_table *tb;
577 struct hlist_head *head;
578 int res = 0;
579
580 if (cb->strict_check) {
581 int err = ip_valid_fib_dump_req(nlh, cb->extack);
581 int err;
582
582
583 err = ip_valid_fib_dump_req(net, nlh, &arg.filter, cb->extack);
583 if (err < 0)
584 return err;
585 }
586
587 s_h = cb->args[0];
588 s_e = cb->args[1];
589
590 w = (void *)cb->args[2];

--- 1851 unchanged lines hidden ---
584 if (err < 0)
585 return err;
586 }
587
588 s_h = cb->args[0];
589 s_e = cb->args[1];
590
591 w = (void *)cb->args[2];

--- 1851 unchanged lines hidden ---