A couple of solutions (variations of the same theme) are: Table 0: match on dest IP, set metadata Table 1: match on input port, push inner label Table 3: match on metadata, push outer label
or Table 0: match on dest IP and input port, set metadata and push inner label Table 1: match on metadata, push outer labe. On Thu, Apr 14, 2011 at 10:37 AM, Kiran Yedavalli < [email protected]> wrote: > Hi, > > The problem is to push two MPLS labels onto a packet, the inner one based > on input port and the outer one based on destination IP address. However, > the spec does not allow this in any way. We looked at three options: > > Option 1. Match on input port on table 0 and push a MPLS label, next, match > on dest IP address in table 1 and push a MPLS label. The spec does not > allows this, because we cannot look at the IP address after we push a MPLS > label, according to the spec. > > Option 2. Match on dest IP address on table 0 and push a MPLS label, next, > match on input port in table 1 and push a MPLS label. But in this case, > according to the spec, we can only push an outmost label everytime we push. > This does not work for us either. > > Option 3. Accumlate all actions in the Action Set using the WriteActions > Instruction. This does not work either, because the Action Set cannot have > more than one of the same kind of action. > > Is there any other way of accomplishing this? If not, we think this is a > flaw in the spec that does not allow for inserting more than one label. > > Thanks > Kiran > > > > > _______________________________________________ > openflow-discuss mailing list > [email protected] > https://mailman.stanford.edu/mailman/listinfo/openflow-discuss > >
_______________________________________________ openflow-discuss mailing list [email protected] https://mailman.stanford.edu/mailman/listinfo/openflow-discuss
