Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
route.c File Reference
#include <linux/module.h>
#include <asm/uaccess.h>
#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/string.h>
#include <linux/socket.h>
#include <linux/sockios.h>
#include <linux/errno.h>
#include <linux/in.h>
#include <linux/inet.h>
#include <linux/netdevice.h>
#include <linux/proc_fs.h>
#include <linux/init.h>
#include <linux/skbuff.h>
#include <linux/inetdevice.h>
#include <linux/igmp.h>
#include <linux/pkt_sched.h>
#include <linux/mroute.h>
#include <linux/netfilter_ipv4.h>
#include <linux/random.h>
#include <linux/rcupdate.h>
#include <linux/times.h>
#include <linux/slab.h>
#include <net/dst.h>
#include <net/net_namespace.h>
#include <net/protocol.h>
#include <net/ip.h>
#include <net/route.h>
#include <net/inetpeer.h>
#include <net/sock.h>
#include <net/ip_fib.h>
#include <net/arp.h>
#include <net/tcp.h>
#include <net/icmp.h>
#include <net/xfrm.h>
#include <net/netevent.h>
#include <net/rtnetlink.h>
#include <net/secure_seq.h>

Go to the source code of this file.

Macros

#define pr_fmt(fmt)   "IPv4: " fmt
 
#define RT_FL_TOS(oldflp4)   ((oldflp4)->flowi4_tos & (IPTOS_RT_MASK | RTO_ONLINK))
 
#define IP_MAX_MTU   0xFFF0
 
#define RT_GC_TIMEOUT   (300*HZ)
 
#define ECN_OR_COST(class)   TC_PRIO_##class
 
#define RT_CACHE_STAT_INC(field)   __this_cpu_inc(rt_cache_stat.field)
 

Functions

 EXPORT_SYMBOL (ip_tos2prio)
 
void rt_cache_flush (struct net *net)
 
void __ip_select_ident (struct iphdr *iph, struct dst_entry *dst, int more)
 
 EXPORT_SYMBOL (__ip_select_ident)
 
void ip_rt_send_redirect (struct sk_buff *skb)
 
void ipv4_update_pmtu (struct sk_buff *skb, struct net *net, u32 mtu, int oif, u32 mark, u8 protocol, int flow_flags)
 
 EXPORT_SYMBOL_GPL (ipv4_update_pmtu)
 
void ipv4_sk_update_pmtu (struct sk_buff *skb, struct sock *sk, u32 mtu)
 
 EXPORT_SYMBOL_GPL (ipv4_sk_update_pmtu)
 
void ipv4_redirect (struct sk_buff *skb, struct net *net, int oif, u32 mark, u8 protocol, int flow_flags)
 
 EXPORT_SYMBOL_GPL (ipv4_redirect)
 
void ipv4_sk_redirect (struct sk_buff *skb, struct sock *sk)
 
 EXPORT_SYMBOL_GPL (ipv4_sk_redirect)
 
void ip_rt_get_source (u8 *addr, struct sk_buff *skb, struct rtable *rt)
 
void rt_flush_dev (struct net_device *dev)
 
int ip_route_input_noref (struct sk_buff *skb, __be32 daddr, __be32 saddr, u8 tos, struct net_device *dev)
 
 EXPORT_SYMBOL (ip_route_input_noref)
 
struct rtable__ip_route_output_key (struct net *net, struct flowi4 *fl4)
 
 EXPORT_SYMBOL_GPL (__ip_route_output_key)
 
struct dst_entryipv4_blackhole_route (struct net *net, struct dst_entry *dst_orig)
 
struct rtableip_route_output_flow (struct net *net, struct flowi4 *flp4, struct sock *sk)
 
 EXPORT_SYMBOL_GPL (ip_route_output_flow)
 
int ip_rt_dump (struct sk_buff *skb, struct netlink_callback *cb)
 
void ip_rt_multicast_event (struct in_device *in_dev)
 
