From patchwork Thu Feb 22 02:12:18 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Donald Sharp X-Patchwork-Id: 876464 X-Patchwork-Delegate: dsahern@gmail.com Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b="LrcUwWjY"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zmyYP2YFsz9ryl for ; Thu, 22 Feb 2018 13:12:41 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751956AbeBVCMk (ORCPT ); Wed, 21 Feb 2018 21:12:40 -0500 Received: from mail-qk0-f196.google.com ([209.85.220.196]:34182 "EHLO mail-qk0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751934AbeBVCMg (ORCPT ); Wed, 21 Feb 2018 21:12:36 -0500 Received: by mail-qk0-f196.google.com with SMTP id l206so4687761qke.1 for ; Wed, 21 Feb 2018 18:12:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cumulusnetworks.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references; bh=eRlUPsUMPNEgR0zDCe2ZXhcKRkmliFr2uBNrBcWOEMM=; b=LrcUwWjY3e3MWDKv4DRprT17psk5l0LyUXO5enEx4fMf3sAzYEGLFXMgOA5DqxCWSm b7h98teuNAGcOACsKv1T+F6znj9JCNaQD62tCOTfzydgPTbjIphs7rREuquRXRN+RInF E+6fV/XFe/k7qKgKuzXoUtg/rZQbOvlmrKJCA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=eRlUPsUMPNEgR0zDCe2ZXhcKRkmliFr2uBNrBcWOEMM=; b=YyCT5OOznqRzbyDE4y3irrw8DU03lLLgMadshqNwIfx1SzwRwYg9lIil7Pewu956qK 241va+SaPG1jhAkC8YT7zyVT/XqSZOJj/AL+kV/mr3GcbWAGkRFQfS15US6RWIxiHIPj ZXhUKbXerPMnd7Q12++JR/mT3CCyZuER5box25cv740jvAVDT1V9CgVSlFdqclvKhvYF MHR40KQ0AvIBAgGAGsPJ/n4BjvK+tVDqemUpx/34hMNJfgxHVg0j3URUKngPy3gJ9U77 nk9XCJD6Cj6L61DLq9JoY5GLDXGHB6Zg+3ZXNIk02DxUBncmE1PPORYFvVCCiL7wK8zW XbSQ== X-Gm-Message-State: APf1xPCg+OGaZNlzinbeb4hzyRV64JcEaqkpmax5F4rxerFb7g+WyaXI 3+u4coykAUfoqgMvwHXEpnsg6wWP X-Google-Smtp-Source: AH8x227YU/0zqfjiWEfExqDdtKutt4r84aFrTfXFbL8+jubzyS9BUbUwbemeyEKoaKAuGOug+t4B0w== X-Received: by 10.55.97.66 with SMTP id v63mr8051314qkb.266.1519265555104; Wed, 21 Feb 2018 18:12:35 -0800 (PST) Received: from robot.nc.rr.com (cpe-2606-A000-111D-803E-CF1-EE96-732C-4D5.dyn6.twc.com. [2606:a000:111d:803e:cf1:ee96:732c:4d5]) by smtp.googlemail.com with ESMTPSA id s185sm4576599qkd.29.2018.02.21.18.12.33 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 21 Feb 2018 18:12:34 -0800 (PST) From: Donald Sharp To: netdev@vger.kernel.org, dsahern@gmail.com Subject: [PATCH v2 iproute2-next 3/3] ip: Allow rules to accept a specified protocol Date: Wed, 21 Feb 2018 21:12:18 -0500 Message-Id: <20180222021218.12948-4-sharpd@cumulusnetworks.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180221015348.32646-1-sharpd@cumulusnetworks.com> References: <20180221015348.32646-1-sharpd@cumulusnetworks.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Allow the specification of a protocol when the user adds/modifies/deletes a rule. Signed-off-by: Donald Sharp --- ip/iprule.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ip/iprule.c b/ip/iprule.c index 39008768..192fe215 100644 --- a/ip/iprule.c +++ b/ip/iprule.c @@ -683,6 +683,12 @@ static int iprule_modify(int cmd, int argc, char **argv) if (get_rt_realms_or_raw(&realm, *argv)) invarg("invalid realms\n", *argv); addattr32(&req.n, sizeof(req), FRA_FLOW, realm); + } else if (matches(*argv, "protocol") == 0) { + __u32 proto; + NEXT_ARG(); + if (rtnl_rtprot_a2n(&proto, *argv)) + invarg("\"protocol\" value is invalid\n", *argv); + req.frh.proto = proto; } else if (matches(*argv, "table") == 0 || strcmp(*argv, "lookup") == 0) { NEXT_ARG();