From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 49A9EA0523; Thu, 2 Jul 2020 02:34:38 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A007A1D5CD; Thu, 2 Jul 2020 02:34:37 +0200 (CEST) Received: from mail-pl1-f194.google.com (mail-pl1-f194.google.com [209.85.214.194]) by dpdk.org (Postfix) with ESMTP id EDB481D5C9 for ; Thu, 2 Jul 2020 02:34:35 +0200 (CEST) Received: by mail-pl1-f194.google.com with SMTP id bj10so5341577plb.11 for ; Wed, 01 Jul 2020 17:34:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=32Nsyrw2BRRKHOqJgW1y0+d287YbnNyHbA/NLbaLolw=; b=kuiN/m1nsSpwEzbVK2TOjNEIWClcpJMwNWN2372oHvSNFk+rD2i9/qpK4JNucuIqre pD50T4uH3HJnwWs/oTqAyNezfyJFTnm3IUSQWMX6WwcE+2HSh5Xxo8hEIgKuexVsoTMF VzKnK+G9hMTW/QZGGjuub/PCJ6LEmdUfXv5oXi69r14c5uHRRd7W/3IxLxQeU2GkYw67 TT1NlizQOSzVKyPbZmVxBJNLBVoTp0JCRHame71qq7dKuUjtCZF+82//Khb1qrX63aDG UX2LGq5PlEhPjVYE8VTAGyl6kWXlnTvYLPj/q8KLUJ61RFF2wQ1z/H0zvmDAPcQBChpq F6kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=32Nsyrw2BRRKHOqJgW1y0+d287YbnNyHbA/NLbaLolw=; b=Ox/+5JvBrVgV+oWAvPyL0Q76lCYEkj2E8utR80cFTPQ/kRNDO+vvmm85Odzl90hMjY 3sCOK/WovsS59RPuowObaL2DisnWaxT4l0axaIvvgftABqoUpklYvZPJjwuuuZkQVfNc cHvbZEXB5dF0OJt62nbq+jB9Brez4pPdM/+btlLHvwKfV0r8PviyaKidoKNmVdo9pipA 3cBTo5SoWv8L6tTvLMJKvR17/AJVtFMtVJGTq5LKb/fqWOmlg7isI+bGna+sa8aTooCd yTGwhaLcroT0GXPQKBqzBOdSDh0Ec6edGFO6a6KYHmiIKXNRoUwK8KMZJmhjnwdndplk a+Xg== X-Gm-Message-State: AOAM531au0wDytUEj86VZLdnF92aM1eU31YXpfv5ClkWHGEHyBCpXieS qE0YyxlD22EqYTUnVu01+dJjfA== X-Google-Smtp-Source: ABdhPJw7oAhXK6mq139H0nYokSKkv496+ZoT5MskHEGD+hbENHDxIdo0vwbMnfuiU3IHpHUYuxNXYQ== X-Received: by 2002:a17:90a:ff0c:: with SMTP id ce12mr30431434pjb.100.1593650075021; Wed, 01 Jul 2020 17:34:35 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id t188sm7253668pfc.198.2020.07.01.17.34.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Jul 2020 17:34:34 -0700 (PDT) Date: Wed, 1 Jul 2020 17:34:26 -0700 From: Stephen Hemminger To: Andrzej Ostruszka Cc: , Thomas Monjalon Message-ID: <20200701173426.17aee817@hermes.lan> In-Reply-To: <20200310111037.31451-2-aostruszka@marvell.com> References: <20200306164104.15528-1-aostruszka@marvell.com> <20200310111037.31451-1-aostruszka@marvell.com> <20200310111037.31451-2-aostruszka@marvell.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v2 1/4] lib: introduce IF Proxy library X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" I had great hopes for this library, because such code exists in almost every real world application. But the current version falls short. So what this library does is turn a message based protocol (netlink) into a set of callbacks. Not sure if that is all that useful processing messages is often easier. It would be more useful if the library took the netlink and maintained a set of tables (interfaces, neighbours, routes) using DPDK infrastructure and did it as efficiently as possible with RCU. On a real world router with 1M routes, the processing of netlink can be a significant chore. It has to be done efficiently. Probably needs to use rte_ctrl_thread() and not overload the interrupt thread. Also, please don't reinvent netlink parsing. Use a standard library like libmnl. Please use doxygen format for API documentation > +/* This function should be called by the implementation whenever it notices > + * change in the network configuration. The arguments are: > + * - ev : pointer to filled event data structure (all fields are expected to be > + * filled, with the exception of 'port_id' for all proxy/port related > + * events: this function clones the event notification for each bound port > + * and fills 'port_id' appropriately). > + * - px : proxy node when given event is proxy/port related, otherwise pass NULL > + */ > +void ifpx_notify_event(struct rte_ifpx_event *ev, struct ifpx_proxy_node *px); > +