Linux Kernel
3.7.1
|
#include <linux/ipv6.h>
#include <linux/hardirq.h>
#include <net/if_inet6.h>
#include <net/ndisc.h>
#include <net/flow.h>
#include <net/snmp.h>
#include <net/sock.h>
Go to the source code of this file.
Data Structures | |
struct | frag_hdr |
struct | ip6_ra_chain |
struct | ipv6_txoptions |
struct | ip6_flowlabel |
struct | ipv6_fl_socklist |
struct | ip6_create_arg |
struct | frag_queue |
Macros | |
#define | SIN6_LEN_RFC2133 24 |
#define | IPV6_MAXPLEN 65535 |
#define | NEXTHDR_HOP 0 /* Hop-by-hop option header. */ |
#define | NEXTHDR_TCP 6 /* TCP segment. */ |
#define | NEXTHDR_UDP 17 /* UDP message. */ |
#define | NEXTHDR_IPV6 41 /* IPv6 in IPv6 */ |
#define | NEXTHDR_ROUTING 43 /* Routing header. */ |
#define | NEXTHDR_FRAGMENT 44 /* Fragmentation/reassembly header. */ |
#define | NEXTHDR_GRE 47 /* GRE header. */ |
#define | NEXTHDR_ESP 50 /* Encapsulating security payload. */ |
#define | NEXTHDR_AUTH 51 /* Authentication header. */ |
#define | NEXTHDR_ICMP 58 /* ICMP for IPv6. */ |
#define | NEXTHDR_NONE 59 /* No next header */ |
#define | NEXTHDR_DEST 60 /* Destination options header. */ |
#define | NEXTHDR_MOBILITY 135 /* Mobility header. */ |
#define | NEXTHDR_MAX 255 |
#define | IPV6_DEFAULT_HOPLIMIT 64 |
#define | IPV6_DEFAULT_MCASTHOPS 1 |
#define | IPV6_ADDR_ANY 0x0000U |
#define | IPV6_ADDR_UNICAST 0x0001U |
#define | IPV6_ADDR_MULTICAST 0x0002U |
#define | IPV6_ADDR_LOOPBACK 0x0010U |
#define | IPV6_ADDR_LINKLOCAL 0x0020U |
#define | IPV6_ADDR_SITELOCAL 0x0040U |
#define | IPV6_ADDR_COMPATv4 0x0080U |
#define | IPV6_ADDR_SCOPE_MASK 0x00f0U |
#define | IPV6_ADDR_MAPPED 0x1000U |
#define | IPV6_ADDR_MC_SCOPE(a) ((a)->s6_addr[1] & 0x0f) /* nonstandard */ |
#define | __IPV6_ADDR_SCOPE_INVALID -1 |
#define | IPV6_ADDR_SCOPE_NODELOCAL 0x01 |
#define | IPV6_ADDR_SCOPE_LINKLOCAL 0x02 |
#define | IPV6_ADDR_SCOPE_SITELOCAL 0x05 |
#define | IPV6_ADDR_SCOPE_ORGLOCAL 0x08 |
#define | IPV6_ADDR_SCOPE_GLOBAL 0x0e |
#define | IPV6_ADDR_MC_FLAG_TRANSIENT(a) ((a)->s6_addr[1] & 0x10) |
#define | IPV6_ADDR_MC_FLAG_PREFIX(a) ((a)->s6_addr[1] & 0x20) |
#define | IPV6_ADDR_MC_FLAG_RENDEZVOUS(a) ((a)->s6_addr[1] & 0x40) |
#define | IP6_MF 0x0001 |
#define | _DEVINC(net, statname, modifier, idev, field) |
#define | _DEVINCATOMIC(net, statname, modifier, idev, field) |
#define | _DEVINC_ATOMIC_ATOMIC(net, statname, idev, field) |
#define | _DEVADD(net, statname, modifier, idev, field, val) |
#define | _DEVUPD(net, statname, modifier, idev, field, val) |
#define | IP6_INC_STATS(net, idev, field) _DEVINC(net, ipv6, 64, idev, field) |
#define | IP6_INC_STATS_BH(net, idev, field) _DEVINC(net, ipv6, 64_BH, idev, field) |
#define | IP6_ADD_STATS(net, idev, field, val) _DEVADD(net, ipv6, 64, idev, field, val) |
#define | IP6_ADD_STATS_BH(net, idev, field, val) _DEVADD(net, ipv6, 64_BH, idev, field, val) |
#define | IP6_UPD_PO_STATS(net, idev, field, val) _DEVUPD(net, ipv6, 64, idev, field, val) |
#define | IP6_UPD_PO_STATS_BH(net, idev, field, val) _DEVUPD(net, ipv6, 64_BH, idev, field, val) |
#define | ICMP6_INC_STATS(net, idev, field) _DEVINCATOMIC(net, icmpv6, , idev, field) |
#define | ICMP6_INC_STATS_BH(net, idev, field) _DEVINCATOMIC(net, icmpv6, _BH, idev, field) |
#define | ICMP6MSGOUT_INC_STATS(net, idev, field) _DEVINC_ATOMIC_ATOMIC(net, icmpv6msg, idev, field +256) |
#define | ICMP6MSGOUT_INC_STATS_BH(net, idev, field) _DEVINC_ATOMIC_ATOMIC(net, icmpv6msg, idev, field +256) |
#define | ICMP6MSGIN_INC_STATS_BH(net, idev, field) _DEVINC_ATOMIC_ATOMIC(net, icmpv6msg, idev, field) |
#define | IPV6_FLOWINFO_MASK cpu_to_be32(0x0FFFFFFF) |
#define | IPV6_FLOWLABEL_MASK cpu_to_be32(0x000FFFFF) |
#define | IPV6_FRAG_HIGH_THRESH (256 * 1024) /* 262144 */ |
#define | IPV6_FRAG_LOW_THRESH (192 * 1024) /* 196608 */ |
#define | IPV6_FRAG_TIMEOUT (60 * HZ) /* 60 seconds */ |
Enumerations | |
enum | ip6_defrag_users { IP6_DEFRAG_LOCAL_DELIVER, IP6_DEFRAG_CONNTRACK_IN, __IP6_DEFRAG_CONNTRACK_IN = IP6_DEFRAG_CONNTRACK_IN + USHRT_MAX, IP6_DEFRAG_CONNTRACK_OUT, __IP6_DEFRAG_CONNTRACK_OUT = IP6_DEFRAG_CONNTRACK_OUT + USHRT_MAX, IP6_DEFRAG_CONNTRACK_BRIDGE_IN, __IP6_DEFRAG_CONNTRACK_BRIDGE_IN = IP6_DEFRAG_CONNTRACK_BRIDGE_IN + USHRT_MAX } |
Variables | |
int | sysctl_mld_max_msf |
struct ip6_ra_chain * | ip6_ra_chain |
rwlock_t | ip6_ra_lock |
struct proto_ops | inet6_stream_ops |
struct proto_ops | inet6_dgram_ops |
#define IPV6_FLOWINFO_MASK cpu_to_be32(0x0FFFFFFF) |
#define IPV6_FLOWLABEL_MASK cpu_to_be32(0x000FFFFF) |
#define NEXTHDR_FRAGMENT 44 /* Fragmentation/reassembly header. */ |
enum ip6_defrag_users |
Definition at line 61 of file ip6_output.c.
int compat_ipv6_getsockopt | ( | struct sock * | sk, |
int | level, | ||
int | optname, | ||
char __user * | optval, | ||
int __user * | optlen | ||
) |
int compat_ipv6_setsockopt | ( | struct sock * | sk, |
int | level, | ||
int | optname, | ||
char __user * | optval, | ||
unsigned int | optlen | ||
) |
Definition at line 251 of file ip6_flowlabel.c.
|
read |
Definition at line 272 of file ip6_flowlabel.c.
|
read |
Definition at line 228 of file ip6_flowlabel.c.
|
read |
fl6_update_dst - update flowi destination address with info given by srcrt option, if any.
: flowi6 for which daddr is to be updated : struct ipv6_txoptions in which to look for srcrt opt : copy of original daddr address if modified
Returns NULL if no txoptions or no srcrt, otherwise returns orig and initial value of fl6->daddr set in orig
Definition at line 258 of file af_inet6.c.
Definition at line 444 of file af_inet6.c.
int inet6_hash_connect | ( | struct inet_timewait_death_row * | death_row, |
struct sock * | sk | ||
) |
Definition at line 297 of file inet6_hashtables.c.
unsigned int inet6_hash_frag | ( | __be32 | id, |
const struct in6_addr * | saddr, | ||
const struct in6_addr * | daddr, | ||
u32 | rnd | ||
) |
Definition at line 77 of file reassembly.c.
Definition at line 480 of file af_inet6.c.
Definition at line 396 of file af_inet6.c.
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 42 of file datagram.c.
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.
|
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.
void ip6_expire_frag_queue | ( | struct net * | net, |
struct frag_queue * | fq, | ||
struct inet_frags * | frags | ||
) |
Definition at line 134 of file reassembly.c.
Definition at line 548 of file ip6_output.c.
Definition at line 811 of file ip6_flowlabel.c.
Definition at line 806 of file ip6_flowlabel.c.
Definition at line 1654 of file ip6_output.c.
Definition at line 368 of file ip6_output.c.
void ip6_frag_init | ( | struct inet_frag_queue * | q, |
void * | a | ||
) |
Definition at line 122 of file reassembly.c.
bool ip6_frag_match | ( | struct inet_frag_queue * | q, |
void * | a | ||
) |
Definition at line 109 of file reassembly.c.
Definition at line 250 of file ip6_input.c.
Definition at line 74 of file ip6_output.c.
Definition at line 256 of file ip6_input.c.
int ip6_mc_msfget | ( | struct sock * | sk, |
struct group_filter * | gsf, | ||
struct group_filter __user * | optval, | ||
int __user * | optlen | ||
) |
int ip6_mc_msfilter | ( | struct sock * | sk, |
struct group_filter * | gsf | ||
) |
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.
Definition at line 146 of file ip6_output.c.
Definition at line 1569 of file ip6_output.c.
Definition at line 50 of file ip6_input.c.
|
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.
|
read |
Definition at line 12 of file exthdrs_core.c.
|
read |
Definition at line 475 of file ip6_flowlabel.c.
int ipv6_getsockopt | ( | struct sock * | sk, |
int | level, | ||
int | optname, | ||
char __user * | optval, | ||
int __user * | optlen | ||
) |
Definition at line 1250 of file ipv6_sockglue.c.
void ipv6_icmp_error | ( | struct sock * | sk, |
struct sk_buff * | skb, | ||
int | err, | ||
__be16 | port, | ||
u32 | info, | ||
u8 * | payload | ||
) |
Definition at line 208 of file datagram.c.
Definition at line 243 of file datagram.c.
Definition at line 282 of file datagram.c.
Definition at line 681 of file af_inet6.c.
int ipv6_rcv | ( | struct sk_buff * | skb, |
struct net_device * | dev, | ||
struct packet_type * | pt, | ||
struct net_device * | orig_dev | ||
) |
Definition at line 65 of file ip6_input.c.
Definition at line 320 of file datagram.c.
Definition at line 424 of file datagram.c.
|
read |
Definition at line 587 of file ip6_output.c.
int ipv6_setsockopt | ( | struct sock * | sk, |
int | level, | ||
int | optname, | ||
char __user * | optval, | ||
unsigned int | optlen | ||
) |
Definition at line 847 of file ipv6_sockglue.c.
Definition at line 71 of file exthdrs_core.c.
Definition at line 539 of file af_inet6.c.
Definition at line 513 of file af_inet6.c.
Definition at line 58 of file ipv6_sockglue.c.
rwlock_t ip6_ra_lock |
int sysctl_mld_max_msf |