[ovs-dev] [PATCH] bridge: Allow flows based on ARP opcode to be installed.

Jesse Gross jesse at nicira.com
Mon Oct 26 18:36:43 UTC 2009



Ben Pfaff wrote:
> Jesse Gross <jesse at nicira.com> writes:
>
>   
>>  static bool
>> -is_bcast_arp_reply(const flow_t *flow, const struct ofpbuf *packet)
>> +is_bcast_arp_reply(const flow_t *flow)
>>  {
>> -    struct arp_eth_header *arp = (struct arp_eth_header *) packet->data;
>>      return (flow->dl_type == htons(ETH_TYPE_ARP)
>> -            && eth_addr_is_broadcast(flow->dl_dst)
>> -            && packet->size >= sizeof(struct arp_eth_header)
>> -            && arp->ar_op == ARP_OP_REQUEST);
>> +            && flow->nw_proto == ARP_OP_REQUEST
>> +            && eth_addr_is_broadcast(flow->dl_dst));
>>  }
>>     
>
> The function name talks about ARP replies.  The comments talk
> about ARP replies.  The code, however (both old and new),
> actually tests for an ARP *request*.  I think that this is a bug.
>   

Thanks for catching this.  I fixed the problem and pushed.




More information about the dev mailing list