dst.h (4af358f81881e1d083a916c9269b5ac0936e180d) | dst.h (f6b72b6217f8c24f2a54988e58af858b4e66024d) |
---|---|
1/* 2 * net/dst.h Protocol independent destination cache definitions. 3 * 4 * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> 5 * 6 */ 7 8#ifndef _NET_DST_H --- 24 unchanged lines hidden (view full) --- 33 struct rcu_head rcu_head; 34 struct dst_entry *child; 35 struct net_device *dev; 36 struct dst_ops *ops; 37 unsigned long _metrics; 38 unsigned long expires; 39 struct dst_entry *path; 40 struct neighbour *neighbour; | 1/* 2 * net/dst.h Protocol independent destination cache definitions. 3 * 4 * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> 5 * 6 */ 7 8#ifndef _NET_DST_H --- 24 unchanged lines hidden (view full) --- 33 struct rcu_head rcu_head; 34 struct dst_entry *child; 35 struct net_device *dev; 36 struct dst_ops *ops; 37 unsigned long _metrics; 38 unsigned long expires; 39 struct dst_entry *path; 40 struct neighbour *neighbour; |
41 struct hh_cache *hh; | |
42#ifdef CONFIG_XFRM 43 struct xfrm_state *xfrm; 44#else 45 void *__pad1; 46#endif 47 int (*input)(struct sk_buff*); 48 int (*output)(struct sk_buff*); 49 | 41#ifdef CONFIG_XFRM 42 struct xfrm_state *xfrm; 43#else 44 void *__pad1; 45#endif 46 int (*input)(struct sk_buff*); 47 int (*output)(struct sk_buff*); 48 |
49 int flags; 50#define DST_HOST 0x0001 51#define DST_NOXFRM 0x0002 52#define DST_NOPOLICY 0x0004 53#define DST_NOHASH 0x0008 54#define DST_NOCACHE 0x0010 55#define DST_NOCOUNT 0x0020 56 |
|
50 short error; 51 short obsolete; 52 unsigned short header_len; /* more space at head required */ 53 unsigned short trailer_len; /* space to reserve at tail */ 54#ifdef CONFIG_IP_ROUTE_CLASSID 55 __u32 tclassid; 56#else 57 __u32 __pad2; 58#endif 59 60 /* 61 * Align __refcnt to a 64 bytes alignment 62 * (L1_CACHE_SIZE would be too much) 63 */ 64#ifdef CONFIG_64BIT | 57 short error; 58 short obsolete; 59 unsigned short header_len; /* more space at head required */ 60 unsigned short trailer_len; /* space to reserve at tail */ 61#ifdef CONFIG_IP_ROUTE_CLASSID 62 __u32 tclassid; 63#else 64 __u32 __pad2; 65#endif 66 67 /* 68 * Align __refcnt to a 64 bytes alignment 69 * (L1_CACHE_SIZE would be too much) 70 */ 71#ifdef CONFIG_64BIT |
65 long __pad_to_align_refcnt[1]; | 72 long __pad_to_align_refcnt[2]; |
66#endif 67 /* 68 * __refcnt wants to be on a different cache line from 69 * input/output/ops or performance tanks badly 70 */ 71 atomic_t __refcnt; /* client references */ 72 int __use; 73 unsigned long lastuse; | 73#endif 74 /* 75 * __refcnt wants to be on a different cache line from 76 * input/output/ops or performance tanks badly 77 */ 78 atomic_t __refcnt; /* client references */ 79 int __use; 80 unsigned long lastuse; |
74 int flags; 75#define DST_HOST 0x0001 76#define DST_NOXFRM 0x0002 77#define DST_NOPOLICY 0x0004 78#define DST_NOHASH 0x0008 79#define DST_NOCACHE 0x0010 80#define DST_NOCOUNT 0x0020 | |
81 union { 82 struct dst_entry *next; 83 struct rtable __rcu *rt_next; 84 struct rt6_info *rt6_next; 85 struct dn_route __rcu *dn_next; 86 }; 87}; 88 --- 349 unchanged lines hidden --- | 81 union { 82 struct dst_entry *next; 83 struct rtable __rcu *rt_next; 84 struct rt6_info *rt6_next; 85 struct dn_route __rcu *dn_next; 86 }; 87}; 88 --- 349 unchanged lines hidden --- |