--tag-if=set:<tag>[,set:<tag>[,tag:<tag>[,tag:<tag>]]]
Perform boolean operations on tags. All set:<tag> tags are set if all tag:<tag> are already set, (or unset when tag:!<tag> is used). If no tag:<tag> appears, set:<tag> tags are set unconditionally. Any number of set: and tag: forms may appear, in any order. --tag-if lines are executed in order, so if the tag in tag:<tag> is a tag set by another --tag-if, the line which sets the tag must precede the line which tests it.

As an extension, the tag:<tag> clauses support limited wildcard matching, similar to the matching in the --interface directive. This allows the example --tag-if=set:ppp,tag:ppp* to set the tag 'ppp' for all requests received on any matching interface (ppp0, ppp1, etc). This can be used in conjunction with the tag:!<tag> format meaning that no tag matching the wildcard may be set.