自己搞这个消息搞了将近半个月,由于网上很少有相关的资料,根本无从下手,经过不断地尝试终于成功,今天整理出来记录一下
首先在ryu控制器端修改对应的parser的代码,我用的是1.3版本的openflow协议,所以在ofproto_v1_3_parser.py修改类OFPExperimenter
def _serialize_body(self): assert self.data is not None self.experimenter = 0x4f4e4600 self.exp_type = 2302 msg_pack_into(ofproto.OFP_EXPERIMENTER_HEADER_PACK_STR, self.buf, ofproto.OFP_HEADER_SIZE, self.experimenter, self.exp_type) self.buf += self.data
设置self.experimenter = 0x4f4e4600 self.exp_type = 2302
,其他部分可根据自己的需要进行修改,修改完解析器的代码后通过命令sudo python setup.py install
对ryu进行重新编译安装。
然后修改ovs的代码,首先在include/openvsitch/ofp-msgs.h文件中添加消息的类型。在ofpraw这个结构体添加消息类型/* ONFT 1.3 (2302): uint8_t[]. */ OFPRAW_ONFT13_EXPERIMENTER,
,(2302一定要和ryu端的 self.exp_type = 2302对应)ofptype枚举体更新消息类型OFPTYPE_EXPERIMENTER, /* OFPRAW_ONFT13_EXPERIMENTER. */
(很重要,因为当o
RYU+OVS实现Experimenter消息
最新推荐文章于 2022-05-09 18:18:40 发布