#define RT6_LOOKUP_F_SRCPREF_PUBLIC 0x00000010
#define RT6_LOOKUP_F_SRCPREF_COA 0x00000020
-extern struct rt6_info *ip6_null_entry;
-
-#ifdef CONFIG_IPV6_MULTIPLE_TABLES
-extern struct rt6_info *ip6_prohibit_entry;
-extern struct rt6_info *ip6_blk_hole_entry;
-#endif
extern void ip6_route_input(struct sk_buff *skb);
extern int ip6_ins_rt(struct rt6_info *);
extern int ip6_del_rt(struct rt6_info *);
-extern int ip6_rt_addr_add(struct in6_addr *addr,
- struct net_device *dev,
- int anycast);
-
-extern int ip6_rt_addr_del(struct in6_addr *addr,
- struct net_device *dev);
-
-extern void rt6_sndmsg(int type, struct in6_addr *dst,
- struct in6_addr *src,
- struct in6_addr *gw,
- struct net_device *dev,
- int dstlen, int srclen,
- int metric, __u32 flags);
-
extern struct rt6_info *rt6_lookup(struct net *net,
- struct in6_addr *daddr,
- struct in6_addr *saddr,
+ const struct in6_addr *daddr,
+ const struct in6_addr *saddr,
int oif, int flags);
extern struct dst_entry *icmp6_dst_alloc(struct net_device *dev,
struct neighbour *neigh,
- struct in6_addr *addr);
-extern int icmp6_dst_gc(int *more);
+ const struct in6_addr *addr);
+extern int icmp6_dst_gc(void);
extern void fib6_force_start_gc(struct net *net);
{
struct sk_buff *skb;
struct netlink_callback *cb;
+ struct net *net;
};
extern int rt6_dump_route(struct rt6_info *rt, void *p_arg);
extern void rt6_ifdown(struct net *net, struct net_device *dev);
extern void rt6_mtu_change(struct net_device *dev, unsigned mtu);
-extern rwlock_t rt6_lock;
/*
* Store a destination cache entry in a socket