Mod(EthDst()) Sends Incorrect OpenFlow Message in Packet Out
craig-riecke opened this issue · 1 comments
craig-riecke commented
The following JSON packet out command:
{
'switch': 282574488338432, 'actions': [
{'header': 'ip4src', 'type': 'mod', 'value': {'mask': 32, 'addr': u'10.0.2.100'}},
{'header': 'ethsrc', 'type': 'mod', 'value': u'01:01:01:01:01:01'},
{'header': 'ethdst', 'type': 'mod', 'value': '00:00:01:00:00:02'},
{'pseudoport': {'type': 'physical', 'port': 1}, 'type': 'output'}],
'in_port': None, 'payload': {'type': 'buffered', 'bufferid': 325}
}
Gets translated into the following OpenVSwitch OpenFlow message:
OFPT_PACKET_OUT (xid=0x0): in_port=ANY
actions=mod_nw_src:10.0.2.100,
mod_dl_src:01:01:01:01:01:01,
mod_dl_src:00:00:01:00:00:02,
output:1
buffer=0x00000145
Note how mod_dl_src
is listed twice, one with the modification sent for header ethSrc
and one for the header ethDst
.
craig-riecke commented
Fixed in #505