Hello Hubert,
I engaged my engineering team for input as I wasn't able to find a straight answer to this on my own. They sent back some input that notes yes we do support multiple indexes.
They referenced an example might be something like some entries in the OOTB JuniperErxQosPolicev5 VC. Always good to reuse existing code, replacing necessary values where required.
<AttributeGroup name="JuniperErxPolicyRuleGroup" external="true" list="true">
<Documentation/>
<UseIndex>ifPolicyRule</UseIndex>
<Attribute name="RuleIndex" type="ObjectID">
<Documentation/>
<IsKey>false</IsKey>
<IsIndex>true</IsIndex>
<Source>1.3.6.1.4.1.4874.2.2.27.1.3.3.1.4</Source>
</Attribute>
<Attribute name="juniPolicyRuleType" type="Long">
<Documentation/>
<IsKey>false</IsKey>
<IsIndex>false</IsIndex>
<NeedsDelta>false</NeedsDelta>
<Source>1.3.6.1.4.1.4874.2.2.27.1.3.3.1.4</Source>
</Attribute>
</AttributeGroup>
<IndexTagList>
<PrimaryTag>ifAttachStats</PrimaryTag>
<IndexTag>
<Name>ifPolicyRule</Name>
<PrimaryKeyExpression>snmpOIDParser(Index,4,5)+"."+"4"</PrimaryKeyExpression>
<ThisTagKeyExpression>
snmpOIDParser(RuleIndex,1,2)+"."+juniPolicyRuleType
</ThisTagKeyExpression>
</IndexTag>
Above we have an attributegroup, and it says to useIndex ifPolicyRule. That index says to construct an index from 2 attributes.
This is the basic gist of multiple index support for a table.
Let me know if that answers your questions.
Thanks,
Michael