Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions | Variables
flow.h File Reference
#include <linux/socket.h>
#include <linux/in6.h>
#include <linux/atomic.h>

Go to the source code of this file.

Data Structures

struct  flowi_common
 
union  flowi_uli
 
struct  flowi4
 
struct  flowi6
 
struct  flowidn
 
struct  flowi
 
struct  flow_cache_object
 
struct  flow_cache_ops
 

Macros

#define FLOWI_FLAG_ANYSRC   0x01
 
#define FLOWI_FLAG_CAN_SLEEP   0x02
 
#define FLOWI_FLAG_KNOWN_NH   0x04
 
#define flowi4_oif   __fl_common.flowic_oif
 
#define flowi4_iif   __fl_common.flowic_iif
 
#define flowi4_mark   __fl_common.flowic_mark
 
#define flowi4_tos   __fl_common.flowic_tos
 
#define flowi4_scope   __fl_common.flowic_scope
 
#define flowi4_proto   __fl_common.flowic_proto
 
#define flowi4_flags   __fl_common.flowic_flags
 
#define flowi4_secid   __fl_common.flowic_secid
 
#define fl4_sport   uli.ports.sport
 
#define fl4_dport   uli.ports.dport
 
#define fl4_icmp_type   uli.icmpt.type
 
#define fl4_icmp_code   uli.icmpt.code
 
#define fl4_ipsec_spi   uli.spi
 
#define fl4_mh_type   uli.mht.type
 
#define fl4_gre_key   uli.gre_key
 
#define flowi6_oif   __fl_common.flowic_oif
 
#define flowi6_iif   __fl_common.flowic_iif
 
#define flowi6_mark   __fl_common.flowic_mark
 
#define flowi6_tos   __fl_common.flowic_tos
 
#define flowi6_scope   __fl_common.flowic_scope
 
#define flowi6_proto   __fl_common.flowic_proto
 
#define flowi6_flags   __fl_common.flowic_flags
 
#define flowi6_secid   __fl_common.flowic_secid
 
#define fl6_sport   uli.ports.sport
 
#define fl6_dport   uli.ports.dport
 
#define fl6_icmp_type   uli.icmpt.type
 
#define fl6_icmp_code   uli.icmpt.code
 
#define fl6_ipsec_spi   uli.spi
 
#define fl6_mh_type   uli.mht.type
 
#define fl6_gre_key   uli.gre_key
 
#define flowidn_oif   __fl_common.flowic_oif
 
#define flowidn_iif   __fl_common.flowic_iif
 
#define flowidn_mark   __fl_common.flowic_mark
 
#define flowidn_scope   __fl_common.flowic_scope
 
#define flowidn_proto   __fl_common.flowic_proto
 
#define flowidn_flags   __fl_common.flowic_flags
 
#define fld_sport   uli.ports.sport
 
#define fld_dport   uli.ports.dport
 
#define flowi_oif   u.__fl_common.flowic_oif
 
#define flowi_iif   u.__fl_common.flowic_iif
 
#define flowi_mark   u.__fl_common.flowic_mark
 
#define flowi_tos   u.__fl_common.flowic_tos
 
#define flowi_scope   u.__fl_common.flowic_scope
 
#define flowi_proto   u.__fl_common.flowic_proto
 
#define flowi_flags   u.__fl_common.flowic_flags
 
#define flowi_secid   u.__fl_common.flowic_secid
 
#define FLOW_DIR_IN   0
 
#define FLOW_DIR_OUT   1
 
#define FLOW_DIR_FWD   2
 

Typedefs

typedef unsigned long flow_compare_t
 
typedef struct
flow_cache_object *(* 
flow_resolve_t )(struct net *net, const struct flowi *key, u16 family, u8 dir, struct flow_cache_object *oldobj, void *ctx)
 

Functions

struct flowi4 __attribute__ ((__aligned__(BITS_PER_LONG/8)))
 
struct flow_cache_objectflow_cache_lookup (struct net *net, const struct flowi *key, u16 family, u8 dir, flow_resolve_t resolver, void *ctx)
 
void flow_cache_flush (void)
 
void flow_cache_flush_deferred (void)
 

Variables

struct flowi_common __fl_common
 
__be32 saddr
 
__be32 daddr
 
union flowi_uli uli
 
__be32 flowlabel
 
union {
   struct flowi_common   __fl_common
 
   struct flowi4   ip4
 
   struct flowi6   ip6
 
