Jason Wang <jasow...@redhat.com> writes: > On 09/24/2015 07:52 PM, Markus Armbruster wrote: >> Yang Hongyang <yan...@cn.fujitsu.com> writes: >> >>> On 09/24/2015 04:41 PM, Markus Armbruster wrote: >>>> Yang Hongyang <yan...@cn.fujitsu.com> writes: [...] >>>>> diff --git a/qapi-schema.json b/qapi-schema.json >>>>> index 2bada60..546500a 100644 >>>>> --- a/qapi-schema.json >>>>> +++ b/qapi-schema.json >>>>> @@ -2551,6 +2551,24 @@ >>>>> 'opts': 'NetClientOptions' } } >>>>> >>>>> ## >>>>> +# @NetFilterChain >>>>> +# >>>>> +# netfilter chain, a netfilter is attached to a netdev, captures the >>>>> +# network packets of the netdev. >>>>> +# >>>>> +# @all: the filter will receive packets both sent to/from the netdev, >>>>> this >>>>> +# is the default chain. >>>>> +# >>>>> +# @in: the filter will receive packets sent to the netdev. >>>>> +# >>>>> +# @out: the filter will receive packets sent from the netdev. >>>> Uh, inhowfar is this a "chain"? As far as I can tell, it specifies >>>> whether a netfilter is attached to the transmit queue, the receive >>>> queue, or both. >>> netback's input chain or output chain, queue is mostly like a word that >>> related to the code implementation? English is not my first language, so >>> I'm not sure about this. >> Don't worry, we'll get the language polished together :) >> >> In PATCH 9, I learned how this is to be used: >> >> @item -object >> filter-buffer,id=@var{id},netdev=@var{netdevid}[,chain=@var{all|in|out}][,interval=@var{t}] >> >> Buffer network packets on netdev @var{netdevid}. >> [...] >> chain @var{all|in|out} is an option that can be applied to any >> netfilter, default is @option{all}. >> >> @option{all} means this filter will receive packets both sent >> to/from the netdev >> >> @option{in} means this filter will receive packets sent to the netdev >> >> @option{out} means this filter will receive packets sent from the netdev >> >> In that context, "chain" makes more sense. I'd still call it "queue". >> Precedence: -netdev parameter "queues". If I understand correctly, >> queues=N asks for N rx and tx queues. A filter would either apply to >> all N rx queues, all N tx queues, or all 2*N queues. Correct? >> >> [...] > > Yes.
I think "queue=rx", "queue=tx" and "queue=all" would make the most sense. Unless there are more queues than rx and rx; then we'd have to reconsider "queue=all". Call the enumeration type NetFilterDirection instead of NetFilterChain.