diff options
| -rw-r--r-- | include/linux/skbuff.h | 7 | ||||
| -rw-r--r-- | net/core/skbuff.c | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 63c9d381e0d9..93431a42f2f9 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -2965,6 +2965,13 @@ static inline void nf_reset_trace(struct sk_buff *skb) #endif } +static inline void ipvs_reset(struct sk_buff *skb) +{ +#if IS_ENABLED(CONFIG_IP_VS) + skb->ipvs_property = 0; +#endif +} + /* Note: This doesn't put any conntrack and bridge info in dst. */ static inline void __nf_copy(struct sk_buff *dst, const struct sk_buff *src) { diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 8c5409067930..235c639d370b 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -3961,6 +3961,7 @@ void skb_scrub_packet(struct sk_buff *skb, bool xnet) if (!xnet) return; + ipvs_reset(skb); skb_orphan(skb); skb->mark = 0; } |
