All of lore.kernel.org
 help / color / mirror / Atom feed
* (discussion) Why are "flow tables" syntactically unique?
@ 2017-03-18  0:59 Robert White
  2017-03-22 16:25 ` Pablo Neira Ayuso
  0 siblings, 1 reply; 4+ messages in thread
From: Robert White @ 2017-03-18  0:59 UTC (permalink / raw)
  To: netfilter

So this doesn't rate a bug, but it did confuse me.

Flow tables are always named, but they don't conform to the way sets, 
maps, and dictionaries work in terms of "add" and "delete" and all that.

They are also "flow tables" instead of one word like "flows" or 
"throttle" or something.

It seems weird to just have these break the syntactic expectations.

I think, long-term, that picking a one word designator like "rate" or 
"gauge" and making them syntactically similar to sets with a type and 
flags at the table level, and using @name syntax or having them be 
unnamed in place, would make much more sense.

It's especially confusing since "list map tablename mapname" and "list 
flow table tablename flowname" are so similar in function but have a 
different word count and are not orthogonal to add and delete and clear 
etc.

So if they were just like sets this would be so much less confusing.

table ip example {
   gauge dhcp_throttle {
     type ipv4_addr . inet_service
     flags whatever, whateverelse
   }

   chain dhcp_traffic {
     gauge { ip saddr limit over 200/day } drop
     gauge @dhcp_throttle { ip saddr . udp dport limit 3/second } accept
   }
}


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: (discussion) Why are "flow tables" syntactically unique?
  2017-03-18  0:59 (discussion) Why are "flow tables" syntactically unique? Robert White
@ 2017-03-22 16:25 ` Pablo Neira Ayuso
  2017-03-22 17:32   ` Neal P. Murphy
  0 siblings, 1 reply; 4+ messages in thread
From: Pablo Neira Ayuso @ 2017-03-22 16:25 UTC (permalink / raw)
  To: Robert White; +Cc: netfilter

On Sat, Mar 18, 2017 at 12:59:18AM +0000, Robert White wrote:
> So this doesn't rate a bug, but it did confuse me.
> 
> Flow tables are always named, but they don't conform to the way sets, maps,
> and dictionaries work in terms of "add" and "delete" and all that.
> 
> They are also "flow tables" instead of one word like "flows" or "throttle"
> or something.
> 
> It seems weird to just have these break the syntactic expectations.
> 
> I think, long-term, that picking a one word designator like "rate" or
> "gauge" and making them syntactically similar to sets with a type and flags
> at the table level, and using @name syntax or having them be unnamed in
> place, would make much more sense.
> 
> It's especially confusing since "list map tablename mapname" and "list flow
> table tablename flowname" are so similar in function but have a different
> word count and are not orthogonal to add and delete and clear etc.
> 
> So if they were just like sets this would be so much less confusing.
> 
> table ip example {
>   gauge dhcp_throttle {
>     type ipv4_addr . inet_service
>     flags whatever, whateverelse
>   }

This would provide a way to restore flow table between reboots, so we
could even per populate them with elements.

>   chain dhcp_traffic {
>     gauge { ip saddr limit over 200/day } drop
>     gauge @dhcp_throttle { ip saddr . udp dport limit 3/second } accept

This would resolve the inconsistency, yes.

I would still stick to 'flow table' instead of 'gauge'. I was never
comfortable with the fact that we overload 'table' with more semantics
(given we already have tables in nf_tables).

Let me think, it would be good to add an entry to netfilter's
bugzilla, so we don't lose track of this.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: (discussion) Why are "flow tables" syntactically unique?
  2017-03-22 16:25 ` Pablo Neira Ayuso
@ 2017-03-22 17:32   ` Neal P. Murphy
  0 siblings, 0 replies; 4+ messages in thread
From: Neal P. Murphy @ 2017-03-22 17:32 UTC (permalink / raw)
  To: netfilter

On Wed, 22 Mar 2017 17:25:57 +0100
Pablo Neira Ayuso <pablo@netfilter.org> wrote:

> On Sat, Mar 18, 2017 at 12:59:18AM +0000, Robert White wrote:
> > So this doesn't rate a bug, but it did confuse me.
> > 
> > Flow tables are always named, but they don't conform to the way sets, maps,
> > and dictionaries work in terms of "add" and "delete" and all that.
> > 
> > They are also "flow tables" instead of one word like "flows" or "throttle"
> > or something.
> > 
> > It seems weird to just have these break the syntactic expectations.
> > 
> > I think, long-term, that picking a one word designator like "rate" or
> > "gauge" and making them syntactically similar to sets with a type and flags
> > at the table level, and using @name syntax or having them be unnamed in
> > place, would make much more sense.
> > 
> > It's especially confusing since "list map tablename mapname" and "list flow
> > table tablename flowname" are so similar in function but have a different
> > word count and are not orthogonal to add and delete and clear etc.
> > 
> > So if they were just like sets this would be so much less confusing.
> > 
> > table ip example {
> >   gauge dhcp_throttle {
> >     type ipv4_addr . inet_service
> >     flags whatever, whateverelse
> >   }
> 
> This would provide a way to restore flow table between reboots, so we
> could even per populate them with elements.
> 
> >   chain dhcp_traffic {
> >     gauge { ip saddr limit over 200/day } drop
> >     gauge @dhcp_throttle { ip saddr . udp dport limit 3/second } accept
> 
> This would resolve the inconsistency, yes.
> 
> I would still stick to 'flow table' instead of 'gauge'. I was never
> comfortable with the fact that we overload 'table' with more semantics
> (given we already have tables in nf_tables).

Instead of gauge, would meter, track, watch, or measure work better (and be a little more self-documenting)?

N

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: (discussion) Why are "flow tables" syntactically unique?
       [not found] <pw1bjeso6tf5c3ckw3b6stgk.1490201457124@email.android.com>
@ 2017-03-23  8:23 ` Robert White
  0 siblings, 0 replies; 4+ messages in thread
From: Robert White @ 2017-03-23  8:23 UTC (permalink / raw)
  To: neal.p.murphy, Pablo Neira Ayuso; +Cc: netfilter

On 03/22/17 16:50, neal.p.murphy wrote:
> Let me think, it would be good to add an entry to netfilter's
> bugzilla, so we don't lose track of this.

Bug created using original email and both of your comments as insets.

http://bugzilla.netfilter.org/show_bug.cgi?id=1137

--Rob.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-03-23  8:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-18  0:59 (discussion) Why are "flow tables" syntactically unique? Robert White
2017-03-22 16:25 ` Pablo Neira Ayuso
2017-03-22 17:32   ` Neal P. Murphy
     [not found] <pw1bjeso6tf5c3ckw3b6stgk.1490201457124@email.android.com>
2017-03-23  8:23 ` Robert White

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.