Linux Kernel
3.7.1
|
#include <linux/types.h>
#include <linux/ip.h>
#include <linux/in.h>
#include <linux/skbuff.h>
#include <net/inet_sock.h>
#include <net/snmp.h>
#include <net/flow.h>
Go to the source code of this file.
Data Structures | |
struct | inet_skb_parm |
struct | ipcm_cookie |
struct | ip_ra_chain |
struct | ip_reply_arg |
struct | ipv4_config |
struct | local_ports |
Macros | |
#define | IPSKB_FORWARDED 1 |
#define | IPSKB_XFRM_TUNNEL_SIZE 2 |
#define | IPSKB_XFRM_TRANSFORMED 4 |
#define | IPSKB_FRAG_COMPLETE 8 |
#define | IPSKB_REROUTED 16 |
#define | IPCB(skb) ((struct inet_skb_parm*)((skb)->cb)) |
#define | IP_CE 0x8000 /* Flag: "Congestion" */ |
#define | IP_DF 0x4000 /* Flag: "Don't Fragment" */ |
#define | IP_MF 0x2000 /* Flag: "More Fragments" */ |
#define | IP_OFFSET 0x1FFF /* "Fragment Offset" part */ |
#define | IP_FRAG_TIME (30 * HZ) /* fragment lifetime */ |
#define | IP_REPLY_ARG_NOSRCCHECK 1 |
#define | IP_INC_STATS(net, field) SNMP_INC_STATS64((net)->mib.ip_statistics, field) |
#define | IP_INC_STATS_BH(net, field) SNMP_INC_STATS64_BH((net)->mib.ip_statistics, field) |
#define | IP_ADD_STATS(net, field, val) SNMP_ADD_STATS64((net)->mib.ip_statistics, field, val) |
#define | IP_ADD_STATS_BH(net, field, val) SNMP_ADD_STATS64_BH((net)->mib.ip_statistics, field, val) |
#define | IP_UPD_PO_STATS(net, field, val) SNMP_UPD_PO_STATS64((net)->mib.ip_statistics, field, val) |
#define | IP_UPD_PO_STATS_BH(net, field, val) SNMP_UPD_PO_STATS64_BH((net)->mib.ip_statistics, field, val) |
#define | NET_INC_STATS(net, field) SNMP_INC_STATS((net)->mib.net_statistics, field) |
#define | NET_INC_STATS_BH(net, field) SNMP_INC_STATS_BH((net)->mib.net_statistics, field) |
#define | NET_INC_STATS_USER(net, field) SNMP_INC_STATS_USER((net)->mib.net_statistics, field) |
#define | NET_ADD_STATS_BH(net, field, adnd) SNMP_ADD_STATS_BH((net)->mib.net_statistics, field, adnd) |
#define | NET_ADD_STATS_USER(net, field, adnd) SNMP_ADD_STATS_USER((net)->mib.net_statistics, field, adnd) |
Enumerations | |
enum | ip_defrag_users { IP_DEFRAG_LOCAL_DELIVER, IP_DEFRAG_CALL_RA_CHAIN, IP_DEFRAG_CONNTRACK_IN, __IP_DEFRAG_CONNTRACK_IN_END = IP_DEFRAG_CONNTRACK_IN + USHRT_MAX, IP_DEFRAG_CONNTRACK_OUT, __IP_DEFRAG_CONNTRACK_OUT_END = IP_DEFRAG_CONNTRACK_OUT + USHRT_MAX, IP_DEFRAG_CONNTRACK_BRIDGE_IN, __IP_DEFRAG_CONNTRACK_BRIDGE_IN = IP_DEFRAG_CONNTRACK_BRIDGE_IN + USHRT_MAX, IP_DEFRAG_VS_IN, IP_DEFRAG_VS_OUT, IP_DEFRAG_VS_FWD, IP_DEFRAG_AF_PACKET, IP_DEFRAG_MACVLAN } |
#define IP_INC_STATS | ( | net, | |
field | |||
) | SNMP_INC_STATS64((net)->mib.ip_statistics, field) |
#define IP_INC_STATS_BH | ( | net, | |
field | |||
) | SNMP_INC_STATS64_BH((net)->mib.ip_statistics, field) |
#define NET_ADD_STATS_BH | ( | net, | |
field, | |||
adnd | |||
) | SNMP_ADD_STATS_BH((net)->mib.net_statistics, field, adnd) |
#define NET_ADD_STATS_USER | ( | net, | |
field, | |||
adnd | |||
) | SNMP_ADD_STATS_USER((net)->mib.net_statistics, field, adnd) |
#define NET_INC_STATS | ( | net, | |
field | |||
) | SNMP_INC_STATS((net)->mib.net_statistics, field) |
#define NET_INC_STATS_BH | ( | net, | |
field | |||
) | SNMP_INC_STATS_BH((net)->mib.net_statistics, field) |
#define NET_INC_STATS_USER | ( | net, | |
field | |||
) | SNMP_INC_STATS_USER((net)->mib.net_statistics, field) |
enum ip_defrag_users |
Definition at line 94 of file ip_output.c.
|
read |
Definition at line 1267 of file ip_output.c.
int compat_ip_getsockopt | ( | struct sock * | sk, |
int | level, | ||
int | optname, | ||
char __user * | optval, | ||
int __user * | optlen | ||
) |
int compat_ip_setsockopt | ( | struct sock * | sk, |
int | level, | ||
int | optname, | ||
char __user * | optval, | ||
unsigned int | optlen | ||
) |
Definition at line 43 of file inet_connection_sock.c.
Definition at line 23 of file datagram.c.
int ip_append_data | ( | struct sock * | sk, |
struct flowi4 * | fl4, | ||
int | getfragvoid *from, char *to, int offset, int len, int odd, struct sk_buff *skb, | ||
void * | from, | ||
int | len, | ||
int | protolen, | ||
struct ipcm_cookie * | ipc, | ||
struct rtable ** | rt, | ||
unsigned int | flags | ||
) |
Definition at line 1083 of file ip_output.c.
ssize_t ip_append_page | ( | struct sock * | sk, |
struct flowi4 * | fl4, | ||
struct page * | page, | ||
int | offset, | ||
size_t | size, | ||
int | flags | ||
) |
Definition at line 1109 of file ip_output.c.
int ip_build_and_send_pkt | ( | struct sk_buff * | skb, |
struct sock * | sk, | ||
__be32 | saddr, | ||
__be32 | daddr, | ||
struct ip_options_rcu * | opt | ||
) |
Definition at line 129 of file ip_output.c.
Definition at line 152 of file ip_input.c.
Definition at line 148 of file ip_sockglue.c.
Definition at line 190 of file ip_sockglue.c.
Definition at line 1398 of file ip_output.c.
Definition at line 55 of file ip_forward.c.
Definition at line 561 of file ip_options.c.
Definition at line 123 of file ip_fragment.c.
Definition at line 118 of file ip_fragment.c.
Definition at line 450 of file ip_output.c.
int ip_generic_getfrag | ( | void * | from, |
char * | to, | ||
int | offset, | ||
int | len, | ||
int | odd, | ||
struct sk_buff * | skb | ||
) |
Definition at line 717 of file ip_output.c.
int ip_getsockopt | ( | struct sock * | sk, |
int | level, | ||
int | optname, | ||
char __user * | optval, | ||
int __user * | optlen | ||
) |
Definition at line 1340 of file ip_sockglue.c.
void ip_icmp_error | ( | struct sock * | sk, |
struct sk_buff * | skb, | ||
int | err, | ||
__be16 | port, | ||
u32 | info, | ||
u8 * | payload | ||
) |
Definition at line 302 of file ip_sockglue.c.
Definition at line 1536 of file ip_output.c.
Definition at line 252 of file ip_input.c.
Definition at line 331 of file ip_sockglue.c.
Definition at line 104 of file ip_output.c.
|
read |
Definition at line 1403 of file ip_output.c.
Definition at line 237 of file ip_output.c.
void ip_options_build | ( | struct sk_buff * | skb, |
struct ip_options * | opt, | ||
__be32 | daddr, | ||
struct rtable * | rt, | ||
int | is_frag | ||
) |
Definition at line 43 of file ip_options.c.
Definition at line 259 of file ip_options.c.
int ip_options_echo | ( | struct ip_options * | dopt, |
struct sk_buff * | skb | ||
) |
Definition at line 90 of file ip_options.c.
Definition at line 213 of file ip_options.c.
int ip_options_get | ( | struct net * | net, |
struct ip_options_rcu ** | optp, | ||
unsigned char * | data, | ||
int | optlen | ||
) |
Definition at line 549 of file ip_options.c.
int ip_options_get_from_user | ( | struct net * | net, |
struct ip_options_rcu ** | optp, | ||
unsigned char __user * | data, | ||
int | optlen | ||
) |
Definition at line 535 of file ip_options.c.
Definition at line 608 of file ip_options.c.
void ip_options_undo | ( | struct ip_options * | opt | ) |
Definition at line 487 of file ip_options.c.
Definition at line 298 of file ip_output.c.
Definition at line 1371 of file ip_output.c.
Definition at line 326 of file ip_output.c.
Definition at line 248 of file ip_sockglue.c.
int ip_rcv | ( | struct sk_buff * | skb, |
struct net_device * | dev, | ||
struct packet_type * | pt, | ||
struct net_device * | orig_dev | ||
) |
Definition at line 383 of file ip_input.c.
Definition at line 371 of file ip_sockglue.c.
Definition at line 87 of file ip_output.c.
Definition at line 1356 of file ip_output.c.
void ip_send_unicast_reply | ( | struct net * | net, |
struct sk_buff * | skb, | ||
__be32 | daddr, | ||
__be32 | saddr, | ||
const struct ip_reply_arg * | arg, | ||
unsigned int | len | ||
) |
Definition at line 1470 of file ip_output.c.
int ip_setsockopt | ( | struct sock * | sk, |
int | level, | ||
int | optname, | ||
char __user * | optval, | ||
unsigned int | optlen | ||
) |
Definition at line 1050 of file ip_sockglue.c.
Definition at line 881 of file ip_fragment.c.
ipv4_pktinfo_prepare - transfert some info from rtable to skb : socket : buffer
To support IP_CMSG_PKTINFO option, we store rt_iif and specific destination in skb->cb[] before dst drop. This way, receiver doesnt make cache line misses to read rtable.
Definition at line 1036 of file ip_sockglue.c.
int inet_peer_maxttl |
int inet_peer_minttl |
int inet_peer_threshold |
Definition at line 236 of file ip_sockglue.c.
int sysctl_ip_dynaddr |
int sysctl_ip_early_demux |
int sysctl_ip_nonlocal_bind |
struct local_ports sysctl_local_ports |
unsigned long* sysctl_local_reserved_ports |
Definition at line 40 of file inet_connection_sock.c.