On Wed, Apr 02, 2014 at 10:59:29AM -0700, Jarno Rajahalme wrote: > Rename 'l2' to 'frame' and add new ofpbuf_set_frame() and > ofpbuf_get_l2(). ofpbuf_set_frame() alse resets all the layer > offsets. ofpbuf_get_l2() returns NULL if the packet has no Ethernet > header, as indicated either by unset l3 offset or NULL frame pointer. > Caller's of ofpbuf_get_l2() are supposed to check the return value, > unless they can otherwise be sure that the packet has a valid Ethernet > header. > > The recent commit 437d0d22 made some assumptions that were not valid > regarding the use of the 'l2' pointer in rconn module and by > compose_rarp(). This is now fixed as follows: rconn now relies on the > fact that once OpenFlow messages are given to rconn for transport, the > frame pointer is no longer needed to refer to the OpenFlow header; and > compose_rarp() now sets the frame pointer and offsets as expected. > > In addition to storing network frames, ofpbufs are also used for > handling OpenFlow messages and action lists. lib/ofpbuf.h now has a > comment documenting the current usage conventions and invariants. > > Signed-off-by: Jarno Rajahalme <jrajaha...@nicira.com>
I didn't read all the detailed changes, but I read the struct ofpbuf interface changes (especially the comments) and don't have anything to add there. Acked-by: Ben Pfaff <b...@nicira.com> _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev