From 00ba5f3b155003640875b780d0f4ccd9274158c6 Mon Sep 17 00:00:00 2001 From: Jesse Gross Date: Sun, 24 Jan 2010 19:57:54 -0500 Subject: [PATCH] datapath: Transport port is not part of psuedoheader. While updating the checksum after changing the transport port, we indicated that this was a change to the psuedoheader. Since this is not the case, it could produce an incorrect checksum. --- datapath/actions.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/datapath/actions.c b/datapath/actions.c index a24abcae..53bf3efd 100644 --- a/datapath/actions.c +++ b/datapath/actions.c @@ -1,6 +1,6 @@ /* * Distributed under the terms of the GNU GPL version 2. - * Copyright (c) 2007, 2008, 2009 Nicira Networks. + * Copyright (c) 2007, 2008, 2009, 2010 Nicira Networks. * * Significant portions of this file may be copied from parts of the Linux * kernel, by Linus Torvalds and others. @@ -276,7 +276,7 @@ set_tp_port(struct sk_buff *skb, struct odp_flow_key *key, u16 old = *f; u16 new = a->tp_port; update_csum((u16*)(skb_transport_header(skb) + check_ofs), - skb, old, new, 1); + skb, old, new, 0); *f = new; } return skb; -- 2.30.2