import java.util.UUID;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
-
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.net.util.SubnetUtils;
import org.apache.commons.net.util.SubnetUtils.SubnetInfo;
}
public static List<TunnelOptions> buildTunnelOptions(TunnelEndPoints tep, ItmConfig itmConfig) {
- List<TunnelOptions> tunOptions = null;
+ List<TunnelOptions> tunOptions = new ArrayList<>();
String tos = tep.getOptionTunnelTos();
if (tos == null) {
}
/* populate tos option only if its not default value of 0 */
if (tos != null && !tos.equals("0")) {
- tunOptions = new ArrayList<>(1);
TunnelOptionsBuilder optionsBuilder = new TunnelOptionsBuilder();
optionsBuilder.setKey(new TunnelOptionsKey("tos"));
optionsBuilder.setTunnelOption("tos");
optionsBuilder.setValue(tos);
tunOptions.add(optionsBuilder.build());
}
- return tunOptions;
+
+ if (tep.getTunnelType() == TunnelTypeVxlan.class && itmConfig.isGpeExtensionEnabled()) {
+ TunnelOptionsBuilder optionsBuilder = new TunnelOptionsBuilder();
+ optionsBuilder.setKey(new TunnelOptionsKey("exts"));
+ optionsBuilder.setTunnelOption("exts");
+ optionsBuilder.setValue("gpe");
+ tunOptions.add(optionsBuilder.build());
+ }
+
+ return tunOptions.isEmpty() ? null : tunOptions;
}
}
bind(ITMManager.class);
bind(ItmProvider.class);
ItmConfig itmConfigObj = new ItmConfigBuilder()
- .setDefTzEnabled(true).setDefTzTunnelType(ITMConstants.TUNNEL_TYPE_VXLAN).build();
+ .setDefTzEnabled(true)
+ .setDefTzTunnelType(ITMConstants.TUNNEL_TYPE_VXLAN)
+ .setGpeExtensionEnabled(false)
+ .build();
bind(ItmConfig.class).toInstance(itmConfigObj);
bind(ItmMonitoringIntervalListener.class);
bind(DpnTepsInfoListener.class);