It's possible to pass multiple parameters to the "filterref" using "parameter" keyword. Like this:
<filterref filter='no-ip-spoofing'>
<parameter name='IP' value='10.0.0.1'/>
<parameter name='IP' value='10.0.0.2'/>
</filterref>
And use they in "no-ip-spoofing" inside "rule" statement:
<rule action='return' direction='out' priority='500'>
<ip srcipaddr='$IP'/>
</rule>
Each IP (10.0.0.1, 10.0.0.2) inside "rule" statement will be processed independently.
Q: But is it possible to pass parameters as a complex structure?
For example I want to send to "no-ip-spoofing" not only the IP but also the MASK. Something like that (of course the next list is incorrect xml structure):
<filterref filter='no-ip-spoofing'>
<parameter name='IP' value='10.0.0.1', name='MASK' value='255.255.255.0'/>
<parameter name='IP' value='10.0.0.2', name='MASK' value='255.255.255.0'/>
</filterref>
And process they like that:
<rule action='return' direction='out' priority='500'>
<ip srcipaddr='$IP' srcipmask='$MASK'/>
</rule>
How can I do that?