projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy...
[firefly-linux-kernel-4.4.55.git]
/
include
/
linux
/
skbuff.h
diff --git
a/include/linux/skbuff.h
b/include/linux/skbuff.h
index 42edce6abe2349fc428c6321f81af81578ca5cb2..4286d832166f1bf1d6a697d5063a48d60d502cca 100644
(file)
--- a/
include/linux/skbuff.h
+++ b/
include/linux/skbuff.h
@@
-137,6
+137,8
@@
struct skb_shared_info {
unsigned int nr_frags;
unsigned short tso_size;
unsigned short tso_segs;
unsigned int nr_frags;
unsigned short tso_size;
unsigned short tso_segs;
+ unsigned short ufo_size;
+ unsigned int ip6_frag_id;
struct sk_buff *frag_list;
skb_frag_t frags[MAX_SKB_FRAGS];
};
struct sk_buff *frag_list;
skb_frag_t frags[MAX_SKB_FRAGS];
};
@@
-155,8
+157,6
@@
struct skb_shared_info {
#define SKB_DATAREF_SHIFT 16
#define SKB_DATAREF_MASK ((1 << SKB_DATAREF_SHIFT) - 1)
#define SKB_DATAREF_SHIFT 16
#define SKB_DATAREF_MASK ((1 << SKB_DATAREF_SHIFT) - 1)
-extern struct timeval skb_tv_base;
-
struct skb_timeval {
u32 off_sec;
u32 off_usec;
struct skb_timeval {
u32 off_sec;
u32 off_usec;
@@
-173,9
+173,8
@@
enum {
* struct sk_buff - socket buffer
* @next: Next buffer in list
* @prev: Previous buffer in list
* struct sk_buff - socket buffer
* @next: Next buffer in list
* @prev: Previous buffer in list
- * @list: List we are on
* @sk: Socket we are owned by
* @sk: Socket we are owned by
- * @tstamp: Time we arrived
stored as offset to skb_tv_base
+ * @tstamp: Time we arrived
* @dev: Device we arrived on/are leaving by
* @input_dev: Device we arrived on
* @h: Transport layer header
* @dev: Device we arrived on/are leaving by
* @input_dev: Device we arrived on
* @h: Transport layer header
@@
-192,6
+191,7
@@
enum {
* @cloned: Head may be cloned (check refcnt to be sure)
* @nohdr: Payload reference only, must not modify header
* @pkt_type: Packet class
* @cloned: Head may be cloned (check refcnt to be sure)
* @nohdr: Payload reference only, must not modify header
* @pkt_type: Packet class
+ * @fclone: skbuff clone status
* @ip_summed: Driver fed us an IP checksum
* @priority: Packet queueing priority
* @users: User count - see {datagram,tcp}.c
* @ip_summed: Driver fed us an IP checksum
* @priority: Packet queueing priority
* @users: User count - see {datagram,tcp}.c
@@
-204,6
+204,7
@@
enum {
* @destructor: Destruct function
* @nfmark: Can be used for communication between hooks
* @nfct: Associated connection, if any
* @destructor: Destruct function
* @nfmark: Can be used for communication between hooks
* @nfct: Associated connection, if any
+ * @ipvs_property: skbuff is owned by ipvs
* @nfctinfo: Relationship of this skb to the connection
* @nf_bridge: Saved data about a bridged frame - see br_netfilter.c
* @tc_index: Traffic control index
* @nfctinfo: Relationship of this skb to the connection
* @nf_bridge: Saved data about a bridged frame - see br_netfilter.c
* @tc_index: Traffic control index
@@
-304,37
+305,37
@@
struct sk_buff {
extern void __kfree_skb(struct sk_buff *skb);
extern struct sk_buff *__alloc_skb(unsigned int size,
extern void __kfree_skb(struct sk_buff *skb);
extern struct sk_buff *__alloc_skb(unsigned int size,
-
unsigned int __nocas
t priority, int fclone);
+
gfp_
t priority, int fclone);
static inline struct sk_buff *alloc_skb(unsigned int size,
static inline struct sk_buff *alloc_skb(unsigned int size,
-
unsigned int __nocas
t priority)
+
gfp_
t priority)
{
return __alloc_skb(size, priority, 0);
}
static inline struct sk_buff *alloc_skb_fclone(unsigned int size,
{
return __alloc_skb(size, priority, 0);
}
static inline struct sk_buff *alloc_skb_fclone(unsigned int size,
-
unsigned int __nocas
t priority)
+
gfp_
t priority)
{
return __alloc_skb(size, priority, 1);
}
extern struct sk_buff *alloc_skb_from_cache(kmem_cache_t *cp,
unsigned int size,
{
return __alloc_skb(size, priority, 1);
}
extern struct sk_buff *alloc_skb_from_cache(kmem_cache_t *cp,
unsigned int size,
-
unsigned int __nocas
t priority);
+
gfp_
t priority);
extern void kfree_skbmem(struct sk_buff *skb);
extern struct sk_buff *skb_clone(struct sk_buff *skb,
extern void kfree_skbmem(struct sk_buff *skb);
extern struct sk_buff *skb_clone(struct sk_buff *skb,
-
unsigned int __nocas
t priority);
+
gfp_
t priority);
extern struct sk_buff *skb_copy(const struct sk_buff *skb,
extern struct sk_buff *skb_copy(const struct sk_buff *skb,
-
unsigned int __nocas
t priority);
+
gfp_
t priority);
extern struct sk_buff *pskb_copy(struct sk_buff *skb,
extern struct sk_buff *pskb_copy(struct sk_buff *skb,
-
unsigned int __nocas
t gfp_mask);
+
gfp_
t gfp_mask);
extern int pskb_expand_head(struct sk_buff *skb,
int nhead, int ntail,
extern int pskb_expand_head(struct sk_buff *skb,
int nhead, int ntail,
-
unsigned int __nocas
t gfp_mask);
+
gfp_
t gfp_mask);
extern struct sk_buff *skb_realloc_headroom(struct sk_buff *skb,
unsigned int headroom);
extern struct sk_buff *skb_copy_expand(const struct sk_buff *skb,
int newheadroom, int newtailroom,
extern struct sk_buff *skb_realloc_headroom(struct sk_buff *skb,
unsigned int headroom);
extern struct sk_buff *skb_copy_expand(const struct sk_buff *skb,
int newheadroom, int newtailroom,
-
unsigned int __nocas
t priority);
+
gfp_
t priority);
extern struct sk_buff * skb_pad(struct sk_buff *skb, int pad);
#define dev_kfree_skb(a) kfree_skb(a)
extern void skb_over_panic(struct sk_buff *skb, int len,
extern struct sk_buff * skb_pad(struct sk_buff *skb, int pad);
#define dev_kfree_skb(a) kfree_skb(a)
extern void skb_over_panic(struct sk_buff *skb, int len,
@@
-342,6
+343,11
@@
extern void skb_over_panic(struct sk_buff *skb, int len,
extern void skb_under_panic(struct sk_buff *skb, int len,
void *here);
extern void skb_under_panic(struct sk_buff *skb, int len,
void *here);
+extern int skb_append_datato_frags(struct sock *sk, struct sk_buff *skb,
+ int getfrag(void *from, char *to, int offset,
+ int len,int odd, struct sk_buff *skb),
+ void *from, int length);
+
struct skb_seq_state
{
__u32 lower_offset;
struct skb_seq_state
{
__u32 lower_offset;
@@
-486,7
+492,7
@@
static inline int skb_shared(const struct sk_buff *skb)
* NULL is returned on a memory allocation failure.
*/
static inline struct sk_buff *skb_share_check(struct sk_buff *skb,
* NULL is returned on a memory allocation failure.
*/
static inline struct sk_buff *skb_share_check(struct sk_buff *skb,
-
unsigned int __nocas
t pri)
+
gfp_
t pri)
{
might_sleep_if(pri & __GFP_WAIT);
if (skb_shared(skb)) {
{
might_sleep_if(pri & __GFP_WAIT);
if (skb_shared(skb)) {
@@
-518,7
+524,7
@@
static inline struct sk_buff *skb_share_check(struct sk_buff *skb,
* %NULL is returned on a memory allocation failure.
*/
static inline struct sk_buff *skb_unshare(struct sk_buff *skb,
* %NULL is returned on a memory allocation failure.
*/
static inline struct sk_buff *skb_unshare(struct sk_buff *skb,
-
unsigned int __nocas
t pri)
+
gfp_
t pri)
{
might_sleep_if(pri & __GFP_WAIT);
if (skb_cloned(skb)) {
{
might_sleep_if(pri & __GFP_WAIT);
if (skb_cloned(skb)) {
@@
-1019,7
+1025,7
@@
static inline void __skb_queue_purge(struct sk_buff_head *list)
* %NULL is returned in there is no free memory.
*/
static inline struct sk_buff *__dev_alloc_skb(unsigned int length,
* %NULL is returned in there is no free memory.
*/
static inline struct sk_buff *__dev_alloc_skb(unsigned int length,
-
unsigned int __nocas
t gfp_mask)
+
gfp_
t gfp_mask)
{
struct sk_buff *skb = alloc_skb(length + 16, gfp_mask);
if (likely(skb))
{
struct sk_buff *skb = alloc_skb(length + 16, gfp_mask);
if (likely(skb))
@@
-1132,8
+1138,8
@@
static inline int skb_can_coalesce(struct sk_buff *skb, int i,
* If there is no free memory -ENOMEM is returned, otherwise zero
* is returned and the old skb data released.
*/
* If there is no free memory -ENOMEM is returned, otherwise zero
* is returned and the old skb data released.
*/
-extern int __skb_linearize(struct sk_buff *skb,
unsigned int __nocas
t gfp);
-static inline int skb_linearize(struct sk_buff *skb,
unsigned int __nocas
t gfp)
+extern int __skb_linearize(struct sk_buff *skb,
gfp_
t gfp);
+static inline int skb_linearize(struct sk_buff *skb,
gfp_
t gfp)
{
return __skb_linearize(skb, gfp);
}
{
return __skb_linearize(skb, gfp);
}
@@
-1167,7
+1173,7
@@
static inline void skb_postpull_rcsum(struct sk_buff *skb,
static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len)
{
static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len)
{
- if (l
en >= skb->len
)
+ if (l
ikely(len >= skb->len)
)
return 0;
if (skb->ip_summed == CHECKSUM_HW)
skb->ip_summed = CHECKSUM_NONE;
return 0;
if (skb->ip_summed == CHECKSUM_HW)
skb->ip_summed = CHECKSUM_NONE;
@@
-1251,14
+1257,10
@@
extern void skb_add_mtu(int mtu);
* This function converts the offset back to a struct timeval and stores
* it in stamp.
*/
* This function converts the offset back to a struct timeval and stores
* it in stamp.
*/
-static inline void skb_get_timestamp(struct sk_buff *skb, struct timeval *stamp)
+static inline void skb_get_timestamp(
const
struct sk_buff *skb, struct timeval *stamp)
{
stamp->tv_sec = skb->tstamp.off_sec;
stamp->tv_usec = skb->tstamp.off_usec;
{
stamp->tv_sec = skb->tstamp.off_sec;
stamp->tv_usec = skb->tstamp.off_usec;
- if (skb->tstamp.off_sec) {
- stamp->tv_sec += skb_tv_base.tv_sec;
- stamp->tv_usec += skb_tv_base.tv_usec;
- }
}
/**
}
/**
@@
-1270,10
+1272,10
@@
static inline void skb_get_timestamp(struct sk_buff *skb, struct timeval *stamp)
* This function converts a struct timeval to an offset and stores
* it in the skb.
*/
* This function converts a struct timeval to an offset and stores
* it in the skb.
*/
-static inline void skb_set_timestamp(struct sk_buff *skb, struct timeval *stamp)
+static inline void skb_set_timestamp(struct sk_buff *skb,
const
struct timeval *stamp)
{
{
- skb->tstamp.off_sec = stamp->tv_sec
- skb_tv_base.tv_sec
;
- skb->tstamp.off_usec = stamp->tv_usec
- skb_tv_base.tv_usec
;
+ skb->tstamp.off_sec = stamp->tv_sec;
+ skb->tstamp.off_usec = stamp->tv_usec;
}
extern void __net_timestamp(struct sk_buff *skb);
}
extern void __net_timestamp(struct sk_buff *skb);