21/09/2022 11:04, Ivan Malov: > Now it's clear to me that your intention is to match on exact ports, > as usual, but this time with a hint for the flow table. Got it. > > In your response, you say that matching on ALL vports is not what > the use case needs. OK, I understood. But please note that the > item name does not say "ALL", it says "ANY". > > OK. Say, "ANY" is also confusing. Let's then name it "VPORTS_ONLY" > and "PHY_PORTS_ONLY". This way, if user provides item VPORTS_ONLY > and then provides item REPRESENTED_PORT, these two items do not > contradict each other. Item VPORTS_ONLY defines the scope of some > kind, then the following item, REPRESENTED_PORT, makes it narrower. > > And, in documentation, one can say clearly that the user *may* > omit item VPORTS_ONLY in the exact rule pattern provided that > they have already submitted this item as part of the template.
I think the problem that Rongwei & Ori are trying to solve is to allocate resources for the templates table in the right place. A table can have multiple templates. If all rules/templates for this table are dedicated to virtual ports, then the table will be allocated in a place managing only virtual ports. This allocation decision must be taken at table creation, whereas rules will be created later. In order to do this specific table allocation for vports, we need to restrict all templates of the table to be "vports only". I hope it makes things clearer. Now the question is how to achieve this? Solutions are: 1/ give a hint to the table allocation 2/ insert a pattern item in all templates of the table I don't see any other solution. Please propose if there are more options.