+ private void checkSalMatch(org.opendaylight.controller.sal.match.Match match, MtchType mt) {
+ switch (mt) {
+ case other:
+ assertEquals("DL_DST isn't equal.", "3C:A9:F4:00:E0:C8",
+ new String((byte[]) match.getField(MatchType.DL_DST).getValue()));
+ assertEquals("DL_SRC isn't equal.", "24:77:03:7C:C5:F1",
+ new String((byte[]) match.getField(MatchType.DL_SRC).getValue()));
+ assertEquals("DL_TYPE isn't equal.", (short) 0xffff, (short) match.getField(MatchType.DL_TYPE).getValue());
+ assertEquals("NW_TOS isn't equal.", (byte) 0x33, (byte) match.getField(MatchType.NW_TOS).getValue());
+ assertEquals("NW_PROTO isn't equal.", (byte) 0x3f, (byte) match.getField(MatchType.NW_PROTO).getValue());
+ assertEquals("DL_VLAN isn't equal.", (short) 0xfff, (short) match.getField(MatchType.DL_VLAN).getValue());
+ assertEquals("DL_VLAN_PR isn't equal.", (byte) 0x7, (byte) match.getField(MatchType.DL_VLAN_PR).getValue());
+ break;
+ case arp:
+ assertEquals("DL_SRC isn't equal.", "22:44:66:88:AA:CC",
+ new String((byte[]) match.getField(MatchType.DL_SRC).getValue()));
+ assertEquals("DL_DST isn't equal.", "11:33:55:77:BB:DD",
+ new String((byte[]) match.getField(MatchType.DL_DST).getValue()));
+ assertEquals("NW_SRC isn't equal.", "192.168.1.101",
+ InetAddresses.toAddrString((InetAddress) match.getField(MatchType.NW_SRC).getValue()));
+ assertEquals("NW_DST isn't equal.", "192.168.1.102",
+ InetAddresses.toAddrString((InetAddress) match.getField(MatchType.NW_DST).getValue()));
+ assertEquals("DL_TYPE isn't equal.", ETHERNET_ARP, match.getField(MatchType.DL_TYPE).getValue());
+ break;
+ case ipv4:
+ assertEquals("NW_SRC isn't equal.", "192.168.1.104",
+ InetAddresses.toAddrString((InetAddress) match.getField(MatchType.NW_SRC).getValue()));
+ assertEquals("NW_DST isn't equal.", "192.168.1.105",
+ InetAddresses.toAddrString((InetAddress) match.getField(MatchType.NW_DST).getValue()));
+ break;
+ case ipv6:
+ assertEquals("NW_SRC isn't equal.", "3001:db8:85a3::8a2e:370:7334",
+ InetAddresses.toAddrString((InetAddress) match.getField(MatchType.NW_SRC).getValue()));
+ assertEquals("NW_DST isn't equal.", "3001:db8:85a3::8a2e:370:7335",
+ InetAddresses.toAddrString((InetAddress) match.getField(MatchType.NW_DST).getValue()));
+ break;
+ case sctp:
+ assertEquals("TP_SRC isn't equal.", 31, (short) match.getField(MatchType.TP_SRC).getValue());
+ assertEquals("TP_DST isn't equal.", 32, (short) match.getField(MatchType.TP_DST).getValue());
+ assertEquals("NW_PROTO isn't equal.", SCTP, (byte) match.getField(MatchType.NW_PROTO).getValue());
+ break;
+ case tcp:
+ assertEquals("TP_SRC isn't equal.", 21, (short) match.getField(MatchType.TP_SRC).getValue());
+ assertEquals("TP_DST isn't equal.", 22, (short) match.getField(MatchType.TP_DST).getValue());
+ assertEquals("NW_PROTO isn't equal.", TCP, (byte) match.getField(MatchType.NW_PROTO).getValue());
+ break;
+ case udp:
+ assertEquals("TP_SRC isn't equal.", 11, (short) match.getField(MatchType.TP_SRC).getValue());
+ assertEquals("TP_DST isn't equal.", 12, (short) match.getField(MatchType.TP_DST).getValue());
+ assertEquals("NW_PROTO isn't equal.", UDP, (byte) match.getField(MatchType.NW_PROTO).getValue());
+ break;
+ default:
+ break;
+
+ }
+
+ }
+