NIC中的描述符概念?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (13)

在Realtek卡驱动程序代码中。我定义了以下结构。

struct Desc
{
        uint32_t opts1;
        uint32_t opts2;
        uint64_t addr;
};

txd->addr = cpu_to_le64(mapping);
txd->opts2 = cpu_to_le32(opts2);
txd->opts1 = cpu_to_le32(opts1 & ~DescOwn);

所以,是opts1 and opts2有位喜欢DescOwn特定的卡?它们是否会由制造商在数据表中定义?

提问于
用户回答回答于
  1. 它们是遵循NIC硬件定义的软件结构,因此两者能够相互理解和相互交流。
  2. 根据供应商定义的合同,它们可以通过任何一种方式填充。可能的设想可包括但不限于:
    • 驱动程序(例如,驱动程序准备的空缓冲区由硬件Rx接收;驱动程序准备的数据包缓冲区由硬件TX发送)
    • 由NIC(例如,硬件为已完成的Rx数据包写回的数据包缓冲区;由硬件指示的已完成的TX数据包缓冲区)

所属标签

可能回答问题的人

  • 天使的炫翼

    17 粉丝531 提问35 回答
  • 富有想象力的人

    2 粉丝0 提问26 回答
  • 旺仔小小鹿

    社区 · 运营 (已认证)

    48 粉丝0 提问26 回答
  • 发条丶魔灵1

    6 粉丝525 提问25 回答

扫码关注云+社区

领取腾讯云代金券