From patchwork Tue May 14 10:51:22 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomasz Bursztyka X-Patchwork-Id: 243674 X-Patchwork-Delegate: pablo@netfilter.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 76DC92C00AF for ; Tue, 14 May 2013 20:51:41 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756089Ab3ENKvk (ORCPT ); Tue, 14 May 2013 06:51:40 -0400 Received: from mga01.intel.com ([192.55.52.88]:2739 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753284Ab3ENKvk (ORCPT ); Tue, 14 May 2013 06:51:40 -0400 Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP; 14 May 2013 03:51:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.87,670,1363158000"; d="scan'208";a="333806032" Received: from rd-180.fi.intel.com ([10.237.68.33]) by fmsmga001.fm.intel.com with ESMTP; 14 May 2013 03:51:38 -0700 From: Tomasz Bursztyka To: netfilter-devel@vger.kernel.org Cc: Tomasz Bursztyka Subject: [libnftables PATCH 7/7] chain: handle attribute is relevant if only there is no name to use Date: Tue, 14 May 2013 13:51:22 +0300 Message-Id: <1368528682-10041-8-git-send-email-tomasz.bursztyka@linux.intel.com> X-Mailer: git-send-email 1.8.2.1 In-Reply-To: <1368528682-10041-1-git-send-email-tomasz.bursztyka@linux.intel.com> References: <519216B6.7060701@linux.intel.com> <1368528682-10041-1-git-send-email-tomasz.bursztyka@linux.intel.com> Sender: netfilter-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netfilter-devel@vger.kernel.org While changing chain's settings, like its policy, it requires either the handle or the name, but not both. Signed-off-by: Tomasz Bursztyka --- src/chain.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/chain.c b/src/chain.c index 1b1c3fe..e9a7896 100644 --- a/src/chain.c +++ b/src/chain.c @@ -263,7 +263,8 @@ void nft_chain_nlmsg_build_payload(struct nlmsghdr *nlh, const struct nft_chain mnl_attr_put_u64(nlh, NFTA_COUNTER_BYTES, be64toh(c->bytes)); mnl_attr_nest_end(nlh, nest); } - if (c->flags & (1 << NFT_CHAIN_ATTR_HANDLE)) + if (c->flags & (1 << NFT_CHAIN_ATTR_HANDLE) && + !(c->flags & (1 << NFT_CHAIN_ATTR_NAME))) mnl_attr_put_u64(nlh, NFTA_CHAIN_HANDLE, be64toh(c->handle)); if (c->flags & (1 << NFT_CHAIN_ATTR_TYPE)) mnl_attr_put_strz(nlh, NFTA_CHAIN_TYPE, c->type);