private static String addressStr;
private static String portStr;
private static String connectionType;
+ private static boolean ovsdb_wait = false;
private static Southbound southbound;
private static DataBroker dataBroker;
public static final String CONTROLLER_IPADDRESS = "ovsdb.controller.address";
public static final String INTEGRATION_BRIDGE_NAME = "br-int";
private static final String NETVIRT_TOPOLOGY_ID = "netvirt:1";
private static final String OVSDB_TRACE = "ovsdb.trace";
+ private static final String OVSDB_WAIT = "ovsdb.wait";
private static final String SF1NAME = "firewall-72";
private static final String SF2NAME = "dpi-72";
private static final String SF1IP = "10.2.1.1";//"192.168.50.70";//"192.168.120.31";
private static final String SF2IP = "10.2.1.2";
- private static final String SF1DPLNAME = "sf1";
- private static final String SF2DPLNAME = "sf2";
+ private static final String SF1DPLNAME = "sf1Dpl";
+ private static final String SF2DPLNAME = "sf2Dpl";
private static final String SFF1IP = "127.0.0.1"; //"192.168.1.129"
private static final String SFF2IP = "192.168.1.129";//"127.0.0.1";
- private static final String SFF1NAME = "SFF1";
- private static final String SFF2NAME = "SFF2";
+ private static final String SFF1NAME = "sff1";
+ private static final String SFF2NAME = "sff2";
private static final String SFFDPL1NAME = "vxgpe";
private static final String SFFDPL2NAME = "vxgpe";
- private static final String SN1NAME = "OVSDB1";
- private static final String SN2NAME = "OVSDB2";
+ private static final String SN1NAME = "ovsdb1";
+ private static final String SN2NAME = "ovsdb2";
private static final String BRIDGE1NAME= "br-int";
private static final String BRIDGE2NAME= "br-int";
private static final String ACLNAME= "httpAcl";
- private static final String SFCNAME = "SFC";
+ private static final String RULENAME= "httpRule";
+ private static final String SFCNAME = "sfc1";
+ private static final String SFCPATH = "SFC-Path";
+ private static final String SFCSF1NAME = "firewall-abstract";
+ private static final SftType SFCSF1TYPE = new SftType("firewall");
private static final int GPEPORT = 6633;
@Override
public Option[] getPropertiesOptions() {
return new Option[] {
propagateSystemProperties(SERVER_IPADDRESS, SERVER_PORT, CONNECTION_TYPE,
- CONTROLLER_IPADDRESS, OVSDB_TRACE),
+ CONTROLLER_IPADDRESS, OVSDB_TRACE, OVSDB_WAIT),
};
}
editConfigurationFilePut(ORG_OPS4J_PAX_LOGGING_CFG,
"log4j.logger.org.opendaylight.ovsdb.openstack.netvirt.sfc",
LogLevel.TRACE.name()),
- editConfigurationFilePut(ORG_OPS4J_PAX_LOGGING_CFG,
- "log4j.logger.org.opendaylight.ovsdb.openstack.netvirt.providers.openflow13",
- LogLevel.TRACE.name()),
+ //editConfigurationFilePut(ORG_OPS4J_PAX_LOGGING_CFG,
+ // "log4j.logger.org.opendaylight.ovsdb.openstack.netvirt.providers.openflow13",
+ // LogLevel.TRACE.name()),
editConfigurationFilePut(ORG_OPS4J_PAX_LOGGING_CFG,
"log4j.logger.org.opendaylight.sfc",
LogLevel.TRACE.name()),
}
}
LOG.info("getProperties {}: {}", OVSDB_TRACE, props.getProperty(OVSDB_TRACE));
+ LOG.info("getProperties {}: {}", OVSDB_WAIT, props.getProperty(OVSDB_WAIT));
+ if (props.getProperty(OVSDB_WAIT).equals("true")) {
+ ovsdb_wait = true;
+ }
}
@Before
}
private AccessListsBuilder accessListsBuilder() {
+ String ruleName = RULENAME;
+ String sfcName = SFCNAME;
MatchesBuilder matchesBuilder = aclUtils.matchesBuilder(new MatchesBuilder(), 80);
LOG.info("Matches: {}", matchesBuilder.build());
- //ActionsBuilder actionsBuilder = aclUtils.actionsBuilder(new ActionsBuilder(), Boolean.TRUE);
- ActionsBuilder actionsBuilder = aclUtils.actionsBuilder(new ActionsBuilder(), SFCNAME);
+ ActionsBuilder actionsBuilder = aclUtils.actionsBuilder(new ActionsBuilder(), sfcName);
AceBuilder accessListEntryBuilder =
- aclUtils.aceBuilder(new AceBuilder(), "httpRule", matchesBuilder, actionsBuilder);
+ aclUtils.aceBuilder(new AceBuilder(), ruleName, matchesBuilder, actionsBuilder);
AccessListEntriesBuilder accessListEntriesBuilder =
aclUtils.accessListEntriesBuidler(new AccessListEntriesBuilder(), accessListEntryBuilder);
AclBuilder accessListBuilder =
private ServiceFunctionForwardersBuilder serviceFunctionForwardersBuilder() {
String sf1Name = SF1NAME;
String sf1Ip = SF1IP;
+ String sf1DplName = SF1DPLNAME;
String sff1Ip = SFF1IP;
String sff1Name = SFF1NAME;
String sffDpl1Name = SFFDPL1NAME;
ServiceFunctionForwarderBuilder serviceFunctionForwarderBuilder =
serviceFunctionForwarderUtils.serviceFunctionForwarderBuilder(
- sff1Name, sff1Ip, port, sffDpl1Name, sf1Ip, sn1Name, bridge1Name);
+ sff1Name, sff1Ip, port, sffDpl1Name, sf1Ip, sn1Name, bridge1Name, sf1Name, sf1DplName);
List<ServiceFunctionForwarder> serviceFunctionForwarderList = serviceFunctionForwarderUtils.list(
new ArrayList<ServiceFunctionForwarder>(), serviceFunctionForwarderBuilder);
}
private ServiceFunctionChainsBuilder serviceFunctionChainsBuilder() {
- String sf1Name = "firewall-abstract1";
- SftType sfType = new SftType("firewall");
+ String sf1Name = SFCSF1NAME;
+ SftType sfType = SFCSF1TYPE;
String sfcName = SFCNAME;
SfcServiceFunctionBuilder sfcServiceFunctionBuilder = serviceFunctionChainUtils.sfcServiceFunctionBuilder(
}
private ServiceFunctionPathsBuilder serviceFunctionPathsBuilder() {
- String sfpName = "SFC-Path";
- String sfcName = "SFC";
+ String sfpName = SFCPATH;
+ String sfcName = SFCNAME;
short startingIndex = 255;
ServiceFunctionPathBuilder serviceFunctionPathBuilder =
Thread.sleep(10000);
- ISfcClassifierService sfcClassifierService = (ISfcClassifierService) ServiceHelper.getGlobalInstance(ISfcClassifierService.class, this);
- LOG.info("SfcClassifierService: {}", sfcClassifierService);
readwait();
- //sfcClassifierService.programIngressClassifier(datapathId);
NodeBuilder nodeBuilder = FlowUtils.createNodeBuilder(datapathId);
FlowBuilder flowBuilder = getSfcIngressClassifierFlowBuilder();
private FlowBuilder getSfcIngressClassifierFlowBuilder() {
FlowBuilder flowBuilder = new FlowBuilder();
- String flowId = "sfcClass_" + "httpRule";
+ String flowId = "sfcIngressClass_" + "httpRule";
flowBuilder.setId(new FlowId(flowId));
FlowKey key = new FlowKey(new FlowId(flowId));
flowBuilder.setKey(key);
}
private void readwait() {
- try {
- System.in.read();
- } catch (IOException e) {
- e.printStackTrace();
+ if (ovsdb_wait) {
+ LOG.warn("Waiting, kill with ps -ef | grep java, kill xxx... ");
+ try {
+ System.in.read();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
}
}
}
}
public SffSfDataPlaneLocatorBuilder sffSfDataPlaneLocatorBuilder(
- SffSfDataPlaneLocatorBuilder sffSfDataPlaneLocatorBuilder, String ip, int port) {
+ SffSfDataPlaneLocatorBuilder sffSfDataPlaneLocatorBuilder, String sffDplName, String sfDplName) {
return sffSfDataPlaneLocatorBuilder
- .setSfDplName(new SfDataPlaneLocatorName("toSff1"))
- .setSffDplName(new SffDataPlaneLocatorName("ulSff1Ingress"));
+ .setSfDplName(SfDataPlaneLocatorName.getDefaultInstance(sfDplName))
+ .setSffDplName(SffDataPlaneLocatorName.getDefaultInstance(sffDplName));
}
public ServiceFunctionDictionaryBuilder serviceFunctionDictionaryBuilder(
ServiceFunctionDictionaryBuilder serviceFunctionDictionaryBuilder,
- SffSfDataPlaneLocatorBuilder sffSfDataPlaneLocatorBuilder) {
+ SffSfDataPlaneLocatorBuilder sffSfDataPlaneLocatorBuilder,
+ String sfName) {
return serviceFunctionDictionaryBuilder
- .setName(new SfName("toSff1"))
+ .setName(SfName.getDefaultInstance(sfName))
.setSffSfDataPlaneLocator(sffSfDataPlaneLocatorBuilder.build());
}
- public OvsBridgeBuilder ovsBridgeBuilder(OvsBridgeBuilder ovsBridgeBuilder, String bridgeNme) {
- return ovsBridgeBuilder.setBridgeName(bridgeNme);
+ public OvsBridgeBuilder ovsBridgeBuilder(OvsBridgeBuilder ovsBridgeBuilder, String bridgeName) {
+ return ovsBridgeBuilder.setBridgeName(bridgeName);
}
public ServiceFunctionForwarderBuilder serviceFunctionForwarderBuilder(
public ServiceFunctionForwarderBuilder serviceFunctionForwarderBuilder(
String sffName, String sffIp, int port, String sffDplName,
- String sfIp, String snName, String bridgeName) {
+ String sfIp, String snName, String bridgeName, String sfName, String sfDplName) {
DataPlaneLocatorBuilder dataPlaneLocatorBuilder =
dataPlaneLocatorBuilder(new DataPlaneLocatorBuilder(), sffIp, port);
list(new ArrayList<SffDataPlaneLocator>(), sffDataPlaneLocatorBuilder);
SffSfDataPlaneLocatorBuilder sffSfDataPlaneLocatorBuilder =
- sffSfDataPlaneLocatorBuilder(new SffSfDataPlaneLocatorBuilder(), sffIp, port);
+ sffSfDataPlaneLocatorBuilder(new SffSfDataPlaneLocatorBuilder(), sffDplName, sfDplName);
ServiceFunctionDictionaryBuilder serviceFunctionDictionaryBuilder =
serviceFunctionDictionaryBuilder(new ServiceFunctionDictionaryBuilder(),
- sffSfDataPlaneLocatorBuilder);
+ sffSfDataPlaneLocatorBuilder, sfName);
List<ServiceFunctionDictionary> serviceFunctionDictionaryList =
list(new ArrayList<ServiceFunctionDictionary>(), serviceFunctionDictionaryBuilder);