ipv6: namespace cleanups
Running 'make namespacecheck' shows: net/ipv6/route.o ipv6_route_table_template rt6_bind_peer net/ipv6/icmp.o icmpv6_route_lookup ipv6_icmp_table_template This addresses some of those warnings by: * make icmpv6_route_lookup static * move inline's out of ip6_route.h since only used into route.c * move rt6_bind_peer into route.c Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1d143d9f0c
commit
e82435341f
4 changed files with 35 additions and 43 deletions
|
@ -51,26 +51,6 @@ static inline unsigned int rt6_flags2srcprefs(int flags)
|
|||
return (flags >> 3) & 7;
|
||||
}
|
||||
|
||||
void rt6_bind_peer(struct rt6_info *rt, int create);
|
||||
|
||||
static inline struct inet_peer *__rt6_get_peer(struct rt6_info *rt, int create)
|
||||
{
|
||||
if (rt6_has_peer(rt))
|
||||
return rt6_peer_ptr(rt);
|
||||
|
||||
rt6_bind_peer(rt, create);
|
||||
return (rt6_has_peer(rt) ? rt6_peer_ptr(rt) : NULL);
|
||||
}
|
||||
|
||||
static inline struct inet_peer *rt6_get_peer(struct rt6_info *rt)
|
||||
{
|
||||
return __rt6_get_peer(rt, 0);
|
||||
}
|
||||
|
||||
static inline struct inet_peer *rt6_get_peer_create(struct rt6_info *rt)
|
||||
{
|
||||
return __rt6_get_peer(rt, 1);
|
||||
}
|
||||
|
||||
void ip6_route_input(struct sk_buff *skb);
|
||||
|
||||
|
|
|
@ -267,9 +267,6 @@ void icmpv6_notify(struct sk_buff *skb, u8 type, u8 code, __be32 info);
|
|||
int icmpv6_push_pending_frames(struct sock *sk, struct flowi6 *fl6,
|
||||
struct icmp6hdr *thdr, int len);
|
||||
|
||||
struct dst_entry *icmpv6_route_lookup(struct net *net, struct sk_buff *skb,
|
||||
struct sock *sk, struct flowi6 *fl6);
|
||||
|
||||
int ip6_ra_control(struct sock *sk, int sel);
|
||||
|
||||
int ipv6_parse_hopopts(struct sk_buff *skb);
|
||||
|
@ -839,7 +836,6 @@ static inline int snmp6_unregister_dev(struct inet6_dev *idev) { return 0; }
|
|||
|
||||
#ifdef CONFIG_SYSCTL
|
||||
extern struct ctl_table ipv6_route_table_template[];
|
||||
extern struct ctl_table ipv6_icmp_table_template[];
|
||||
|
||||
struct ctl_table *ipv6_icmp_sysctl_init(struct net *net);
|
||||
struct ctl_table *ipv6_route_sysctl_init(struct net *net);
|
||||
|
|
|
@ -315,8 +315,10 @@ static void mip6_addr_swap(struct sk_buff *skb)
|
|||
static inline void mip6_addr_swap(struct sk_buff *skb) {}
|
||||
#endif
|
||||
|
||||
struct dst_entry *icmpv6_route_lookup(struct net *net, struct sk_buff *skb,
|
||||
struct sock *sk, struct flowi6 *fl6)
|
||||
static struct dst_entry *icmpv6_route_lookup(struct net *net,
|
||||
struct sk_buff *skb,
|
||||
struct sock *sk,
|
||||
struct flowi6 *fl6)
|
||||
{
|
||||
struct dst_entry *dst, *dst2;
|
||||
struct flowi6 fl2;
|
||||
|
@ -984,7 +986,7 @@ int icmpv6_err_convert(u8 type, u8 code, int *err)
|
|||
EXPORT_SYMBOL(icmpv6_err_convert);
|
||||
|
||||
#ifdef CONFIG_SYSCTL
|
||||
struct ctl_table ipv6_icmp_table_template[] = {
|
||||
static struct ctl_table ipv6_icmp_table_template[] = {
|
||||
{
|
||||
.procname = "ratelimit",
|
||||
.data = &init_net.ipv6.sysctl.icmpv6_time,
|
||||
|
|
|
@ -104,6 +104,36 @@ static struct rt6_info *rt6_get_route_info(struct net *net,
|
|||
const struct in6_addr *gwaddr, int ifindex);
|
||||
#endif
|
||||
|
||||
static void rt6_bind_peer(struct rt6_info *rt, int create)
|
||||
{
|
||||
struct inet_peer_base *base;
|
||||
struct inet_peer *peer;
|
||||
|
||||
base = inetpeer_base_ptr(rt->_rt6i_peer);
|
||||
if (!base)
|
||||
return;
|
||||
|
||||
peer = inet_getpeer_v6(base, &rt->rt6i_dst.addr, create);
|
||||
if (peer) {
|
||||
if (!rt6_set_peer(rt, peer))
|
||||
inet_putpeer(peer);
|
||||
}
|
||||
}
|
||||
|
||||
static struct inet_peer *__rt6_get_peer(struct rt6_info *rt, int create)
|
||||
{
|
||||
if (rt6_has_peer(rt))
|
||||
return rt6_peer_ptr(rt);
|
||||
|
||||
rt6_bind_peer(rt, create);
|
||||
return (rt6_has_peer(rt) ? rt6_peer_ptr(rt) : NULL);
|
||||
}
|
||||
|
||||
static struct inet_peer *rt6_get_peer_create(struct rt6_info *rt)
|
||||
{
|
||||
return __rt6_get_peer(rt, 1);
|
||||
}
|
||||
|
||||
static u32 *ipv6_cow_metrics(struct dst_entry *dst, unsigned long old)
|
||||
{
|
||||
struct rt6_info *rt = (struct rt6_info *) dst;
|
||||
|
@ -312,22 +342,6 @@ static void ip6_dst_destroy(struct dst_entry *dst)
|
|||
}
|
||||
}
|
||||
|
||||
void rt6_bind_peer(struct rt6_info *rt, int create)
|
||||
{
|
||||
struct inet_peer_base *base;
|
||||
struct inet_peer *peer;
|
||||
|
||||
base = inetpeer_base_ptr(rt->_rt6i_peer);
|
||||
if (!base)
|
||||
return;
|
||||
|
||||
peer = inet_getpeer_v6(base, &rt->rt6i_dst.addr, create);
|
||||
if (peer) {
|
||||
if (!rt6_set_peer(rt, peer))
|
||||
inet_putpeer(peer);
|
||||
}
|
||||
}
|
||||
|
||||
static void ip6_dst_ifdown(struct dst_entry *dst, struct net_device *dev,
|
||||
int how)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue