On 19/02/2015 17:24, Matan Barak wrote:
> 
> 
> On 2/19/2015 4:37 PM, Haggai Eran wrote:
>> On 20/02/2015 00:02, Somnath Kotur wrote:
>>> @@ -203,21 +235,30 @@ int ib_init_ah_from_wc(struct ib_device
>>> *device, u8 port_num, struct ib_wc *wc,
>>>
>>>       memset(ah_attr, 0, sizeof *ah_attr);
>>>       if (is_eth) {
>>> +        u16 vlan_id = wc->wc_flags & IB_WC_WITH_VLAN ?
>>> +                wc->vlan_id : 0xffff;
>>> +
>>>           if (!(wc->wc_flags & IB_WC_GRH))
>>>               return -EPROTOTYPE;
>>>
>>> -        if (wc->wc_flags & IB_WC_WITH_SMAC &&
>>> -            wc->wc_flags & IB_WC_WITH_VLAN) {
>>> -            memcpy(ah_attr->dmac, wc->smac, ETH_ALEN);
>>> -            ah_attr->vlan_id = wc->vlan_id;
>>> -        } else {
>>> +        if (!(wc->wc_flags & IB_WC_WITH_SMAC) ||
>>> +            !(wc->wc_flags & IB_WC_WITH_VLAN)) {
>>>               ret = rdma_addr_find_dmac_by_grh(&grh->dgid, &grh->sgid,
>>> -                    ah_attr->dmac, &ah_attr->vlan_id);
>>> +                             ah_attr->dmac,
>>> +                             wc->wc_flags & IB_WC_WITH_VLAN ?
>>> +                             NULL : &vlan_id,
>>> +                             0);
>>>               if (ret)
>>>                   return ret;
>>>           }
>>> -    } else {
>>> -        ah_attr->vlan_id = 0xffff;
>>
>> Previously vlan_id would get set to 0xffff on non-Ethernet link-layer,
>> and now it is left as zero. Wouldn't that break things for non-Ethernet
>> protocols?
> 
> On non-Ethernet link-later, vlan_id was ignored. This field was deleted
> in this patchset.
> 

Ah, okay. I missed that :)

Haggai

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to