对于通信报文的路由转发也是网关的基本功能之一。
以太网报文和CAN/FD报文之间的路由,网关的处理可以分为三个模块:接收、帧处理、发送。
- 接收模块的目的是:从任意通道接收帧,并与网关路由表进行对比,并且如果比对成功的话,将其交由帧处理模块。
- 帧处理模块的目的是:将接收到的帧处理成目标信号格式(CAN/FD和以太网),并将其发送到目标网络的发送缓存中。
- 发送模块的目的是将需要发送的帧整理为特定格式,并将其放在硬件发送缓存中,以便当目标网络可用时发送。
对于目标网段为周期发送的CAN/FD报文,如果网关在发送前接收到源网段以太网帧更新,必须始终发送最新的数据。 以太网到CAN/FD的帧处理目的是将接收到的以太网帧转换为CAN/FD报文格式,并将其存储在目标网络的发送缓存中。
如果一个以太网帧中包含了一个或多个普通类型CAN报文,或者一个或多个CANFD报文,或者一个或多个container类型CANFD报文,则应当被网关处理为:
- 一个或多个CAN报文
- 一个或多个CANFD报文
- 一个或多个container类型CANFD报文
CAN/FD的发送过程目的是将报文整理为特定顺序,并将其放在硬件发送缓存中,当目标网络可用时即可完成发送。
GW将在源网络和目标网络之间进行帧过滤。在CAN/FD网络中,GW必须只能处理网关路由表中所定义的CAN/FD报文,其他报文不做处理。