packet_rx微块的初步分析.docVIP

  • 5
  • 0
  • 约4.72千字
  • 约 3页
  • 2017-02-09 发布于湖南
  • 举报
packet_rx微块的初步分析

Packet_RX微块的初步分析 Packet_RX微块从OC-48 POS网络接口接收分组,建立起分组的缓存和元数据,调用DlSink微块将分组信息写入便笺环。DlSink函数由Packet_RX微块所在的调度环提供。Packet_RX微块的主函数在packet_rx.c中,它作为调度环的主函数,完成调度环的初始化和主循环。 分组的接收是以64字节的mpacket为基本单位进行的。在接收的过程中,微引擎软件需要将一个个mpacket在DRAM中重装起来。为此,接收微块是一个有状态的线程。一个分组的接收在多个线程之间交替进行,无论哪个线程都可以为一个分组接收并重装其中的一个mpacket。每个线程在接收一个mpacket时需要恢复分组接收的状态,接收完后需要保存分组接收的状态。分组接收的状态保存在一个称为分组接收上下文的数据结构rxc中。分组接收微块在本地存储器中为每个端口建立起接收上下文rxc的信息字,构成一个数组。它们是同一微引擎线程间共享的数据,存放在固定的存储位置,线程可以随时读取其中的信息。线程如果接收到一个带有SOP的mpacket,则建立起新的分组的接收上下文,以后每接收到一个中间mpacket都对接收上下文进行修改,接收到带有EOP的mpacket时完成分组元数据的构造。接收上下文rxc的信息字作为rxc_t数据类型,在packet_rx.h中定义。 分组接收微块采

文档评论(0)

1亿VIP精品文档

相关文档