From: Phil Sutter <phil@nwl.cc>
To: "Serguei Bezverkhi (sbezverk)" <sbezverk@cisco.com>
Cc: Arturo Borrero Gonzalez <arturo@netfilter.org>,
Pablo Neira Ayuso <pablo@netfilter.org>,
Florian Westphal <fw@strlen.de>,
"netfilter-devel@vger.kernel.org"
<netfilter-devel@vger.kernel.org>,
Laura Garcia <nevola@gmail.com>
Subject: Re: Operation not supported when adding jump command
Date: Wed, 27 Nov 2019 17:06:46 +0100 [thread overview]
Message-ID: <20191127160646.GK8016@orbyte.nwl.cc> (raw)
In-Reply-To: <3AE9B74A-37FB-4CDA-86FB-143F506D6C77@cisco.com>
Hi,
On Wed, Nov 27, 2019 at 03:35:04PM +0000, Serguei Bezverkhi (sbezverk) wrote:
> No, I do not, nftableslib talks directly talk to netlink connection.
>
> nftableslib offers an API which allows create tables/chains/rules and exposes an interface which looks similar to k8s client-go. If you check https://github.com/sbezverk/nftableslib/blob/master/cmd/e2e/e2e.go
>
> It will give you a good idea how it operates.
>
> The reason for going in this direction is performance, for a relatively static applications like a firewall, json approach is great, but for applications like a kube-proxy where hundreds or even thousands of service/endpoint events happen, I do not believe json is a right approach. When I talked to api machinery folks I was given 5k events per second as a target.
So you're bypassing both libnftables and libnftnl. Those 5k events per
second are a benchmark, not an expected load, right?
While you're obviously searching for the most performance, the drawback
is complexity. Using JSON (and thereby libnftables and libnftnl as
backends) a task like utilizing numgen expression is relatively simple.
A problem you won't get rid of with the move from iptables to nftables
is concurrent use: The "let's insert our rules on top" approach to
dealing with an existing ruleset or other users is obviously not the
best one. I guess you're aiming at dedicated applications where this is
not an issue but for "general purpose" applications I guess a k8s
backend communicating with firewalld would be a good approach of
customizing host's firewall setup without stepping onto others' toes.
Back to topic, you are creating a static ruleset based on the iptables
one you got for simple comparison tests or are you already over that? If
not, I guess it would be a good basis for high level ruleset
optimization discussions.
Cheers, Phil
next prev parent reply other threads:[~2019-11-27 16:06 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-25 18:55 Operation not supported when adding jump command Serguei Bezverkhi (sbezverk)
2019-11-26 12:21 ` Florian Westphal
2019-11-26 14:30 ` Serguei Bezverkhi (sbezverk)
2019-11-26 14:52 ` Florian Westphal
2019-11-26 15:38 ` Pablo Neira Ayuso
2019-11-26 15:47 ` Serguei Bezverkhi (sbezverk)
2019-11-26 15:51 ` Phil Sutter
2019-11-26 18:47 ` Serguei Bezverkhi (sbezverk)
2019-11-26 19:27 ` Phil Sutter
2019-11-26 21:20 ` Serguei Bezverkhi (sbezverk)
2019-11-26 22:15 ` Phil Sutter
2019-11-27 10:11 ` Arturo Borrero Gonzalez
2019-11-27 11:57 ` Phil Sutter
2019-11-27 14:36 ` Serguei Bezverkhi (sbezverk)
2019-11-27 15:08 ` Phil Sutter
2019-11-27 15:35 ` Serguei Bezverkhi (sbezverk)
2019-11-27 16:06 ` Phil Sutter [this message]
2019-11-27 16:50 ` Serguei Bezverkhi (sbezverk)
2019-11-27 17:22 ` Phil Sutter
2019-11-28 1:22 ` Serguei Bezverkhi (sbezverk)
2019-11-28 9:10 ` Laura Garcia
2019-11-28 11:58 ` Serguei Bezverkhi (sbezverk)
2019-11-28 13:08 ` Phil Sutter
2019-11-28 13:34 ` Serguei Bezverkhi (sbezverk)
2019-11-28 14:51 ` Serguei Bezverkhi (sbezverk)
2019-11-28 15:15 ` Phil Sutter
2019-11-29 20:13 ` Serguei Bezverkhi (sbezverk)
2019-11-30 0:04 ` Phil Sutter
2019-12-03 18:43 ` Serguei Bezverkhi (sbezverk)
2019-12-04 10:36 ` Phil Sutter
2019-12-03 23:50 ` Duncan Roe
2019-12-04 1:13 ` [PATCH nft] doc: Clarify conditions under which a reject verdict is permissible Duncan Roe
2019-12-06 2:37 ` [PATCH nft v2] " Duncan Roe
2019-12-06 6:55 ` Florian Westphal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191127160646.GK8016@orbyte.nwl.cc \
--to=phil@nwl.cc \
--cc=arturo@netfilter.org \
--cc=fw@strlen.de \
--cc=netfilter-devel@vger.kernel.org \
--cc=nevola@gmail.com \
--cc=pablo@netfilter.org \
--cc=sbezverk@cisco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.