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.

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.


> For the string representations, as I told Joe Stringer, I'm leaning
> toward requiring them to be in the correct order for instructions listed
> above.  Otherwise it seems risky that one could confuse the user.
> Similarly for the OF1.0 extension representation of OF1.1 instructions.
> 
> Comments?
> 
> Thanks,
> 
> Ben.
> 

-- 
yamahata
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to