Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
ndisc.h File Reference
#include <linux/compiler.h>
#include <linux/icmpv6.h>
#include <linux/in6.h>
#include <linux/types.h>
#include <linux/if_arp.h>
#include <linux/netdevice.h>
#include <linux/hash.h>
#include <net/neighbour.h>

Go to the source code of this file.

Data Structures

struct  nd_msg
 
struct  rs_msg
 
struct  ra_msg
 
struct  nd_opt_hdr
 
struct  ndisc_options
 

Macros

#define NDISC_ROUTER_SOLICITATION   133
 
#define NDISC_ROUTER_ADVERTISEMENT   134
 
#define NDISC_NEIGHBOUR_SOLICITATION   135
 
#define NDISC_NEIGHBOUR_ADVERTISEMENT   136
 
#define NDISC_REDIRECT   137
 
#define NDISC_NODETYPE_UNSPEC   0 /* unspecified (default) */
 
#define NDISC_NODETYPE_HOST   1 /* host or unauthorized router */
 
#define NDISC_NODETYPE_NODEFAULT   2 /* non-default router */
 
#define NDISC_NODETYPE_DEFAULT   3 /* default router */
 
#define MAX_RTR_SOLICITATION_DELAY   HZ
 
#define ND_REACHABLE_TIME   (30*HZ)
 
#define ND_RETRANS_TIMER   HZ
 
#define nd_opts_src_lladdr   nd_opt_array[ND_OPT_SOURCE_LL_ADDR]
 
#define nd_opts_tgt_lladdr   nd_opt_array[ND_OPT_TARGET_LL_ADDR]
 
#define nd_opts_pi   nd_opt_array[ND_OPT_PREFIX_INFO]
 
#define nd_opts_pi_end   nd_opt_array[__ND_OPT_PREFIX_INFO_END]
 
#define nd_opts_rh   nd_opt_array[ND_OPT_REDIRECT_HDR]
 
#define nd_opts_mtu   nd_opt_array[ND_OPT_MTU]
 
#define NDISC_OPT_SPACE(len)   (((len)+2+7)&~7)
 

Enumerations

enum  {
  __ND_OPT_PREFIX_INFO_END = 0, ND_OPT_SOURCE_LL_ADDR = 1, ND_OPT_TARGET_LL_ADDR = 2, ND_OPT_PREFIX_INFO = 3,
  ND_OPT_REDIRECT_HDR = 4, ND_OPT_MTU = 5, __ND_OPT_ARRAY_MAX, ND_OPT_ROUTE_INFO = 24,
  ND_OPT_RDNSS = 25, ND_OPT_DNSSL = 31, __ND_OPT_MAX
}
 

Functions

struct ndisc_optionsndisc_parse_options (u8 *opt, int opt_len, struct ndisc_options *ndopts)
 
int ndisc_init (void)
 
void ndisc_cleanup (void)
 
int ndisc_rcv (struct sk_buff *skb)
 
void ndisc_send_ns (struct net_device *dev, struct neighbour *neigh, const struct in6_addr *solicit, const struct in6_addr *daddr, const struct in6_addr *saddr)
 
void ndisc_send_rs (struct net_device *dev, const struct in6_addr *saddr, const struct in6_addr *daddr)
 
void ndisc_send_redirect (struct sk_buff *skb, const struct in6_addr *target)
 
int ndisc_mc_map (const struct in6_addr *addr, char *buf, struct net_device *dev, int dir)
 
struct sk_buffndisc_build_skb (struct net_device *dev, const struct in6_addr *daddr, const struct in6_addr *saddr, struct icmp6hdr *icmp6h, const struct in6_addr *target, int llinfo)
 
void ndisc_send_skb (struct sk_buff *skb, struct net_device *dev, struct neighbour *neigh, const struct in6_addr *daddr, const struct in6_addr *saddr, struct icmp6hdr *icmp6h)
 
int igmp6_init (void)
 
void igmp6_cleanup (void)
 
int igmp6_event_query (struct sk_buff *skb)
 
int igmp6_event_report (struct sk_buff *skb)
 
void inet6_ifinfo_notify (int event, struct inet6_dev *idev)
 

Variables

struct neigh_table nd_tbl
 
struct nd_opt_hdr __packed
 

Macro Definition Documentation

#define MAX_RTR_SOLICITATION_DELAY   HZ

Definition at line 41 of file ndisc.h.

#define nd_opts_mtu   nd_opt_array[ND_OPT_MTU]

Definition at line 102 of file ndisc.h.

#define nd_opts_pi   nd_opt_array[ND_OPT_PREFIX_INFO]

Definition at line 99 of file ndisc.h.

#define nd_opts_pi_end   nd_opt_array[__ND_OPT_PREFIX_INFO_END]

