diff options
Diffstat (limited to 'include/net/ip6_route.h')
-rw-r--r-- | include/net/ip6_route.h | 98 |
1 files changed, 43 insertions, 55 deletions
diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h index 2b786b7e3585..733747ce163c 100644 --- a/include/net/ip6_route.h +++ b/include/net/ip6_route.h | |||
@@ -51,7 +51,7 @@ static inline unsigned int rt6_flags2srcprefs(int flags) | |||
51 | return (flags >> 3) & 7; | 51 | return (flags >> 3) & 7; |
52 | } | 52 | } |
53 | 53 | ||
54 | extern void rt6_bind_peer(struct rt6_info *rt, int create); | 54 | void rt6_bind_peer(struct rt6_info *rt, int create); |
55 | 55 | ||
56 | static inline struct inet_peer *__rt6_get_peer(struct rt6_info *rt, int create) | 56 | static inline struct inet_peer *__rt6_get_peer(struct rt6_info *rt, int create) |
57 | { | 57 | { |
@@ -72,70 +72,58 @@ static inline struct inet_peer *rt6_get_peer_create(struct rt6_info *rt) | |||
72 | return __rt6_get_peer(rt, 1); | 72 | return __rt6_get_peer(rt, 1); |
73 | } | 73 | } |
74 | 74 | ||
75 | extern void ip6_route_input(struct sk_buff *skb); | 75 | void ip6_route_input(struct sk_buff *skb); |
76 | 76 | ||
77 | extern struct dst_entry * ip6_route_output(struct net *net, | 77 | struct dst_entry *ip6_route_output(struct net *net, const struct sock *sk, |
78 | const struct sock *sk, | 78 | struct flowi6 *fl6); |
79 | struct flowi6 *fl6); | 79 | struct dst_entry *ip6_route_lookup(struct net *net, struct flowi6 *fl6, |
80 | extern struct dst_entry * ip6_route_lookup(struct net *net, | 80 | int flags); |
81 | struct flowi6 *fl6, int flags); | ||
82 | 81 | ||
83 | extern int ip6_route_init(void); | 82 | int ip6_route_init(void); |
84 | extern void ip6_route_cleanup(void); | 83 | void ip6_route_cleanup(void); |
85 | 84 | ||
86 | extern int ipv6_route_ioctl(struct net *net, | 85 | int ipv6_route_ioctl(struct net *net, unsigned int cmd, void __user *arg); |
87 | unsigned int cmd, | ||
88 | void __user *arg); | ||
89 | 86 | ||
90 | extern int ip6_route_add(struct fib6_config *cfg); | 87 | int ip6_route_add(struct fib6_config *cfg); |
91 | extern int ip6_ins_rt(struct rt6_info *); | 88 | int ip6_ins_rt(struct rt6_info *); |
92 | extern int ip6_del_rt(struct rt6_info *); | 89 | int ip6_del_rt(struct rt6_info *); |
93 | 90 | ||
94 | extern int ip6_route_get_saddr(struct net *net, | 91 | int ip6_route_get_saddr(struct net *net, struct rt6_info *rt, |
95 | struct rt6_info *rt, | 92 | const struct in6_addr *daddr, unsigned int prefs, |
96 | const struct in6_addr *daddr, | 93 | struct in6_addr *saddr); |
97 | unsigned int prefs, | ||
98 | struct in6_addr *saddr); | ||
99 | 94 | ||
100 | extern struct rt6_info *rt6_lookup(struct net *net, | 95 | struct rt6_info *rt6_lookup(struct net *net, const struct in6_addr *daddr, |
101 | const struct in6_addr *daddr, | 96 | const struct in6_addr *saddr, int oif, int flags); |
102 | const struct in6_addr *saddr, | ||
103 | int oif, int flags); | ||
104 | 97 | ||
105 | extern struct dst_entry *icmp6_dst_alloc(struct net_device *dev, | 98 | struct dst_entry *icmp6_dst_alloc(struct net_device *dev, struct flowi6 *fl6); |
106 | struct flowi6 *fl6); | 99 | int icmp6_dst_gc(void); |
107 | extern int icmp6_dst_gc(void); | ||
108 | 100 | ||
109 | extern void fib6_force_start_gc(struct net *net); | 101 | void fib6_force_start_gc(struct net *net); |
110 | 102 | ||
111 | extern struct rt6_info *addrconf_dst_alloc(struct inet6_dev *idev, | 103 | struct rt6_info *addrconf_dst_alloc(struct inet6_dev *idev, |
112 | const struct in6_addr *addr, | 104 | const struct in6_addr *addr, bool anycast); |
113 | bool anycast); | ||
114 | 105 | ||
115 | /* | 106 | /* |
116 | * support functions for ND | 107 | * support functions for ND |
117 | * | 108 | * |
118 | */ | 109 | */ |
119 | extern struct rt6_info * rt6_get_dflt_router(const struct in6_addr *addr, | 110 | struct rt6_info *rt6_get_dflt_router(const struct in6_addr *addr, |
120 | struct net_device *dev); | 111 | struct net_device *dev); |
121 | extern struct rt6_info * rt6_add_dflt_router(const struct in6_addr *gwaddr, | 112 | struct rt6_info *rt6_add_dflt_router(const struct in6_addr *gwaddr, |
122 | struct net_device *dev, | 113 | struct net_device *dev, unsigned int pref); |
123 | unsigned int pref); | 114 | |
124 | 115 | void rt6_purge_dflt_routers(struct net *net); | |
125 | extern void rt6_purge_dflt_routers(struct net *net); | 116 | |
126 | 117 | int rt6_route_rcv(struct net_device *dev, u8 *opt, int len, | |
127 | extern int rt6_route_rcv(struct net_device *dev, | 118 | const struct in6_addr *gwaddr); |
128 | u8 *opt, int len, | 119 | |
129 | const struct in6_addr *gwaddr); | 120 | void ip6_update_pmtu(struct sk_buff *skb, struct net *net, __be32 mtu, int oif, |
130 | 121 | u32 mark); | |
131 | extern void ip6_update_pmtu(struct sk_buff *skb, struct net *net, __be32 mtu, | 122 | void ip6_sk_update_pmtu(struct sk_buff *skb, struct sock *sk, __be32 mtu); |
132 | int oif, u32 mark); | 123 | void ip6_redirect(struct sk_buff *skb, struct net *net, int oif, u32 mark); |
133 | extern void ip6_sk_update_pmtu(struct sk_buff *skb, struct sock *sk, | 124 | void ip6_redirect_no_header(struct sk_buff *skb, struct net *net, int oif, |
134 | __be32 mtu); | 125 | u32 mark); |
135 | extern void ip6_redirect(struct sk_buff *skb, struct net *net, int oif, u32 mark); | 126 | void ip6_sk_redirect(struct sk_buff *skb, struct sock *sk); |
136 | extern void ip6_redirect_no_header(struct sk_buff *skb, struct net *net, int oif, | ||
137 | u32 mark); | ||
138 | extern void ip6_sk_redirect(struct sk_buff *skb, struct sock *sk); | ||
139 | 127 | ||
140 | struct netlink_callback; | 128 | struct netlink_callback; |
141 | 129 | ||
@@ -145,10 +133,10 @@ struct rt6_rtnl_dump_arg { | |||
145 | struct net *net; | 133 | struct net *net; |
146 | }; | 134 | }; |
147 | 135 | ||
148 | extern int rt6_dump_route(struct rt6_info *rt, void *p_arg); | 136 | int rt6_dump_route(struct rt6_info *rt, void *p_arg); |
149 | extern void rt6_ifdown(struct net *net, struct net_device *dev); | 137 | void rt6_ifdown(struct net *net, struct net_device *dev); |
150 | extern void rt6_mtu_change(struct net_device *dev, unsigned int mtu); | 138 | void rt6_mtu_change(struct net_device *dev, unsigned int mtu); |
151 | extern void rt6_remove_prefsrc(struct inet6_ifaddr *ifp); | 139 | void rt6_remove_prefsrc(struct inet6_ifaddr *ifp); |
152 | 140 | ||
153 | 141 | ||
154 | /* | 142 | /* |