LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

[PATCH ipvs-next] ipvs: Maintain all DSCP and ECN bits for ipv6 tun forw

To: <horms@xxxxxxxxxxxx>
Subject: [PATCH ipvs-next] ipvs: Maintain all DSCP and ECN bits for ipv6 tun forwarding
Cc: <lvs-devel@xxxxxxxxxxxxxxx>, Alex Gartrell <agartrell@xxxxxx>
From: <agartrell@xxxxxx>
Date: Wed, 16 Jul 2014 15:57:34 -0700
From: Alex Gartrell <agartrell@xxxxxx>

Previously, only the four high bits of the tclass were maintained in the
ipv6 case.  This matches the behavior of ipv4, though whether or not we
should reflect ECN bits may be up for debate.

Signed-off-by: Alex Gartrell <agartrell@xxxxxx>
Acked-by: Julian Anastasov <ja@xxxxxx>
---
 net/netfilter/ipvs/ip_vs_xmit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/netfilter/ipvs/ip_vs_xmit.c b/net/netfilter/ipvs/ip_vs_xmit.c
index c47444e..28ee592 100644
--- a/net/netfilter/ipvs/ip_vs_xmit.c
+++ b/net/netfilter/ipvs/ip_vs_xmit.c
@@ -967,8 +967,8 @@ ip_vs_tunnel_xmit_v6(struct sk_buff *skb, struct ip_vs_conn 
*cp,
        iph->nexthdr            =       IPPROTO_IPV6;
        iph->payload_len        =       old_iph->payload_len;
        be16_add_cpu(&iph->payload_len, sizeof(*old_iph));
-       iph->priority           =       old_iph->priority;
        memset(&iph->flow_lbl, 0, sizeof(iph->flow_lbl));
+       ipv6_change_dsfield(iph, 0, ipv6_get_dsfield(old_iph));
        iph->daddr = cp->daddr.in6;
        iph->saddr = saddr;
        iph->hop_limit          =       old_iph->hop_limit;
-- 
1.8.1

--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

<Prev in Thread] Current Thread [Next in Thread>