int __init ip_rt_init (void)
 

Variables

const __u8 ip_tos2prio [16]
 

Macro Definition Documentation

#define ECN_OR_COST (   class)    TC_PRIO_##class

Definition at line 180 of file route.c.

#define IP_MAX_MTU   0xFFF0

Definition at line 115 of file route.c.

#define pr_fmt (   fmt)    "IPv4: " fmt

Definition at line 65 of file route.c.

#define RT_CACHE_STAT_INC (   field)    __this_cpu_inc(rt_cache_stat.field)

Definition at line 203 of file route.c.

#define RT_FL_TOS (   oldflp4)    ((oldflp4)->flowi4_tos & (IPTOS_RT_MASK | RTO_ONLINK))

Definition at line 112 of file route.c.

#define RT_GC_TIMEOUT   (300*HZ)

Definition at line 117 of file route.c.

Function Documentation

struct rtable* __ip_route_output_key ( struct net net,
struct flowi4 fl4 
)
read

Definition at line 1883 of file route.c.

void __ip_select_ident ( struct iphdr iph,
struct dst_entry dst,
int  more 
)

Definition at line 491 of file route.c.

EXPORT_SYMBOL ( ip_tos2prio  )
EXPORT_SYMBOL ( __ip_select_ident  )
EXPORT_SYMBOL ( ip_route_input_noref  )
EXPORT_SYMBOL_GPL ( ipv4_update_pmtu  )
EXPORT_SYMBOL_GPL ( ipv4_sk_update_pmtu  )
EXPORT_SYMBOL_GPL ( ipv4_redirect  )
EXPORT_SYMBOL_GPL ( ipv4_sk_redirect  )
EXPORT_SYMBOL_GPL ( __ip_route_output_key  )
EXPORT_SYMBOL_GPL ( ip_route_output_flow  )
int ip_route_input_noref ( struct sk_buff skb,
__be32  daddr,
__be32  saddr,
u8  tos,
struct net_device dev 
)

Definition at line 1711 of file route.c.

struct rtable* ip_route_output_flow ( struct net net,
struct flowi4 flp4,
struct sock sk 
)
read

Definition at line 2141 of file route.c.

int ip_rt_dump ( struct sk_buff skb,
struct netlink_callback cb 
)

Definition at line 2346 of file route.c.

void ip_rt_get_source ( u8 addr,
struct sk_buff skb,
struct rtable rt 
)

Definition at line 1059 of file route.c.

int __init ip_rt_init ( void  )

Definition at line 2571 of file route.c.

void ip_rt_multicast_event ( struct in_device *  in_dev)

Definition at line 2351 of file route.c.

void ip_rt_send_redirect ( struct sk_buff skb)

Definition at line 785 of file route.c.

struct dst_entry* ipv4_blackhole_route ( struct net net,
struct dst_entry dst_orig 
)
read

Definition at line 2104 of file route.c.

void ipv4_redirect ( struct sk_buff skb,
struct net net,
int  oif,
u32  mark,
u8  protocol,
int  flow_flags 
)

Definition at line 980 of file route.c.

void ipv4_sk_redirect ( struct sk_buff skb,
struct sock sk 
)

Definition at line 997 of file route.c.

void ipv4_sk_update_pmtu ( struct sk_buff skb,
struct sock sk,
u32  mtu 
)

Definition at line 965 of file route.c.

void ipv4_update_pmtu ( struct sk_buff skb,
struct net net,
u32  mtu,
int  oif,
u32  mark,
u8  protocol,
int  flow_flags 
)

Definition at line 948 of file route.c.

void rt_cache_flush ( struct net net)

Definition at line 445 of file route.c.

void rt_flush_dev ( struct net_device dev)

Definition at line 1243 of file route.c.

Variable Documentation

const __u8 ip_tos2prio[16]
Initial value:

Definition at line 182 of file route.c.