Ah yes, silly mistake.  Thanks!

Ethan

On Wed, Sep 7, 2011 at 06:44, Brian Haley <brian.ha...@hp.com> wrote:
> Hi Ethan,
>
> On 09/06/2011 10:32 PM, Ethan Jackson wrote:
>> Before this patch, ofproto-dpif would not forward any LACP or CFM
>> packets regardless of whether or not the relevant modules were
>> configured on the in_port.
>>
>> Feature #6316.
>> ---
>>  ofproto/ofproto-dpif.c |   19 ++++++++++++-------
>>  1 files changed, 12 insertions(+), 7 deletions(-)
>>
>> diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
>> index 478768f..4253202 100644
>> --- a/ofproto/ofproto-dpif.c
>> +++ b/ofproto/ofproto-dpif.c
>> @@ -1614,16 +1614,21 @@ static bool
>>  process_special(struct ofproto_dpif *ofproto, const struct flow *flow,
>>                  const struct ofpbuf *packet)
>>  {
>> -    if (cfm_should_process_flow(flow)) {
>> -        struct ofport_dpif *ofport = get_ofp_port(ofproto, flow->in_port);
>> -        if (packet && ofport && ofport->cfm) {
>> +    struct ofport_dpif *ofport = get_ofp_port(ofproto, flow->in_port);
>> +
>> +    if (!ofport) {
>> +        return false;
>> +    }
>> +
>> +    if (ofport->cfm && cfm_should_process_flow(flow)) {
>> +        if (packet) {
>>              cfm_process_heartbeat(ofport->cfm, packet);
>>          }
>>          return true;
>> -    } else if (flow->dl_type == htons(ETH_TYPE_LACP)) {
>> -        struct ofport_dpif *port = get_ofp_port(ofproto, flow->in_port);
>> -        if (packet && port && port->bundle && port->bundle->lacp) {
>> -            lacp_process_packet(port->bundle->lacp, port, packet);
>> +    } else if (ofport && ofport->bundle && ofport->bundle->lacp
>> +               && flow->dl_type == htons(ETH_TYPE_LACP)) {
>> +        if (packet) {
>> +            lacp_process_packet(ofport->bundle->lacp, ofport, packet);
>>          }
>>          return true;
>>      }
>
> You already checked that 'ofport' is valid above, so you don't need to check 
> it
> again in this 'else' case before de-referencing it, right?
>
> -Brian
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to