   struct flowidn   dn
 
u
 
struct flow_cache_object __attribute__
 
atomic_t flow_cache_genid
 

Macro Definition Documentation

#define fl4_dport   uli.ports.dport

Definition at line 92 of file flow.h.

#define fl4_gre_key   uli.gre_key

Definition at line 97 of file flow.h.

#define fl4_icmp_code   uli.icmpt.code

Definition at line 94 of file flow.h.

#define fl4_icmp_type   uli.icmpt.type

Definition at line 93 of file flow.h.

#define fl4_ipsec_spi   uli.spi

Definition at line 95 of file flow.h.

#define fl4_mh_type   uli.mht.type

Definition at line 96 of file flow.h.

#define fl4_sport   uli.ports.sport

Definition at line 91 of file flow.h.

#define fl6_dport   uli.ports.dport

Definition at line 144 of file flow.h.

#define fl6_gre_key   uli.gre_key

Definition at line 149 of file flow.h.

#define fl6_icmp_code   uli.icmpt.code

Definition at line 146 of file flow.h.

#define fl6_icmp_type   uli.icmpt.type

Definition at line 145 of file flow.h.

#define fl6_ipsec_spi   uli.spi

Definition at line 147 of file flow.h.

#define fl6_mh_type   uli.mht.type

Definition at line 148 of file flow.h.

#define fl6_sport   uli.ports.sport

Definition at line 143 of file flow.h.

#define fld_dport   uli.ports.dport

Definition at line 156 of file flow.h.

#define fld_sport   uli.ports.sport

Definition at line 155 of file flow.h.

#define FLOW_DIR_FWD   2

Definition at line 198 of file flow.h.

#define FLOW_DIR_IN   0

Definition at line 196 of file flow.h.

#define FLOW_DIR_OUT   1

Definition at line 197 of file flow.h.

#define flowi4_flags   __fl_common.flowic_flags

Definition at line 83 of file flow.h.

#define flowi4_iif   __fl_common.flowic_iif

Definition at line 78 of file flow.h.

#define flowi4_mark   __fl_common.flowic_mark

Definition at line 79 of file flow.h.

#define flowi4_oif   __fl_common.flowic_oif

Definition at line 77 of file flow.h.

#define flowi4_proto   __fl_common.flowic_proto

Definition at line 82 of file flow.h.

#define flowi4_scope   __fl_common.flowic_scope

Definition at line 81 of file flow.h.

#define flowi4_secid   __fl_common.flowic_secid

Definition at line 84 of file flow.h.

#define flowi4_tos   __fl_common.flowic_tos

Definition at line 80 of file flow.h.

#define flowi6_flags   __fl_common.flowic_flags

Definition at line 137 of file flow.h.

#define flowi6_iif   __fl_common.flowic_iif

Definition at line 132 of file flow.h.

#define flowi6_mark   __fl_common.flowic_mark

Definition at line 133 of file flow.h.

#define flowi6_oif   __fl_common.flowic_oif

Definition at line 131 of file flow.h.

#define flowi6_proto   __fl_common.flowic_proto

Definition at line 136 of file flow.h.

#define flowi6_scope   __fl_common.flowic_scope

Definition at line 135 of file flow.h.

#define flowi6_secid   __fl_common.flowic_secid

Definition at line 138 of file flow.h.

#define flowi6_tos   __fl_common.flowic_tos

Definition at line 134 of file flow.h.

#define FLOWI_FLAG_ANYSRC   0x01

Definition at line 22 of file flow.h.

#define FLOWI_FLAG_CAN_SLEEP   0x02

Definition at line 23 of file flow.h.

#define FLOWI_FLAG_KNOWN_NH   0x04

Definition at line 24 of file flow.h.

#define flowi_flags   u.__fl_common.flowic_flags

Definition at line 174 of file flow.h.

#define flowi_iif   u.__fl_common.flowic_iif

Definition at line 169 of file flow.h.

#define flowi_mark   u.__fl_common.flowic_mark

Definition at line 170 of file flow.h.

#define flowi_oif   u.__fl_common.flowic_oif

Definition at line 168 of file flow.h.

#define flowi_proto   u.__fl_common.flowic_proto

Definition at line 173 of file flow.h.

#define flowi_scope   u.__fl_common.flowic_scope

Definition at line 172 of file flow.h.

#define flowi_secid   u.__fl_common.flowic_secid

Definition at line 175 of file flow.h.

#define flowi_tos   u.__fl_common.flowic_tos

Definition at line 171 of file flow.h.

#define flowidn_flags   __fl_common.flowic_flags

Definition at line 151 of file flow.h.

#define flowidn_iif   __fl_common.flowic_iif

Definition at line 147 of file flow.h.

#define flowidn_mark   __fl_common.flowic_mark

Definition at line 148 of file flow.h.

#define flowidn_oif   __fl_common.flowic_oif

Definition at line 146 of file flow.h.

#define flowidn_proto   __fl_common.flowic_proto

Definition at line 150 of file flow.h.

#define flowidn_scope   __fl_common.flowic_scope

Definition at line 149 of file flow.h.

Typedef Documentation

typedef unsigned long flow_compare_t

Definition at line 178 of file flow.h.

typedef struct flow_cache_object*(* flow_resolve_t)(struct net *net, const struct flowi *key, u16 family, u8 dir, struct flow_cache_object *oldobj, void *ctx)
read

Definition at line 214 of file flow.h.

Function Documentation

struct flowi4 __attribute__ ( (__aligned__(BITS_PER_LONG/8))  )
void flow_cache_flush ( void  )

Definition at line 339 of file flow.c.

void flow_cache_flush_deferred ( void  )

Definition at line 368 of file flow.c.

struct flow_cache_object* flow_cache_lookup ( struct net net,
const struct flowi key,
u16  family,
u8  dir,
flow_resolve_t  resolver,
void ctx 
)
read

Definition at line 208 of file flow.c.

Variable Documentation

struct flowi_common __fl_common

Definition at line 76 of file flow.h.

__le16 daddr

Definition at line 88 of file flow.h.

Definition at line 166 of file flow.h.

atomic_t flow_cache_genid

Definition at line 64 of file flow.c.

__be32 flowlabel

Definition at line 141 of file flow.h.

Definition at line 164 of file flow.h.

Definition at line 165 of file flow.h.

__le16 saddr

Definition at line 87 of file flow.h.

union { ... } u
union flowi_uli uli

Definition at line 90 of file flow.h.