RTX64 以太网过滤器是 RT-TCP/IP 栈和实时网络接口之间的扩展接口。使用该接口过滤数据链路层的所有帧,并将以太网帧直接发送到 RTND 驱动程序。
过滤层被创建为一个实时 DLL (RTDLL)。过滤器通过栈加载,并和给定的接口关联。由于它是一个 RTDLL,因此可以使用所有支持的 RTAPI 调用。
加载以太网过滤器
以太网过滤器和 RT-TCP/IP 栈同时加载。创建自定义过滤器后,可以将该过滤器与接口关联,并使用 RTX64 控制面板配置为通过栈加载。
相关函数
可以在使用过滤器时调用以下 API 函数。其中指出了过滤器 RTDLL 实现所需的函数。
函数 | 描述 | 必需或可选 |
---|---|---|
RtndReceiveFilter | NIC 驱动程序收到传入帧时调用 | 必需 |
RtndReceiveFilterEx | NIC 驱动程序收到传入以太网帧时调用 | 必需 |
RtndTransmitFilter | 传出帧发送到 NIC 驱动程序时调用 | 必需 |
RtndTransmitFilterEx | 栈接收到传出以太网帧时调用 | 必需 |
RtnFrameTransmit | 过滤器发送帧时调用。如果应用程序要将帧发送到下一个过滤器或驱动程序时,也可以使用此函数。该帧绕过 RT-TCP-IP 栈 | 可选 |
RtnFrameAllocate | 返回指向新帧的指针。RtnFrameAllocate 用于从 RT-TCP/IP 栈获取帧。 | 可选 |
RtnFrameFree | 把为帧分配的内存返回到 RT-TCP/IP 栈。RtnFrameFree 通常由应用程序或过滤器调用,来释放未使用的帧。 | 可选 |
RtndConfigureFilter | 执行任何过滤器级别的配置。 | 必需 |