Message ID | 20200929050302.28105-1-bigclouds@163.com |
---|---|
State | New |
Headers | show |
Series | ipvs: Add traffic statistic up even it is VS/DR or VS/TUN mode | expand |
especially in public cloud case, statistic is related to monitorring and billing , both ingress and egress packets will go throught ipvs, even dr/tun mode. in dr/tun mode, ipvs need to do nothing except statistic, so skb->ipvs_property = 1 regards On Tue, Sep 29, 2020 at 1:04 PM longguang.yue <bigclouds@163.com> wrote: > > It's ipvs's duty to do traffic statistic if packets get hit, > no matter what mode it is. > > Signed-off-by: longguang.yue <bigclouds@163.com> > --- > net/netfilter/ipvs/ip_vs_core.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c > index e3668a6e54e4..ed523057f07f 100644 > --- a/net/netfilter/ipvs/ip_vs_core.c > +++ b/net/netfilter/ipvs/ip_vs_core.c > @@ -1413,8 +1413,11 @@ ip_vs_out(struct netns_ipvs *ipvs, unsigned int hooknum, struct sk_buff *skb, in > ipvs, af, skb, &iph); > > if (likely(cp)) { > - if (IP_VS_FWD_METHOD(cp) != IP_VS_CONN_F_MASQ) > + if (IP_VS_FWD_METHOD(cp) != IP_VS_CONN_F_MASQ){ > + ip_vs_out_stats(cp, skb); > + skb->ipvs_property = 1; > goto ignore_cp; > + } > return handle_response(af, skb, pd, cp, &iph, hooknum); > } > > -- > 2.20.1 (Apple Git-117) >
diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c index e3668a6e54e4..ed523057f07f 100644 --- a/net/netfilter/ipvs/ip_vs_core.c +++ b/net/netfilter/ipvs/ip_vs_core.c @@ -1413,8 +1413,11 @@ ip_vs_out(struct netns_ipvs *ipvs, unsigned int hooknum, struct sk_buff *skb, in ipvs, af, skb, &iph); if (likely(cp)) { - if (IP_VS_FWD_METHOD(cp) != IP_VS_CONN_F_MASQ) + if (IP_VS_FWD_METHOD(cp) != IP_VS_CONN_F_MASQ){ + ip_vs_out_stats(cp, skb); + skb->ipvs_property = 1; goto ignore_cp; + } return handle_response(af, skb, pd, cp, &iph, hooknum); }
It's ipvs's duty to do traffic statistic if packets get hit, no matter what mode it is. Signed-off-by: longguang.yue <bigclouds@163.com> --- net/netfilter/ipvs/ip_vs_core.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)