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 --- |