Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Several cases of overlapping changes, as well as one instance (vxlan) of a bug fix in 'net' overlapping with code movement in 'net-next'. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -1981,6 +1981,30 @@ static inline void skb_reserve(struct sk_buff *skb, int len)
|
||||
skb->tail += len;
|
||||
}
|
||||
|
||||
/**
|
||||
* skb_tailroom_reserve - adjust reserved_tailroom
|
||||
* @skb: buffer to alter
|
||||
* @mtu: maximum amount of headlen permitted
|
||||
* @needed_tailroom: minimum amount of reserved_tailroom
|
||||
*
|
||||
* Set reserved_tailroom so that headlen can be as large as possible but
|
||||
* not larger than mtu and tailroom cannot be smaller than
|
||||
* needed_tailroom.
|
||||
* The required headroom should already have been reserved before using
|
||||
* this function.
|
||||
*/
|
||||
static inline void skb_tailroom_reserve(struct sk_buff *skb, unsigned int mtu,
|
||||
unsigned int needed_tailroom)
|
||||
{
|
||||
SKB_LINEAR_ASSERT(skb);
|
||||
if (mtu < skb_tailroom(skb) - needed_tailroom)
|
||||
/* use at most mtu */
|
||||
skb->reserved_tailroom = skb_tailroom(skb) - mtu;
|
||||
else
|
||||
/* use up to all available space */
|
||||
skb->reserved_tailroom = needed_tailroom;
|
||||
}
|
||||
|
||||
#define ENCAP_TYPE_ETHER 0
|
||||
#define ENCAP_TYPE_IPPROTO 1
|
||||
|
||||
|
Reference in New Issue
Block a user