Definition at line 100 of file ndisc.h.

#define nd_opts_rh   nd_opt_array[ND_OPT_REDIRECT_HDR]

Definition at line 101 of file ndisc.h.

#define nd_opts_src_lladdr   nd_opt_array[ND_OPT_SOURCE_LL_ADDR]

Definition at line 97 of file ndisc.h.

#define nd_opts_tgt_lladdr   nd_opt_array[ND_OPT_TARGET_LL_ADDR]

Definition at line 98 of file ndisc.h.

#define ND_REACHABLE_TIME   (30*HZ)

Definition at line 43 of file ndisc.h.

#define ND_RETRANS_TIMER   HZ

Definition at line 44 of file ndisc.h.

#define NDISC_NEIGHBOUR_ADVERTISEMENT   136

Definition at line 11 of file ndisc.h.

#define NDISC_NEIGHBOUR_SOLICITATION   135

Definition at line 10 of file ndisc.h.

#define NDISC_NODETYPE_DEFAULT   3 /* default router */

Definition at line 21 of file ndisc.h.

#define NDISC_NODETYPE_HOST   1 /* host or unauthorized router */

Definition at line 19 of file ndisc.h.

#define NDISC_NODETYPE_NODEFAULT   2 /* non-default router */

Definition at line 20 of file ndisc.h.

#define NDISC_NODETYPE_UNSPEC   0 /* unspecified (default) */

Definition at line 18 of file ndisc.h.

#define NDISC_OPT_SPACE (   len)    (((len)+2+7)&~7)

Definition at line 104 of file ndisc.h.

#define NDISC_REDIRECT   137

Definition at line 12 of file ndisc.h.

#define NDISC_ROUTER_ADVERTISEMENT   134

Definition at line 9 of file ndisc.h.

#define NDISC_ROUTER_SOLICITATION   133

Definition at line 8 of file ndisc.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
__ND_OPT_PREFIX_INFO_END 
ND_OPT_SOURCE_LL_ADDR 
ND_OPT_TARGET_LL_ADDR 
ND_OPT_PREFIX_INFO 
ND_OPT_REDIRECT_HDR 
ND_OPT_MTU 
__ND_OPT_ARRAY_MAX 
ND_OPT_ROUTE_INFO 
ND_OPT_RDNSS 
ND_OPT_DNSSL 
__ND_OPT_MAX 

Definition at line 27 of file ndisc.h.

Function Documentation

void igmp6_cleanup ( void  )

Definition at line 2667 of file mcast.c.

int igmp6_event_query ( struct sk_buff skb)

Definition at line 1112 of file mcast.c.

int igmp6_event_report ( struct sk_buff skb)

Definition at line 1232 of file mcast.c.

int igmp6_init ( void  )

Definition at line 2662 of file mcast.c.

void inet6_ifinfo_notify ( int  event,
struct inet6_dev idev 
)

Definition at line 4099 of file addrconf.c.

struct sk_buff* ndisc_build_skb ( struct net_device dev,
const struct in6_addr daddr,
const struct in6_addr saddr,
struct icmp6hdr icmp6h,
const struct in6_addr target,
int  llinfo 
)
read

Definition at line 373 of file ndisc.c.

void ndisc_cleanup ( void  )

Definition at line 1722 of file ndisc.c.

int ndisc_init ( void  )

Definition at line 1689 of file ndisc.c.

int ndisc_mc_map ( const struct in6_addr addr,
char buf,
struct net_device dev,
int  dir 
)

Definition at line 266 of file ndisc.c.

struct ndisc_options* ndisc_parse_options ( u8 opt,
int  opt_len,
struct ndisc_options ndopts 
)
read

Definition at line 202 of file ndisc.c.

int ndisc_rcv ( struct sk_buff skb)

Definition at line 1523 of file ndisc.c.

void ndisc_send_ns ( struct net_device dev,
struct neighbour neigh,
const struct in6_addr solicit,
const struct in6_addr daddr,
const struct in6_addr saddr 
)

Definition at line 556 of file ndisc.c.

void ndisc_send_redirect ( struct sk_buff skb,
const struct in6_addr target 
)

Definition at line 1355 of file ndisc.c.

void ndisc_send_rs ( struct net_device dev,
const struct in6_addr saddr,
const struct in6_addr daddr 
)

Definition at line 577 of file ndisc.c.

void ndisc_send_skb ( struct sk_buff skb,
struct net_device dev,
struct neighbour neigh,
const struct in6_addr daddr,
const struct in6_addr saddr,
struct icmp6hdr icmp6h 
)

Definition at line 436 of file ndisc.c.

Variable Documentation

Definition at line 117 of file ndisc.c.