假设有一个测试用例,需求是:编写一个测试用例,发送一条icmpv4 echo request报文给DUT,identifier字段设置为10。判断DUT能够回复icmpv4 echo reply报文,且identifier字段值为10。
实现:在canoe的simulation setup界面插入一个test节点,ip地址为:192.168.0.1,mac地址为:02:00:00:00:00:01,作为测试用例的执行节点。插入一个网络节点,ip地址为:192.68.0.2,mac地址为:02:00:00:00:00:02,作为dut。
这两个节点需要配置自己的tcp/ip协议栈:
其实对于一个节点来说,你不设置tcp/ip协议栈,也是可以通过capl发送以太网报文出去的。你只需要组装一条完整的报文,使用函数output就可以发送出去。那为什么它们都需要设置tcp/ip协议栈呢?文章来源:https://www.toymoban.com/news/detail-612984.html
首先,网络节点设置协议栈,是为了作为dut,收到icmpv4 echo request报文后,能够自动发送icmpv4 echo reply报文。而dut在发送icmpv4 echo reply前,需要获取test节点的mac地址,所以它会先发送一条arp request。那么test节点就需要回复这条arp request消息。你可以在test节点的capl中使用代码实现,你也可以直接配置协议栈,这样它就能自动回复,省去你编写代码的麻烦。这就是为什么test节点也设置了协议栈的原因。<文章来源地址https://www.toymoban.com/news/detail-612984.html
到了这里,关于通过两种实现方式理解CANoe TC8 demo是如何判断接收的以太网报文里的字段的的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!