Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
ip6_output.c File Reference
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/socket.h>
#include <linux/net.h>
#include <linux/netdevice.h>
#include <linux/if_arp.h>
#include <linux/in6.h>
#include <linux/tcp.h>
#include <linux/route.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/netfilter.h>
#include <linux/netfilter_ipv6.h>
#include <net/sock.h>
#include <net/snmp.h>
#include <net/ipv6.h>
#include <net/ndisc.h>
#include <net/protocol.h>
#include <net/ip6_route.h>
#include <net/addrconf.h>
#include <net/rawv6.h>
#include <net/icmp.h>
#include <net/xfrm.h>
#include <net/checksum.h>
#include <linux/mroute6.h>

Go to the source code of this file.

Functions

int ip6_fragment (struct sk_buff *skb, int(*output)(struct sk_buff *))
 
int __ip6_local_out (struct sk_buff *skb)
 
int ip6_local_out (struct sk_buff *skb)
 
 EXPORT_SYMBOL_GPL (ip6_local_out)
 
int ip6_output (struct sk_buff *skb)
 
int ip6_xmit (struct sock *sk, struct sk_buff *skb, struct flowi6 *fl6, struct ipv6_txoptions *opt, int tclass)
 
 EXPORT_SYMBOL (ip6_xmit)
 
int ip6_nd_hdr (struct sock *sk, struct sk_buff *skb, struct net_device *dev, const struct in6_addr *saddr, const struct in6_addr *daddr, int proto, int len)
 
int ip6_forward (struct sk_buff *skb)
 
int ip6_find_1stfragopt (struct sk_buff *skb, u8 **nexthdr)
 
void ipv6_select_ident (struct frag_hdr *fhdr, struct rt6_info *rt)
 
int ip6_dst_lookup (struct sock *sk, struct dst_entry **dst, struct flowi6 *fl6)
 
 EXPORT_SYMBOL_GPL (ip6_dst_lookup)
 
struct dst_entryip6_dst_lookup_flow (struct sock *sk, struct flowi6 *fl6, const struct in6_addr *final_dst, bool can_sleep)
 
 EXPORT_SYMBOL_GPL (ip6_dst_lookup_flow)
 
struct dst_entryip6_sk_dst_lookup_flow (struct sock *sk, struct flowi6 *fl6, const struct in6_addr *final_dst, bool can_sleep)
 
 EXPORT_SYMBOL_GPL (ip6_sk_dst_lookup_flow)
 
int ip6_append_data (struct sock *sk, int getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb), void *from, int length, int transhdrlen, int hlimit, int tclass, struct ipv6_txoptions *opt, struct flowi6 *fl6, struct rt6_info *rt, unsigned int flags, int dontfrag)
 
 EXPORT_SYMBOL_GPL (ip6_append_data)
 
int ip6_push_pending_frames (struct sock *sk)
 
 EXPORT_SYMBOL_GPL (ip6_push_pending_frames)
 
void ip6_flush_pending_frames (struct sock *sk)
 
 EXPORT_SYMBOL_GPL (ip6_flush_pending_frames)
 

Function Documentation

int __ip6_local_out ( struct sk_buff skb)

Definition at line 61 of file ip6_output.c.

EXPORT_SYMBOL ( ip6_xmit  )
EXPORT_SYMBOL_GPL ( ip6_local_out  )
EXPORT_SYMBOL_GPL ( ip6_dst_lookup  )
EXPORT_SYMBOL_GPL ( ip6_dst_lookup_flow  )
EXPORT_SYMBOL_GPL ( ip6_sk_dst_lookup_flow  )
EXPORT_SYMBOL_GPL ( ip6_append_data  )
EXPORT_SYMBOL_GPL ( ip6_push_pending_frames  )
EXPORT_SYMBOL_GPL ( ip6_flush_pending_frames  )
int ip6_append_data ( struct sock sk,
int   getfragvoid *from, char *to, int offset, int len, int odd, struct sk_buff *skb,
void from,
int  length,
int  transhdrlen,
int  hlimit,
int  tclass,
struct ipv6_txoptions opt,
struct flowi6 fl6,
struct rt6_info rt,
unsigned int  flags,
int  dontfrag 
)

Definition at line 1202 of file ip6_output.c.

int ip6_dst_lookup ( struct sock sk,
struct dst_entry **  dst,
struct flowi6 fl6 
)

ip6_dst_lookup - perform route lookup on flow : socket which provides route info : pointer to dst_entry * for result : flow to lookup

This function performs a route lookup on the given flow.

It returns zero on success, or a standard errno code on error.

Definition at line 1030 of file ip6_output.c.

struct dst_entry* ip6_dst_lookup_flow ( struct sock sk,
struct flowi6 fl6,
const struct in6_addr final_dst,
bool  can_sleep 
)
read

ip6_dst_lookup_flow - perform route lookup on flow with ipsec : socket which provides route info : flow to lookup : final destination address for ipsec lookup : we are in a sleepable context

This function performs a route lookup on the given flow.

It returns a valid dst pointer on success, or a pointer encoded error code.

Definition at line 1049 of file ip6_output.c.

int ip6_find_1stfragopt ( struct sk_buff skb,
u8 **  nexthdr 
)

Definition at line 548 of file ip6_output.c.

void ip6_flush_pending_frames ( struct sock sk)

Definition at line 1654 of file ip6_output.c.

int ip6_forward ( struct sk_buff skb)

Definition at line 368 of file ip6_output.c.

int ip6_fragment ( struct sk_buff skb,
int(*)(struct sk_buff *)  output 
)

Definition at line 613 of file ip6_output.c.

int ip6_local_out ( struct sk_buff skb)

Definition at line 74 of file ip6_output.c.

int ip6_nd_hdr ( struct sock sk,
struct sk_buff skb,
struct net_device dev,
const struct in6_addr saddr,
const struct in6_addr daddr,
int  proto,
int  len 
)

Definition at line 256 of file ip6_output.c.

int ip6_output ( struct sk_buff skb)

Definition at line 146 of file ip6_output.c.

int ip6_push_pending_frames ( struct sock sk)

Definition at line 1569 of file ip6_output.c.

struct dst_entry* ip6_sk_dst_lookup_flow ( struct sock sk,
struct flowi6 fl6,
const struct in6_addr final_dst,
bool  can_sleep 
)
read

ip6_sk_dst_lookup_flow - perform socket cached route lookup on flow : socket which provides the dst cache and route info : flow to lookup : final destination address for ipsec lookup : we are in a sleepable context

This function performs a route lookup on the given flow with the possibility of using the cached route in the socket if it is valid. It will take the socket dst lock when operating on the dst cache. As a result, this function can only be used in process context.

It returns a valid dst pointer on success, or a pointer encoded error code.

Definition at line 1083 of file ip6_output.c.

int ip6_xmit ( struct sock sk,
struct sk_buff skb,
struct flowi6 fl6,
struct ipv6_txoptions opt,
int  tclass 
)

Definition at line 166 of file ip6_output.c.

void ipv6_select_ident ( struct frag_hdr fhdr,
struct rt6_info rt 
)

Definition at line 587 of file ip6_output.c.