From patchwork Tue Aug 4 01:43:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hangbin Liu X-Patchwork-Id: 1340630 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=fw2NW135; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BLHbG5pbKz9sTH for ; Tue, 4 Aug 2020 11:43:38 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729549AbgHDBni (ORCPT ); Mon, 3 Aug 2020 21:43:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52496 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729392AbgHDBnh (ORCPT ); Mon, 3 Aug 2020 21:43:37 -0400 Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com [IPv6:2607:f8b0:4864:20::102e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 34857C06174A; Mon, 3 Aug 2020 18:43:37 -0700 (PDT) Received: by mail-pj1-x102e.google.com with SMTP id t6so1146709pjr.0; Mon, 03 Aug 2020 18:43:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=AH7zLw8qsHodLT17RRP1PhLb6r0sISdu8pQBFafWkvQ=; b=fw2NW135+QBy/hIsRfe50n010YlxihK8YeeItsZ7K23AklhV40yEfFf0GOxXs6sH7a Rh0IHN0hW6FpVJJmYYOSfQ7rmy1r4PAN2blHRuhkRLvEPxjXC4saRV1FeJpzD/wJ+P6d SPTl7Bf5OrFqTbD+YIF8HBUbN9LLV4F/C7DIjnpahDKxGSjjpJM4UmzqcMRdeoA6D3uq nzRKhD8xjNdqoQl9rReW4ycigNixbR7jM8TBhWciGS8sMqWtU9Pjl//W4PKSxW51VMIO zGiONNOX3oMxQqrBanYXZazCqw9L1P265Z5edwBiY2IyMCTeFpHLOnF0330zxh0jrfZv Lesw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=AH7zLw8qsHodLT17RRP1PhLb6r0sISdu8pQBFafWkvQ=; b=mXZ02vFkWWBFQ/9mc4OJdQrHOvaDHkMIG+pFOPQ6nxqO0VDIfvogFwjpGDOb2c9U4X dg02GmJl5pma77+WXP9tDMuud1cjjfZ18l+qhBKwUcnicahtvTL/c/KeqbWIinmMU+Wo KYdOnQ9A9YH43KkavWR2WtVRs9s9UoBpWrk7k7fsuDxst1D79UtTIP17k7hn9cs2/BjH J/oXWVdQHh+er+TDOhPU2enMIpaSv5dIqsH0VztfJIZd1L9uofwLUlTFvqzX/51Wyqv5 iCSyxqqMCCvOfcHAPYjB+TOTLfE+7YJ0T+TkIfXVs2A4EsWDYPkEqOAqdiue+tJNDGJv OY0w== X-Gm-Message-State: AOAM532c/EPZMpD43JdKjuwim3g+G9ngmNLXoXozHdvL2ZRnDrpsM81S DRrNCVmE6NILyiOm27zSMuZ+rW01+Ww2dQ== X-Google-Smtp-Source: ABdhPJxXJVrzj6RDYMUn5/B7JfgCTfXB4BoyJVccfYD2XKZdSKA6n/14ZXZopSERv4SduuBumqmcUg== X-Received: by 2002:a17:90a:c58b:: with SMTP id l11mr2016997pjt.195.1596505416485; Mon, 03 Aug 2020 18:43:36 -0700 (PDT) Received: from dhcp-12-153.nay.redhat.com ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id p127sm20473494pfb.17.2020.08.03.18.43.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Aug 2020 18:43:36 -0700 (PDT) From: Hangbin Liu To: netdev@vger.kernel.org Cc: Guillaume Nault , Petr Machata , "David S . Miller" , Roopa Prabhu , David Ahern , Andreas Karis , stable@vger.kernel.org, Hangbin Liu Subject: [PATCHv2 net 1/2] net: add IP_DSCP_MASK Date: Tue, 4 Aug 2020 09:43:11 +0800 Message-Id: <20200804014312.549760-2-liuhangbin@gmail.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <20200804014312.549760-1-liuhangbin@gmail.com> References: <20200803080217.391850-1-liuhangbin@gmail.com> <20200804014312.549760-1-liuhangbin@gmail.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In RFC1349 it defined TOS field like 0 1 2 3 4 5 6 7 +-----+-----+-----+-----+-----+-----+-----+-----+ | PRECEDENCE | TOS | MBZ | +-----+-----+-----+-----+-----+-----+-----+-----+ But this has been obsoleted by RFC2474, and updated by RFC3168 later. Now the DS Field should be like 0 1 2 3 4 5 6 7 +-----+-----+-----+-----+-----+-----+-----+-----+ | DS FIELD, DSCP | ECN FIELD | +-----+-----+-----+-----+-----+-----+-----+-----+ DSCP: differentiated services codepoint ECN: Explicit Congestion Notification So the old IPTOS_TOS_MASK 0x1E should be updated. But since changed the value will break UAPI, let's add a new value IP_DSCP_MASK 0xFC as a replacement. v2: remove IP_DSCP() definition as it's duplicated with RT_DSCP(). Signed-off-by: Hangbin Liu --- include/uapi/linux/in_route.h | 1 + include/uapi/linux/ip.h | 1 + 2 files changed, 2 insertions(+) diff --git a/include/uapi/linux/in_route.h b/include/uapi/linux/in_route.h index 0cc2c23b47f8..26ba4efb054d 100644 --- a/include/uapi/linux/in_route.h +++ b/include/uapi/linux/in_route.h @@ -29,5 +29,6 @@ #define RTCF_NAT (RTCF_DNAT|RTCF_SNAT) #define RT_TOS(tos) ((tos)&IPTOS_TOS_MASK) +#define RT_DSCP(tos) ((tos)&IP_DSCP_MASK) #endif /* _LINUX_IN_ROUTE_H */ diff --git a/include/uapi/linux/ip.h b/include/uapi/linux/ip.h index e42d13b55cf3..699a86038b9f 100644 --- a/include/uapi/linux/ip.h +++ b/include/uapi/linux/ip.h @@ -38,6 +38,7 @@ #define IPTOS_PREC_PRIORITY 0x20 #define IPTOS_PREC_ROUTINE 0x00 +#define IP_DSCP_MASK 0xFC /* IP options */ #define IPOPT_COPY 0x80 From patchwork Tue Aug 4 01:43:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hangbin Liu X-Patchwork-Id: 1340632 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=Xsgq+NmG; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BLHbK6CFJz9sTC for ; Tue, 4 Aug 2020 11:43:41 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729560AbgHDBnl (ORCPT ); Mon, 3 Aug 2020 21:43:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52504 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729392AbgHDBnk (ORCPT ); Mon, 3 Aug 2020 21:43:40 -0400 Received: from mail-pg1-x52d.google.com (mail-pg1-x52d.google.com [IPv6:2607:f8b0:4864:20::52d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7415CC06174A; Mon, 3 Aug 2020 18:43:40 -0700 (PDT) Received: by mail-pg1-x52d.google.com with SMTP id j19so21217057pgm.11; Mon, 03 Aug 2020 18:43:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=YeiGHQyR4AqF4La/QUoG1J/KpGS+ZLk4viBcyvveCYY=; b=Xsgq+NmGgS4wI/ToaWfEfOuLC1eisyXE/YSZukldo5UrNj6TVErARg1VHjiFbupwBq WKf7xyoaKmDkwrl8pfSzNFndaEw+zuDr1eH4qNMjdq10SC43GCq/reD4M/iM8dknyhiA qrpqcz4o9T9steFQyWZps0p/mmVfNO+kPAECr8HHAnV2D5+jU4UHYczmiqWdz1RsHElL hQk6S+gLw+K6jk9V/mtOod7wIiJt1DF4EKAXiIF4mwCXKUCeEw0wkhuR1Mz782UmOP2q hH1kSsV87YVVtc+5TueHVPmkn5Ju1lyCYninnBLZcFjbq1OOMJEHffGTwfEK19RXbUsf n6JQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YeiGHQyR4AqF4La/QUoG1J/KpGS+ZLk4viBcyvveCYY=; b=LmfLanAyJfIXjQrpweRv4qotnlj4rg1ZlKEMJg1XQbHaSGKr0umB7Lj6bzsGpM6OFT 6YW6DKuyH5SKYvWVMtcbGZNI7OM/j6EY6MHhU0vJ6adp0Jzj4U82+OMsP48pe2nhEczf AAwpm1B0iuse4DPSNncquDt1e2vgyKW0qkZ0Zqa8hRYr8H0pKhtS3+MtqutYUCqi1AJg okB+Pp+PzNjy3rxWI3J74i7c45zWD8tS9Z6ds7uNKV1JcYKaD456fEqkP2r+gF0XUVcE A5ljK9k+SPsFfnWTJHXjZScAuUql/kFS/sUq64++bJPeEVvSxlTjnXOK/CB0JlCxXm6I YguA== X-Gm-Message-State: AOAM531sax+mr48DfI7OQb/WLLQ56bMR2tEmDjCiEeGbgsYWxlVGxx9O FOMGcjpOmVigP73w7MIm5aeHeW5/6WN8ig== X-Google-Smtp-Source: ABdhPJwwtrMcik4jpETxInG+6qmH8KetRy1yQL0IAQVHR3fcvg8cLx9KjiVs+ArKB3Jn1Mm8hsIdYw== X-Received: by 2002:a63:5509:: with SMTP id j9mr16859961pgb.195.1596505419874; Mon, 03 Aug 2020 18:43:39 -0700 (PDT) Received: from dhcp-12-153.nay.redhat.com ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id p127sm20473494pfb.17.2020.08.03.18.43.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Aug 2020 18:43:39 -0700 (PDT) From: Hangbin Liu To: netdev@vger.kernel.org Cc: Guillaume Nault , Petr Machata , "David S . Miller" , Roopa Prabhu , David Ahern , Andreas Karis , stable@vger.kernel.org, Hangbin Liu Subject: [PATCHv2 net 2/2] vxlan: fix getting tos value from DSCP field Date: Tue, 4 Aug 2020 09:43:12 +0800 Message-Id: <20200804014312.549760-3-liuhangbin@gmail.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <20200804014312.549760-1-liuhangbin@gmail.com> References: <20200803080217.391850-1-liuhangbin@gmail.com> <20200804014312.549760-1-liuhangbin@gmail.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In commit 71130f29979c ("vxlan: fix tos value before xmit") we strict the vxlan tos value before xmit. But as IP tos field has been obsoleted by RFC2474, and updated by RFC3168 later. We should use new DSCP field, or we will lost the first 3 bits value when xmit. Fixes: 71130f29979c ("vxlan: fix tos value before xmit") Signed-off-by: Hangbin Liu --- drivers/net/vxlan.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index a7c3939264b0..79488df4bc70 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -2722,7 +2722,7 @@ static void vxlan_xmit_one(struct sk_buff *skb, struct net_device *dev, ndst = &rt->dst; skb_tunnel_check_pmtu(skb, ndst, VXLAN_HEADROOM); - tos = ip_tunnel_ecn_encap(RT_TOS(tos), old_iph, skb); + tos = ip_tunnel_ecn_encap(RT_DSCP(tos), old_iph, skb); ttl = ttl ? : ip4_dst_hoplimit(&rt->dst); err = vxlan_build_skb(skb, ndst, sizeof(struct iphdr), vni, md, flags, udp_sum); @@ -2762,7 +2762,7 @@ static void vxlan_xmit_one(struct sk_buff *skb, struct net_device *dev, skb_tunnel_check_pmtu(skb, ndst, VXLAN6_HEADROOM); - tos = ip_tunnel_ecn_encap(RT_TOS(tos), old_iph, skb); + tos = ip_tunnel_ecn_encap(RT_DSCP(tos), old_iph, skb); ttl = ttl ? : ip6_dst_hoplimit(ndst); skb_scrub_packet(skb, xnet); err = vxlan_build_skb(skb, ndst, sizeof(struct ipv6hdr),