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