Looks good. Ethan
On Tue, Dec 27, 2011 at 14:32, Ben Pfaff <b...@nicira.com> wrote: > gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48) warned: > > ofproto/ofproto-dpif.c: In function 'bundle_send_learning_packets': > ofproto/ofproto-dpif.c:1835: warning: dereferencing type-punned pointer > will break strict-aliasing rules > > I agree that its analysis matches what the C standard says. This commit > fixes the problem and avoids the warning. > > The assignment to 'port' isn't actually necessary. I included it because > I like to have a variable with the correct type near the use of that type > through a "void *". Then "grep" for that type is more effective, and the > compiler will be able to diagnose any later change to (in this case) the > type of the first parameter to send_packet(). > > Signed-off-by: Ben Pfaff <b...@nicira.com> > --- > ofproto/ofproto-dpif.c | 8 +++++--- > 1 files changed, 5 insertions(+), 3 deletions(-) > > diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c > index 1eb0b82..004991b 100644 > --- a/ofproto/ofproto-dpif.c > +++ b/ofproto/ofproto-dpif.c > @@ -1828,11 +1828,13 @@ bundle_send_learning_packets(struct ofbundle *bundle) > if (e->port.p != bundle) { > struct ofpbuf *learning_packet; > struct ofport_dpif *port; > + void *port_void; > int ret; > > - learning_packet = bond_compose_learning_packet(bundle->bond, > e->mac, > - e->vlan, > - (void **)&port); > + learning_packet = bond_compose_learning_packet(bundle->bond, > + e->mac, e->vlan, > + &port_void); > + port = port_void; > ret = send_packet(port, learning_packet); > ofpbuf_delete(learning_packet); > if (ret) { > -- > 1.7.2.5 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev