The commit is pushed to "branch-rh7-3.10.0-327.10.1.vz7.12.x-ovz" and will 
appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-327.10.1.vz7.12.3
------>
commit d02736fc7e9fa2d9c9c4bf4c696bf2a366e61c53
Author: Pavel Tikhomirov <ptikhomi...@virtuozzo.com>
Date:   Thu Mar 24 19:53:36 2016 +0400

    vzprivnet: Check for bridged skbs in privnet properly
    
    Port diff-vz-privnet-check-for-bridge-properly
      privnet: Check for bridged skbs in privnet properly
    
      The existing check for skb->nf_bridge is not good. This mark
      lives with an SKB till its death :(
    
      The better check is to make sure SKB came from not ip_forward ;)
    
      https://jira.sw.ru:9443/browse/PSBM-6635
    
      Ported from rhel5
    
    Signed-off-by: Pavel Tikhomirov <ptikhomi...@virtuozzo.com>
---
 net/ipv4/netfilter/ip_vzprivnet.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/net/ipv4/netfilter/ip_vzprivnet.c 
b/net/ipv4/netfilter/ip_vzprivnet.c
index cf08d22..d96043f 100644
--- a/net/ipv4/netfilter/ip_vzprivnet.c
+++ b/net/ipv4/netfilter/ip_vzprivnet.c
@@ -245,16 +245,17 @@ static unsigned int vzprivnet_hook(const struct 
nf_hook_ops *ops,
        struct dst_entry *dst;
        unsigned int pmark = VZPRIV_MARK_UNKNOWN;
 
-       if ((*pskb)->nf_bridge != NULL) {
-               if (!vzpn_handle_bridged)
-                       return NF_ACCEPT;
-               else
-                       return vzprivnet_classify(skb, 1);
-       }
-
        dst = skb_dst(skb);
-       if (dst != NULL)
+       if (dst != NULL) {
+               if (dst->input != ip_forward) { /* bridge */
+                       if (!vzpn_handle_bridged)
+                               return NF_ACCEPT;
+                       else
+                               return vzprivnet_classify(skb, 1);
+               }
+
                pmark = dst_pmark_get(dst);
+       }
 
        if (unlikely(pmark == VZPRIV_MARK_UNKNOWN)) {
                pmark = vzprivnet_classify(skb, 0);
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to