On 09/25/2015 10:10 PM, Markus Armbruster wrote: > 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.
Ok, this sounds better.