Hello,
I have 4 HP switch with the same configuration.
Here is the match field I've just created:
MutableMatch match = MatchFactory.createMatch(PV);
match = MatchFactory.createMatch(version);
match.addField(FieldFactory.createBasicField(PV, OxmBasicFieldType.ETH_TYPE, EthernetType.ARP));
When I execute my bundle, only 2 from my 4 switch received the flow mod.
Here is the trace I can see on the "OpenFlow trace":
11:05:08.282MESSAGE_TX00:14:f0:92:1c:21:fa:c0{ofm:[V_1_3,FLOW_MOD,88,2027],cmd=ADD,match={Match(V_1_3):[type=OXM,len=10],fields=ETH_TYPE},...}
11:05:08.282MESSAGE_TX00:14:f0:92:1c:21:fa:c0{ofm:[V_1_3,BARRIER_REQUEST,8,2027]}
11:05:08.210MESSAGE_TX00:14:c0:91:34:e7:b5:c0{ofm:[V_1_3,FLOW_MOD,88,2025],cmd=ADD,match={Match(V_1_3):[type=OXM,len=10],fields=ETH_TYPE},...}
11:05:08.210MESSAGE_TX00:14:c0:91:34:e7:b5:c0{ofm:[V_1_3,BARRIER_REQUEST,8,2025]}
11:05:08.212MESSAGE_RX00:14:c0:91:34:e7:b5:c0{ofm:[V_1_3,ERROR,76,2025],BAD_MATCH/BAD_FIELD,#dataBytes=64,OFM-cause:[V_1_3,FLOW_MOD,88,2025]}
11:05:08.212MESSAGE_RX00:14:c0:91:34:e7:b5:c0{ofm:[V_1_3,BARRIER_REPLY,8,2025]}
11:05:08.246MESSAGE_TX00:14:f0:92:1c:21:a8:40{ofm:[V_1_3,FLOW_MOD,88,2026],cmd=ADD,match={Match(V_1_3):[type=OXM,len=10],fields=ETH_TYPE},...}
11:05:08.246MESSAGE_TX00:14:f0:92:1c:21:a8:40{ofm:[V_1_3,BARRIER_REQUEST,8,2026]}
11:05:08.167MESSAGE_TX00:14:3c:4a:92:fa:cd:80{ofm:[V_1_3,FLOW_MOD,88,2024],cmd=ADD,match={Match(V_1_3):[type=OXM,len=10],fields=ETH_TYPE},...}
11:05:08.168MESSAGE_TX00:14:3c:4a:92:fa:cd:80{ofm:[V_1_3,BARRIER_REQUEST,8,2024]}
11:05:08.169MESSAGE_RX00:14:3c:4a:92:fa:cd:80{ofm:[V_1_3,ERROR,76,2024],BAD_MATCH/BAD_FIELD,#dataBytes=64,OFM-cause:[V_1_3,FLOW_MOD,88,2024]}
The flow mod worked for switch 14:f0:92:1c:21:fa:c0 and switch 14:f0:92:1c:21:a8:40 and failed for 14:c0:91:34:e7:b5:c0 and 14:3c:4a:92:fa:cd:80.
The Error returned by the switches is: BAD_MATCH/BAD_FIELD.
If my match is wrong, why does it work for two switches and failes for the rest ?