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

Reply via email to