提交 e79e2595 编写于 作者: J Joe Stringer 提交者: David S. Miller

dst: Add __skb_dst_copy() variation

This variation on skb_dst_copy() doesn't require two skbs.
Signed-off-by: NJoe Stringer <joestringer@nicira.com>
Acked-by: NPravin B Shelar <pshelar@nicira.com>
Acked-by: NThomas Graf <tgraf@suug.ch>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 5b490047
...@@ -289,13 +289,18 @@ static inline void skb_dst_drop(struct sk_buff *skb) ...@@ -289,13 +289,18 @@ static inline void skb_dst_drop(struct sk_buff *skb)
} }
} }
static inline void skb_dst_copy(struct sk_buff *nskb, const struct sk_buff *oskb) static inline void __skb_dst_copy(struct sk_buff *nskb, unsigned long refdst)
{ {
nskb->_skb_refdst = oskb->_skb_refdst; nskb->_skb_refdst = refdst;
if (!(nskb->_skb_refdst & SKB_DST_NOREF)) if (!(nskb->_skb_refdst & SKB_DST_NOREF))
dst_clone(skb_dst(nskb)); dst_clone(skb_dst(nskb));
} }
static inline void skb_dst_copy(struct sk_buff *nskb, const struct sk_buff *oskb)
{
__skb_dst_copy(nskb, oskb->_skb_refdst);
}
/** /**
* skb_dst_force - makes sure skb dst is refcounted * skb_dst_force - makes sure skb dst is refcounted
* @skb: buffer * @skb: buffer
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册