• S
    Introduce possibility to have an iterator per variable · 80e9a5cd
    Stefan Berger 提交于
    This patch introduces the capability to use a different iterator per
    variable.
    
    The currently supported notation of variables in a filtering rule like
    
      <rule action='accept' direction='out'>
         <tcp  srcipaddr='$A' srcportstart='$B'/>
      </rule>
    
    processes the two lists 'A' and 'B' in parallel. This means that A and B
    must have the same number of 'N' elements and that 'N' rules will be 
    instantiated (assuming all tuples from A and B are unique).
    
    In this patch we now introduce the assignment of variables to different
    iterators. Therefore a rule like
    
      <rule action='accept' direction='out'>
         <tcp  srcipaddr='$A[@1]' srcportstart='$B[@2]'/>
      </rule>
    
    will now create every combination of elements in A with elements in B since
    A has been assigned to an iterator with Id '1' and B has been assigned to an
    iterator with Id '2', thus processing their value independently.
    
    The first rule has an equivalent notation of
    
      <rule action='accept' direction='out'>
         <tcp  srcipaddr='$A[@0]' srcportstart='$B[@0]'/>
      </rule>
    80e9a5cd
libvirt_private.syms 30.6 KB