Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/806626/?format=api
{ "id": 806626, "url": "http://patchwork.ozlabs.org/api/patches/806626/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/20170828150534.12375-1-fw@strlen.de/", "project": { "id": 26, "url": "http://patchwork.ozlabs.org/api/projects/26/?format=api", "name": "Netfilter Development", "link_name": "netfilter-devel", "list_id": "netfilter-devel.vger.kernel.org", "list_email": "netfilter-devel@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20170828150534.12375-1-fw@strlen.de>", "list_archive_url": null, "date": "2017-08-28T15:05:34", "name": "[nft] evaluate: convert expr_rt byteorder when evaluating statment arg", "commit_ref": null, "pull_url": null, "state": "changes-requested", "archived": false, "hash": "1a5247742ffdc97e6b3839b07b58ba55cc44221c", "submitter": { "id": 1025, "url": "http://patchwork.ozlabs.org/api/people/1025/?format=api", "name": "Florian Westphal", "email": "fw@strlen.de" }, "delegate": { "id": 6139, "url": "http://patchwork.ozlabs.org/api/users/6139/?format=api", "username": "pablo", "first_name": "Pablo", "last_name": "Neira", "email": "pablo@netfilter.org" }, "mbox": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/20170828150534.12375-1-fw@strlen.de/mbox/", "series": [ { "id": 189, "url": "http://patchwork.ozlabs.org/api/series/189/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/list/?series=189", "date": "2017-08-28T15:05:34", "name": "[nft] evaluate: convert expr_rt byteorder when evaluating statment arg", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/189/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/806626/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/806626/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<netfilter-devel-owner@vger.kernel.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@bilbo.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=netfilter-devel-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 3xgw7644CBz9sNr\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 29 Aug 2017 01:05:22 +1000 (AEST)", "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751579AbdH1PFT (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tMon, 28 Aug 2017 11:05:19 -0400", "from Chamillionaire.breakpoint.cc ([146.0.238.67]:51424 \"EHLO\n\tChamillionaire.breakpoint.cc\" rhost-flags-OK-OK-OK-OK)\n\tby vger.kernel.org with ESMTP id S1751241AbdH1PFS (ORCPT\n\t<rfc822;netfilter-devel@vger.kernel.org>);\n\tMon, 28 Aug 2017 11:05:18 -0400", "from fw by Chamillionaire.breakpoint.cc with local (Exim 4.84_2)\n\t(envelope-from <fw@breakpoint.cc>)\n\tid 1dmLYh-0002yB-VC; Mon, 28 Aug 2017 17:02:36 +0200" ], "From": "Florian Westphal <fw@strlen.de>", "To": "<netfilter-devel@vger.kernel.org>", "Cc": "Florian Westphal <fw@strlen.de>", "Subject": "[PATCH nft] evaluate: convert expr_rt byteorder when evaluating\n\tstatment arg", "Date": "Mon, 28 Aug 2017 17:05:34 +0200", "Message-Id": "<20170828150534.12375-1-fw@strlen.de>", "X-Mailer": "git-send-email 2.13.0", "Sender": "netfilter-devel-owner@vger.kernel.org", "Precedence": "bulk", "List-ID": "<netfilter-devel.vger.kernel.org>", "X-Mailing-List": "netfilter-devel@vger.kernel.org" }, "content": "expr_rt might write data in host byte order, so make sure to\nconvert if needed.\n\nThis makes 'tcp option maxseg size rt mtu' actually work, right now such rules\nare no-ops because nft_exthdr never increases the mss.\n\nWhile at it, extend the example to not bother testing non-syn packets.\n\nReported-by: Matteo Croce <technoboy85@gmail.com>\nSigned-off-by: Florian Westphal <fw@strlen.de>\n---\n doc/nft.xml | 4 ++--\n src/evaluate.c | 2 ++\n tests/py/inet/rt.t.payload | 1 +\n 3 files changed, 5 insertions(+), 2 deletions(-)", "diff": "diff --git a/doc/nft.xml b/doc/nft.xml\nindex 4e2730f698cb..cf9334891cee 100644\n--- a/doc/nft.xml\n+++ b/doc/nft.xml\n@@ -4274,9 +4274,9 @@ ip forward ip dscp set 42\n \t\t\t\t<example>\n \t\t\t\t\t<title>change tcp mss</title>\n \t\t\t\t\t<programlisting>\n-tcp option maxseg size set 1360\n+tcp flags syn tcp option maxseg size set 1360\n # set a size based on route information:\n-tcp option maxseg size set rt mtu\n+tcp flags syn tcp option maxseg size set rt mtu\n \t\t\t\t\t</programlisting>\n \t\t\t\t</example>\n \t\t\t</para>\ndiff --git a/src/evaluate.c b/src/evaluate.c\nindex f21ac1a0ab85..9954d5c59622 100644\n--- a/src/evaluate.c\n+++ b/src/evaluate.c\n@@ -1799,6 +1799,8 @@ static int stmt_evaluate_arg(struct eval_ctx *ctx, struct stmt *stmt,\n \t\treturn stmt_binary_error(ctx, *expr, stmt,\n \t\t\t\t\t \"you cannot reference a set here, \"\n \t\t\t\t\t \"unknown value to use\");\n+\tcase EXPR_RT:\n+\t\treturn byteorder_conversion(ctx, expr, byteorder);\n \tdefault:\n \t\tbreak;\n \t}\ndiff --git a/tests/py/inet/rt.t.payload b/tests/py/inet/rt.t.payload\nindex 2f6265ed640a..928e0095faf5 100644\n--- a/tests/py/inet/rt.t.payload\n+++ b/tests/py/inet/rt.t.payload\n@@ -15,5 +15,6 @@ inet test-inet output\n # tcp option maxseg size set rt mtu\n inet test-inet output\n [ rt load tcpmss => reg 1 ]\n+ [ byteorder reg 1 = hton(reg 1, 2, 2) ]\n [ exthdr write tcpopt reg 1 => 2b @ 2 + 2 ]\n \n", "prefixes": [ "nft" ] }