diff --git a/src/main/java/net/floodlightcontroller/forwarding/Forwarding.java b/src/main/java/net/floodlightcontroller/forwarding/Forwarding.java index 3b4bd2758e890b412eabcdcabf03205b6e07132e..015f3581d7f93fac65014181c1079f6f766efcf7 100644 --- a/src/main/java/net/floodlightcontroller/forwarding/Forwarding.java +++ b/src/main/java/net/floodlightcontroller/forwarding/Forwarding.java @@ -656,7 +656,12 @@ public class Forwarding extends ForwardingBase implements IFloodlightModule, IOF if (FLOWMOD_DEFAULT_MATCH_TRANSPORT_DST) { mb.setExact(MatchField.TCP_DST, tcp.getDestinationPort()); } - if( + if (sw.getOFFactory().getVersion().compareTo(OFVersion.OF_15) >= 0){ + if(FLOWMOD_DEFAULT_MATCH_TCP_FLAG){ + mb.setExact(MatchField.TCP_FLAGS, U16.of(tcp.getFlags())); + } + } + else if( sw.getSwitchDescription().getHardwareDescription().toLowerCase().contains("open vswitch") && ( Integer.parseInt(sw.getSwitchDescription().getSoftwareDescription().toLowerCase().split("\\.")[0]) > 2 || ( Integer.parseInt(sw.getSwitchDescription().getSoftwareDescription().toLowerCase().split("\\.")[0]) == 2 &&