On Mon, Jul 23, 2012 at 11:30:21AM +0900, Isaku Yamahata wrote:
> On Thu, Jul 19, 2012 at 08:53:23PM -0700, Ben Pfaff wrote:
> > On Fri, Jul 20, 2012 at 11:23:02AM +0900, Isaku Yamahata wrote:
> > > This patch adds instruction OF11 apply-actions/goto-table supports.
> > > 
> > > I rewrite the patch series based on Ben's suggestion.
> > > Now introduce ofpact_instruction to represent instruction delimiter,
> > > and avoid nesting.
> > > Ben, do you like this approach?
> > 
> > Oh, gosh, I was going to reply to your question from yesterday but
> > didn't get a chance yet.  I didn't expect you to work on it before I
> > did.  I hope I didn't waste a bunch of your time.
> > 
> > The high-level principle I have in mind is to reconcile the various
> > ideas of actions across OpenFlow versions by implementing them as
> > extensions in the protocols that don't support them natively.
> > 
> > Joe Stringer has already submitted a patch that implements
> > Write-Metadata almost the way I want it, in the patch here:
> >         http://openvswitch.org/pipermail/dev/2012-July/018897.html
> > There's a lot of discussion of approach afterward, ending up here:
> >         http://openvswitch.org/pipermail/dev/2012-July/018997.html
> > 
> > So, let me describe what I have in mind overall for when we're finished.
> > OpenFlow has the following instructions, which may appear at most once
> > each per set of instructions and which the spec says are executed in the
> > order below:
> > 
> >         Apply-Actions
> >         Clear-Actions
> >         Write-Actions
> >         Write-Metadata
> >         Goto-Table
> > 
> > My thought is that each of these instructions should correspond to
> > one or more ofpact types, which will be put into the list of ofpacts in
> > the order above:
> > 
> >         - Apply-Actions: the existing ofpacts.
> > 
> >         - Clear-Actions: add a new ofpact_clear_actions.
> > 
> >         - Write-Actions: see below.
> > 
> >         - Write-Metadata: add a new ofpact_write_metadata.
> > 
> >         - Goto-Table: add a new ofpact_goto_table (or possibly reuse
> >           ofpact_resubmit if that seems suitable after some thought).
> > 
> > I don't think that any of these needs nesting, with the possible
> > exception of Write-Actions.  I'm not sure about that one; I could see an
> > argument each way.  What do you think?
> 
> Yes, either way is possible, and I implemented the both way.
> Given that you're thinking that Apply-Actions shouldn't use nesting,
> I'd like not to use nesting for Write-Actions.
> If Write-Actions uses nesting, it would be natural for Apply-Actions
> to use nesting. At least for me.

Yes, I agree that consistency seems to make sense here.

> What concerns me is how complex xlate_actions() would be with Write-Actions.
> Anyway we can re-consider it when I (or someone else) attack Write-Actions.
> It is internal representation, not exposed API/ABI.

I had the idea that you intended to implement Write-Actions soon.  If
that isn't the case, then I don't think we need to make a choice here
yet, because the other instructions don't contain anything like actions.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to