Yes. Zoltan has this exactly right. On Fri, Apr 15, 2011 at 8:02 AM, Zoltán Lajos Kis < [email protected]> wrote:
> The complexity would be in the protocol. The flow entries should be able > to tell not only the actions to be written, but also their exact location > among the actions already in the list (which are uknown prior to matching), > and whether the new actions replace existing ones or not. > > Regards, > Zoltan. > > ------------------------------ > *From:* [email protected] [mailto: > [email protected]] *On Behalf Of *Kiran > Yedavalli > *Sent:* Friday, April 15, 2011 4:30 PM > *To:* Rajiv Ramanathan > > *Cc:* [email protected] > *Subject:* Re: [openflow-discuss] Pushing 2 MPLS labels. > > Its pretty complicated to handle multiple actions (if it was an > ActionList) because it involves "insertion" of actions in a specific order > on a table match. > > I think the complexity of implementation should be left to the vendor in > this case. There could be many simple cases where there is not much > complexity in implementation of this. Taking away this functionality is > reducing the flexibility of OF 1.1 implementation as such. > > > ------------------------------ > *From:* Rajiv Ramanathan [mailto:[email protected]] > *Sent:* Friday, April 15, 2011 3:18 AM > *To:* Kiran Yedavalli > *Cc:* [email protected] > *Subject:* Re: [openflow-discuss] Pushing 2 MPLS labels. > > > > On Thu, Apr 14, 2011 at 5:04 PM, Kiran Yedavalli < > [email protected]> wrote: > >> Thanks Rajiv and Dan. Looks like we need metadata in any case for this >> to work. We initially thought of this, but our platform does not support >> metadata, so was wondering if there is a way without using metadata. Looks >> like there is none. >> > > This is no reason not to use metadata. I don't believe your "software" > pipeline has to match your "hardware" pipeline. The switch can translate the > controller request to push 2 labels on 2 tables to pushing 2 labels on one > hardware table. I definitely understand that this could become non-trivial. > > >> >> Also, what is the reason why Action Set does not support more than one >> action of the same kind? >> > > Its pretty complicated to handle multiple actions (if it was an ActionList) > because it involves "insertion" of actions in a specific order on a table > match. > > >> >> Thanks >> Kiran >> >> ------------------------------ >> *From:* Rajiv Ramanathan [mailto:[email protected]] >> *Sent:* Thursday, April 14, 2011 1:58 PM >> *To:* Kiran Yedavalli >> *Cc:* [email protected] >> *Subject:* Re: [openflow-discuss] Pushing 2 MPLS labels. >> >> 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 > >
_______________________________________________ openflow-discuss mailing list [email protected] https://mailman.stanford.edu/mailman/listinfo/openflow-discuss
