|
Linux Kernel
3.7.1
|
#include <linux/module.h>#include <linux/types.h>#include <linux/mm.h>#include <linux/skbuff.h>#include <linux/ip.h>#include <linux/icmp.h>#include <linux/inetdevice.h>#include <linux/netdevice.h>#include <linux/slab.h>#include <net/sock.h>#include <net/ip.h>#include <net/icmp.h>#include <net/tcp_states.h>#include <linux/udp.h>#include <linux/igmp.h>#include <linux/netfilter.h>#include <linux/route.h>#include <linux/mroute.h>#include <net/inet_ecn.h>#include <net/route.h>#include <net/xfrm.h>#include <net/compat.h>#include <net/ip_fib.h>#include <linux/errqueue.h>#include <asm/uaccess.h>Go to the source code of this file.
Macros | |
| #define | IP_CMSG_PKTINFO 1 |
| #define | IP_CMSG_TTL 2 |
| #define | IP_CMSG_TOS 4 |
| #define | IP_CMSG_RECVOPTS 8 |
| #define | IP_CMSG_RETOPTS 16 |
| #define | IP_CMSG_PASSSEC 32 |
| #define | IP_CMSG_ORIGDSTADDR 64 |
| #define | PKTINFO_SKB_CB(__skb) ((struct in_pktinfo *)((__skb)->cb)) |
Functions | |
| void | ip_cmsg_recv (struct msghdr *msg, struct sk_buff *skb) |
| EXPORT_SYMBOL (ip_cmsg_recv) | |
| int | ip_cmsg_send (struct net *net, struct msghdr *msg, struct ipcm_cookie *ipc) |
| int | ip_ra_control (struct sock *sk, unsigned char on, void(*destructor)(struct sock *)) |
| void | ip_icmp_error (struct sock *sk, struct sk_buff *skb, int err, __be16 port, u32 info, u8 *payload) |
| void | ip_local_error (struct sock *sk, int err, __be32 daddr, __be16 port, u32 info) |
| int | ip_recv_error (struct sock *sk, struct msghdr *msg, int len) |
| void | ipv4_pktinfo_prepare (struct sk_buff *skb) |
| int | ip_setsockopt (struct sock *sk, int level, int optname, char __user *optval, unsigned int optlen) |
| EXPORT_SYMBOL (ip_setsockopt) | |
| int | ip_getsockopt (struct sock *sk, int level, int optname, char __user *optval, int __user *optlen) |
| EXPORT_SYMBOL (ip_getsockopt) | |
Variables | |
| struct ip_ra_chain __rcu * | ip_ra_chain |
| #define IP_CMSG_ORIGDSTADDR 64 |
Definition at line 54 of file ip_sockglue.c.
| #define IP_CMSG_PASSSEC 32 |
Definition at line 53 of file ip_sockglue.c.
| #define IP_CMSG_PKTINFO 1 |
Definition at line 48 of file ip_sockglue.c.
| #define IP_CMSG_RECVOPTS 8 |
Definition at line 51 of file ip_sockglue.c.
| #define IP_CMSG_RETOPTS 16 |
Definition at line 52 of file ip_sockglue.c.
| #define IP_CMSG_TOS 4 |
Definition at line 50 of file ip_sockglue.c.
| #define IP_CMSG_TTL 2 |
Definition at line 49 of file ip_sockglue.c.
| #define PKTINFO_SKB_CB | ( | __skb | ) | ((struct in_pktinfo *)((__skb)->cb)) |
Definition at line 59 of file ip_sockglue.c.
| EXPORT_SYMBOL | ( | ip_cmsg_recv | ) |
| EXPORT_SYMBOL | ( | ip_setsockopt | ) |
| EXPORT_SYMBOL | ( | ip_getsockopt | ) |
Definition at line 148 of file ip_sockglue.c.
Definition at line 190 of file ip_sockglue.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 331 of file ip_sockglue.c.
Definition at line 248 of file ip_sockglue.c.
Definition at line 371 of file ip_sockglue.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.
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.
Definition at line 236 of file ip_sockglue.c.
1.8.2