[{"id":1772907,"web_url":"http://patchwork.ozlabs.org/comment/1772907/","msgid":"<20170921081010.4d6f5731@xeon-e3>","list_archive_url":null,"date":"2017-09-21T15:10:10","subject":"Re: [net-next 2/2] ifb: add device MTU validation check","submitter":{"id":21389,"url":"http://patchwork.ozlabs.org/api/people/21389/","name":"Stephen Hemminger","email":"stephen@networkplumber.org"},"content":"On Thu, 21 Sep 2017 21:32:02 +0800\nZhang Shengju <zhangshengju@cmss.chinamobile.com> wrote:\n\n> Currently, any mtu value can be assigned when adding a new ifb device:\n> [~]# ip link add name ifb2 mtu 100000 type ifb\n> [~]# ip link show ifb2\n> 18: ifb2: <BROADCAST,NOARP> mtu 100000 qdisc noop state DOWN mode DEFAULT group default qlen 32\n>     link/ether 7a:bf:f4:63:da:d1 brd ff:ff:ff:ff:ff:ff\n> \n> This patch adds device MTU validation check.\n> \n> Signed-off-by: Zhang Shengju <zhangshengju@cmss.chinamobile.com>\n> ---\n>  drivers/net/ifb.c | 8 ++++++++\n>  1 file changed, 8 insertions(+)\n> \n> diff --git a/drivers/net/ifb.c b/drivers/net/ifb.c\n> index 8870bd2..ce84ad2 100644\n> --- a/drivers/net/ifb.c\n> +++ b/drivers/net/ifb.c\n> @@ -282,6 +282,14 @@ static int ifb_validate(struct nlattr *tb[], struct nlattr *data[],\n>  \t\tif (!is_valid_ether_addr(nla_data(tb[IFLA_ADDRESS])))\n>  \t\t\treturn -EADDRNOTAVAIL;\n>  \t}\n> +\n> +\tif (tb[IFLA_MTU]) {\n> +\t\tu32 mtu = nla_get_u32(tb[IFLA_MTU]);\n> +\n> +\t\tif (mtu < ETH_MIN_MTU || mtu > ETH_DATA_LEN)\n> +\t\t\treturn -EINVAL;\n> +\t}\n> +\n>  \treturn 0;\n>  }\n>  \n\nWhat about running ifb with packets coming from devices with jumbo frames?\nAlso since ifb is an input only device, MTU doesn't matter.","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=networkplumber-org.20150623.gappssmtp.com\n\theader.i=@networkplumber-org.20150623.gappssmtp.com\n\theader.b=\"CTEIs8cF\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xyg5h17hKz9ryv\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri, 22 Sep 2017 01:10:16 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751826AbdIUPKO (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 21 Sep 2017 11:10:14 -0400","from mail-pg0-f41.google.com ([74.125.83.41]:55915 \"EHLO\n\tmail-pg0-f41.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751652AbdIUPKN (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Thu, 21 Sep 2017 11:10:13 -0400","by mail-pg0-f41.google.com with SMTP id b11so3652268pgn.12\n\tfor <netdev@vger.kernel.org>; Thu, 21 Sep 2017 08:10:12 -0700 (PDT)","from xeon-e3 (76-14-207-240.or.wavecable.com. [76.14.207.240])\n\tby smtp.gmail.com with ESMTPSA id\n\tj9sm3662086pgc.11.2017.09.21.08.10.12\n\t(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tThu, 21 Sep 2017 08:10:12 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=networkplumber-org.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:cc:subject:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding;\n\tbh=hrKGhpHWQE1qHdTWZ1+pW/elsYzenpWOb+AZloZK3xM=;\n\tb=CTEIs8cFd9HftnEWcWZbDEjjwXfZRAmP1iNSZjdNZqblXTLy2qBJwkTnl7hT+B2gNP\n\tgk9sUq3LZjueT74vqNvSFTCYtcWcW66piadMjiOy0x7sy1pcgKT4gPehQsi+bvExmcTQ\n\tb5KcFK57S/F7vE64xgDQ7HthO5+j+LCqgeZPb2RAsg8nLvlk36KnJCQNqSwG8o9ge2o9\n\tPrISFKWvqMaWKhFU6tZzNFu3RhUiFqCBbJuMnBhdgGnfkX3HLuPH0QBBIDiLhPOmivNY\n\t70l55W9Ex9LJzp64clSpwpTtNRb44os/Y+X9d2SMXiDH0AP6pFl41Eni3A8YJ5kYi1a6\n\tMs+A==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to\n\t:references:mime-version:content-transfer-encoding;\n\tbh=hrKGhpHWQE1qHdTWZ1+pW/elsYzenpWOb+AZloZK3xM=;\n\tb=ucYa/FxyvZSLmRVw44cQOFa79gzKySFw/WjIOf8HW3GD6fILUhiMdyHSx6nN8zGHai\n\t502PhjITmHN8lrB1RfdZkUtfr5SEn74PfcfaA7RF+309NH++V7n+xdsK9WheX9t2hXy9\n\tN/uMrZ9fLH4JHAlNzchhisaHxNsR4D1nkv8gZc+BIBVx1cuOLjJgy+HSfbWOLixhQt8M\n\tRCzonTJH1CO/bM7cWvAVqKZGEDhATpXpgjqpPllZpKJtW59opU1W/S4z86tji38W9Mvd\n\tT3GJTTYJFlqojVIDxiJa/RsqxPgnvcNmqsGKxC+JmAv394z4ie4aZPRoGIWDaYWMthMO\n\tlPwg==","X-Gm-Message-State":"AHPjjUhT89Lnqi4Q1rI0EEIJR3HWQbCgXgvP0Iv1E5cqjfX0uDIJYDvP\n\t85jLXpUT8bKhPPiHpQfP7P0Lkw==","X-Google-Smtp-Source":"AOwi7QAi+7w+kdXH9BvvehIHiLAeV+7EBzp70Cb8BmFCXV4L0oVt60+0riwKAINucFE0B3qRSzd0IQ==","X-Received":"by 10.98.192.29 with SMTP id x29mr6062421pff.244.1506006612568; \n\tThu, 21 Sep 2017 08:10:12 -0700 (PDT)","Date":"Thu, 21 Sep 2017 08:10:10 -0700","From":"Stephen Hemminger <stephen@networkplumber.org>","To":"Zhang Shengju <zhangshengju@cmss.chinamobile.com>","Cc":"davem@davemloft.net, willemb@google.com, netdev@vger.kernel.org","Subject":"Re: [net-next 2/2] ifb: add device MTU validation check","Message-ID":"<20170921081010.4d6f5731@xeon-e3>","In-Reply-To":"<1506000722-40095-3-git-send-email-zhangshengju@cmss.chinamobile.com>","References":"<1506000722-40095-1-git-send-email-zhangshengju@cmss.chinamobile.com>\n\t<1506000722-40095-3-git-send-email-zhangshengju@cmss.chinamobile.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=US-ASCII","Content-Transfer-Encoding":"7bit","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1773241,"web_url":"http://patchwork.ozlabs.org/comment/1773241/","msgid":"<00b501d33353$d6888650$839992f0$@cmss.chinamobile.com>","list_archive_url":null,"date":"2017-09-22T03:35:28","subject":"RE: [net-next 2/2] ifb: add device MTU validation check","submitter":{"id":66922,"url":"http://patchwork.ozlabs.org/api/people/66922/","name":"Zhang Shengju","email":"zhangshengju@cmss.chinamobile.com"},"content":"> -----Original Message-----\n> From: Stephen Hemminger [mailto:stephen@networkplumber.org]\n> Sent: 2017年9月21日 23:10\n> To: Zhang Shengju <zhangshengju@cmss.chinamobile.com>\n> Cc: davem@davemloft.net; willemb@google.com; netdev@vger.kernel.org\n> Subject: Re: [net-next 2/2] ifb: add device MTU validation check\n> \n> On Thu, 21 Sep 2017 21:32:02 +0800\n> Zhang Shengju <zhangshengju@cmss.chinamobile.com> wrote:\n> \n> > Currently, any mtu value can be assigned when adding a new ifb device:\n> > [~]# ip link add name ifb2 mtu 100000 type ifb [~]# ip link show ifb2\n> > 18: ifb2: <BROADCAST,NOARP> mtu 100000 qdisc noop state DOWN mode\n> DEFAULT group default qlen 32\n> >     link/ether 7a:bf:f4:63:da:d1 brd ff:ff:ff:ff:ff:ff\n> >\n> > This patch adds device MTU validation check.\n> >\n> > Signed-off-by: Zhang Shengju <zhangshengju@cmss.chinamobile.com>\n> > ---\n> >  drivers/net/ifb.c | 8 ++++++++\n> >  1 file changed, 8 insertions(+)\n> >\n> > diff --git a/drivers/net/ifb.c b/drivers/net/ifb.c index\n> > 8870bd2..ce84ad2 100644\n> > --- a/drivers/net/ifb.c\n> > +++ b/drivers/net/ifb.c\n> > @@ -282,6 +282,14 @@ static int ifb_validate(struct nlattr *tb[], struct\n> nlattr *data[],\n> >  \t\tif (!is_valid_ether_addr(nla_data(tb[IFLA_ADDRESS])))\n> >  \t\t\treturn -EADDRNOTAVAIL;\n> >  \t}\n> > +\n> > +\tif (tb[IFLA_MTU]) {\n> > +\t\tu32 mtu = nla_get_u32(tb[IFLA_MTU]);\n> > +\n> > +\t\tif (mtu < ETH_MIN_MTU || mtu > ETH_DATA_LEN)\n> > +\t\t\treturn -EINVAL;\n> > +\t}\n> > +\n> >  \treturn 0;\n> >  }\n> >\n> \n> What about running ifb with packets coming from devices with jumbo frames?\n> Also since ifb is an input only device, MTU doesn't matter.\n\nActually ifb_setup() function setup ifb valid MTU range: [68, 1500], and\nthis will be check at dev_set_mtu() function. \nYou can't setup mtu out of this range after creation, but you can set any\nvalue when adding new ifb device.\nThis is inconsistent, and I think we should add this check at creation time \n\nBRs,\nZSJ","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xyzdh2HtDz9t32\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri, 22 Sep 2017 13:35:36 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751813AbdIVDfe convert rfc822-to-8bit (ORCPT\n\t<rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 21 Sep 2017 23:35:34 -0400","from cmccmta1.chinamobile.com ([221.176.66.79]:57440 \"EHLO\n\tcmccmta1.chinamobile.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751791AbdIVDfd (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Thu, 21 Sep 2017 23:35:33 -0400","from spf.mail.chinamobile.com (unknown[172.16.121.13]) by\n\trmmx-syy-dmz-app01-12001 (RichMail) with SMTP id\n\t2ee159c48503ac8-fdcd9; Fri, 22 Sep 2017 11:35:31 +0800 (CST)","from OFFICECOMPUTER01 (unknown[112.25.154.148])\n\tby rmsmtp-syy-appsvr07-12007 (RichMail) with SMTP id\n\t2ee759c48501dca-28fa9; Fri, 22 Sep 2017 11:35:31 +0800 (CST)"],"X-RM-TRANSID":["2ee159c48503ac8-fdcd9","2ee759c48501dca-28fa9"],"X-RM-SPAM-FLAG":"00000000","From":"=?gb2312?b?1cXKpL7Z?= <zhangshengju@cmss.chinamobile.com>","To":"\"'Stephen Hemminger'\" <stephen@networkplumber.org>","Cc":"<davem@davemloft.net>, <willemb@google.com>, <netdev@vger.kernel.org>","References":"<1506000722-40095-1-git-send-email-zhangshengju@cmss.chinamobile.com>\n\t<1506000722-40095-3-git-send-email-zhangshengju@cmss.chinamobile.com>\n\t<20170921081010.4d6f5731@xeon-e3>","In-Reply-To":"<20170921081010.4d6f5731@xeon-e3>","Subject":"RE: [net-next 2/2] ifb: add device MTU validation check","Date":"Fri, 22 Sep 2017 11:35:28 +0800","Message-ID":"<00b501d33353$d6888650$839992f0$@cmss.chinamobile.com>","MIME-Version":"1.0","Content-Type":"text/plain;\n        charset=\"gb2312\"","Content-Transfer-Encoding":"8BIT","X-Mailer":"Microsoft Outlook 16.0","Thread-Index":"AQIX0pNGNje6p1BIhCIaYup5PSaO4wM8VEj+Av6Gzz2iBSmzQA==","Content-Language":"zh-cn","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}}]