aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/ip6_output.c
diff options
context:
space:
mode:
authorYOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@linux-ipv6.org>2013-01-21 01:48:19 -0500
committerDavid S. Miller <davem@davemloft.net>2013-01-21 13:33:15 -0500
commit2576f17dfad402e2446244238ed22dddf35c2e53 (patch)
treec2f90411b0fc1d6bd8caf6b01a082cd56cb952cd /net/ipv6/ip6_output.c
parentde09334b9326632bbf1a74bfd8b01866cbbf2f61 (diff)
ipv6: Unshare ip6_nd_hdr() and change return type to void.
- move ip6_nd_hdr() to its users' source files. In net/ipv6/mcast.c, it will be called ip6_mc_hdr(). - make return type to void since this function never fails. Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/ip6_output.c')
-rw-r--r--net/ipv6/ip6_output.c33
1 files changed, 0 insertions, 33 deletions
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index b0895f5d5fc6..7eee94c27f8d 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -254,39 +254,6 @@ int ip6_xmit(struct sock *sk, struct sk_buff *skb, struct flowi6 *fl6,
254 254
255EXPORT_SYMBOL(ip6_xmit); 255EXPORT_SYMBOL(ip6_xmit);
256 256
257/*
258 * To avoid extra problems ND packets are send through this
259 * routine. It's code duplication but I really want to avoid
260 * extra checks since ipv6_build_header is used by TCP (which
261 * is for us performance critical)
262 */
263
264int ip6_nd_hdr(struct sock *sk, struct sk_buff *skb, struct net_device *dev,
265 const struct in6_addr *saddr, const struct in6_addr *daddr,
266 int proto, int len)
267{
268 struct ipv6_pinfo *np = inet6_sk(sk);
269 struct ipv6hdr *hdr;
270
271 skb->protocol = htons(ETH_P_IPV6);
272 skb->dev = dev;
273
274 skb_reset_network_header(skb);
275 skb_put(skb, sizeof(struct ipv6hdr));
276 hdr = ipv6_hdr(skb);
277
278 ip6_flow_hdr(hdr, 0, 0);
279
280 hdr->payload_len = htons(len);
281 hdr->nexthdr = proto;
282 hdr->hop_limit = np->hop_limit;
283
284 hdr->saddr = *saddr;
285 hdr->daddr = *daddr;
286
287 return 0;
288}
289
290static int ip6_call_ra_chain(struct sk_buff *skb, int sel) 257static int ip6_call_ra_chain(struct sk_buff *skb, int sel)
291{ 258{
292 struct ip6_ra_chain *ra; 259 struct ip6_ra_chain *ra;