Re: [PATCH 1/2 nf-next v2] netfilter: nf_tables: Introduce stateful object update operation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/23/19 8:05 PM, Fernando Fernandez Mancera wrote:
> 
> 
> On 8/23/19 2:42 PM, Pablo Neira Ayuso wrote:
>> On Fri, Aug 23, 2019 at 02:41:42PM +0200, Pablo Neira Ayuso wrote:
>>> On Thu, Aug 22, 2019 at 06:48:26PM +0200, Fernando Fernandez Mancera wrote:
>>>> @@ -1405,10 +1409,16 @@ struct nft_trans_elem {
>>>>  
>>>>  struct nft_trans_obj {
>>>>  	struct nft_object		*obj;
>>>> +	struct nlattr			**tb;
>>>
>>> Instead of annotatint tb[] on the object, you can probably add here:
>>>
>>> union {
>>>         struct quota {
>>>                 uint64_t                consumed;
>>>                 uint64_t                quota;
>>>       } quota;
>>> };
>>>
>>> So the initial update annotates the values in the transaction.
>>>

If we follow that pattern then the indirection would need the
nft_trans_phase enum, the quota struct and also the tb[] as parameters
because in the preparation phase we always need the tb[] array.

Why is that better than annotating tb[] on the object? Sorry, I think
that I am missing something here. Thanks!

>>> I guess you will need two new indirections? Something like
>>> prepare_update() and update().
>>
>> Or you have a single update() and pass enum nft_trans_phase as
>> parameter, so this only needs one single indirection.
>>
> 
> But also we would need to continue passing the 'bool commit' as a
> parameter too right? I will take a look to nft_trans_phase. Thanks! :-)



[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux