From patchwork Sat Apr 13 23:17:08 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Flavio Leitner X-Patchwork-Id: 1085229 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@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; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44hVzN6yqDz9s55 for ; Sun, 14 Apr 2019 09:17:36 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727159AbfDMXR2 (ORCPT ); Sat, 13 Apr 2019 19:17:28 -0400 Received: from mail-qt1-f196.google.com ([209.85.160.196]:34897 "EHLO mail-qt1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727070AbfDMXR1 (ORCPT ); Sat, 13 Apr 2019 19:17:27 -0400 Received: by mail-qt1-f196.google.com with SMTP id h39so15373434qte.2 for ; Sat, 13 Apr 2019 16:17:27 -0700 (PDT) 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:mime-version :content-transfer-encoding; bh=Qigw1/fYpSP+rupwhsHk5zqSFeFLKdWOEKLPFdwdDuU=; b=nTvGgucGyoeaMe5WpqN/gPfwxarIxw7AWqfjD/HioFTkJLW2nRb9m1uL9m5TH2HF/R q2Ahn15Z5ICHNW8pb/p6hS1oJRkeJrKxMIVpWi+AJ/M3aNjPHTHqt3aJK8XqSQ4PjlCj Ng+/Hgdlvo0pkCdivdjHVdg5kVDHkHmB0hRYuJgKw04nUPejHsCe/Gn03EDhMNQacybn V4wjvgThEw6/tkQsU+/IBqNmiI0dLaN3Brsba8HFd33x1wkO1pnBAq1sZq0g0yWL5nGM ghgKl95vAbTvyl0mT3c4/t2hzYkq5w0VVyNJH51QcS8/2X5jyv28PpKKdg3ucwlbMaZT CoxA== X-Gm-Message-State: APjAAAVwYX6V0MeeWk6a4n08Y10S39RfdcDiGb6cNklQghN1fGFV1wWD 8As+T+9LYKOvNdFgNgGrBHwg0oVVfz0= X-Google-Smtp-Source: APXvYqxD8tPxDh0pBKbzA1VfGYFOloy1pfHR8Vuu7hsA65JIX0BmOC+0U+3NO7mTo6j+1z5L9E39xQ== X-Received: by 2002:aed:3aaa:: with SMTP id o39mr54808558qte.100.1555197446440; Sat, 13 Apr 2019 16:17:26 -0700 (PDT) Received: from localhost ([177.183.215.126]) by smtp.gmail.com with ESMTPSA id n188sm25017212qkb.40.2019.04.13.16.17.25 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 13 Apr 2019 16:17:25 -0700 (PDT) From: Flavio Leitner To: netdev@vger.kernel.org Cc: Joe Stringer , Pravin B Shelar , dev@openvswitch.org, netfilter-devel@vger.kernel.org, Pablo Neira Ayuso Subject: [PATCH net-next v2 0/8] openvswitch: load and reference the NAT helper Date: Sat, 13 Apr 2019 20:17:08 -0300 Message-Id: <20190413231716.28711-1-fbl@redhat.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The request_module() is quite expensive and triggers the usermode helper in userspace. Instead, load only if the module is not present and keep module references to avoid problems. The first patch standardize the module alias which is already there, but not in a formal way. The second patch adds an API to point to the NAT helper. The following patches will register each NAT helper using the new API. The last patch fixes openvswitch to use the new API to load and reference the NAT helper and also report an error if the operation fails. Flavio Leitner (8): netfilter: use macros to create module aliases. netfilter: add API to manage NAT helpers. netfilter: nf_nat: register amanda NAT helper. netfilter: nf_nat: register ftp NAT helper. netfilter: nf_nat: register irc NAT helper. netfilter: nf_nat: register sip NAT helper. netfilter: nf_nat: register tftp NAT helper. openvswitch: load and reference the NAT helper. include/net/netfilter/nf_conntrack_helper.h | 24 +++++ net/ipv4/netfilter/nf_nat_h323.c | 2 +- net/ipv4/netfilter/nf_nat_pptp.c | 2 +- net/netfilter/nf_conntrack_amanda.c | 8 +- net/netfilter/nf_conntrack_ftp.c | 13 +-- net/netfilter/nf_conntrack_helper.c | 97 +++++++++++++++++++++ net/netfilter/nf_conntrack_irc.c | 6 +- net/netfilter/nf_conntrack_sane.c | 12 +-- net/netfilter/nf_conntrack_sip.c | 28 +++--- net/netfilter/nf_conntrack_tftp.c | 18 ++-- net/netfilter/nf_nat_amanda.c | 9 +- net/netfilter/nf_nat_ftp.c | 9 +- net/netfilter/nf_nat_irc.c | 9 +- net/netfilter/nf_nat_sip.c | 9 +- net/netfilter/nf_nat_tftp.c | 9 +- net/openvswitch/conntrack.c | 26 ++++-- 16 files changed, 233 insertions(+), 48 deletions(-)