diff --git a/webroot/common/api/jsonDiff.helper.js b/webroot/common/api/jsonDiff.helper.js index 41335e38b..7b10f061a 100644 --- a/webroot/common/api/jsonDiff.helper.js +++ b/webroot/common/api/jsonDiff.helper.js @@ -65,7 +65,7 @@ var configJsonModifyObj = { }, 'global-vrouter-config': { 'isConfig': true, - 'optFields': ['vxlan_network_identifier_mode', 'encapsulation_priorities', 'linklocal_services'], + 'optFields': ['forwarding_mode', 'vxlan_network_identifier_mode', 'encapsulation_priorities', 'linklocal_services'], 'mandateFields': ['fq_name', 'uuid', 'display_name'] }, 'physical-topology': { diff --git a/webroot/config/bgp/ui/views/bgp_config.view b/webroot/config/bgp/ui/views/bgp_config.view index 3255f6f6c..c9be8ad21 100644 --- a/webroot/config/bgp/ui/views/bgp_config.view +++ b/webroot/config/bgp/ui/views/bgp_config.view @@ -93,7 +93,6 @@
diff --git a/webroot/config/forwardingoptions/ui/js/global_options_config.js b/webroot/config/forwardingoptions/ui/js/global_options_config.js index 34b5332b1..2f2814ead 100644 --- a/webroot/config/forwardingoptions/ui/js/global_options_config.js +++ b/webroot/config/forwardingoptions/ui/js/global_options_config.js @@ -124,8 +124,27 @@ function initComponents() { footer : false }); + var forwardingModeLabels = ["Default","L2 and L3","L2 Only", "L3 Only"]; + var forwardingModeValues = ["default", "l2_l3", "l2", "l3"]; + var forwardingModeData = []; + + for (var i = 0; i < forwardingModeLabels.length; i++) { + var fwdModeData = { + text: forwardingModeLabels[i], + value: forwardingModeValues[i] + }; + forwardingModeData.push(fwdModeData); + } + gridGlobalConfig = $("#gridGlobalConfig").data('contrailGrid'); - + $('#ddForwardingMode').contrailDropdown({ + dataTextField:"text", + dataValueField:"value" + }); + $('#ddForwardingMode') + .data('contrailDropdown') + .setData(forwardingModeData); + confirmMainSave = $("#confirmMainSave"); confirmMainSave.modal({backdrop:'static', keyboard: false, show:false}); windowEditGblConfig = $('#windowEditGblConfig'); @@ -262,6 +281,7 @@ function initActions() { globalVRouterConfig["global-vrouter-config"]["encapsulation_priorities"]["encapsulation"][i] = priorities[i]; } } + var forwarding_mode = $("#ddForwardingMode").data("contrailDropdown").value(); if(null === configObj["global-vrouter-config"] || typeof configObj["global-vrouter-config"] === "undefined" || null === configObj["global-vrouter-config"]["uuid"] || @@ -274,11 +294,32 @@ function initActions() { var gvrId = configObj["global-vrouter-config"]["uuid"]; /*doAjaxCall("/api/tenants/config/global-vrouter-config/" + gvrId + "/forwarding-options", "PUT", JSON.stringify(globalVRouterConfig), null, "handleCommitFailure");*/ + + if(forwarding_mode === "default") { + //if tag 'forwarding_mode' is missing, just like in case of an upgrade, + //dont add 'forwarding_mode' since user is still going with 'default'. + //if(null !== configObj["global-vrouter-config"]["forwarding_mode"] && + // typeof configObj["global-vrouter-config"]["forwarding_mode"] !== "undefined") { + //Adding 'forwarde_mode' tag if it is already there. + globalVRouterConfig["global-vrouter-config"]["forwarding_mode"] = null; + // } + } else { + //Add forwarding_mode only for l2_l3, l2, l3. + globalVRouterConfig["global-vrouter-config"]["forwarding_mode"] = forwarding_mode; + } fwdOptnURL = "/api/tenants/config/global-vrouter-config/" + gvrId + "/forwarding-options"; fwdOptnActionType = "PUT"; } + var forwardingModeChanged = false; + if(orig_forwarding_mode !== forwarding_mode) { + forwardingModeChanged = true; + if(("" + orig_forwarding_mode + forwarding_mode).trim() === "null") { + forwardingModeChanged = false; + } + } //post url for forwarding options - if(isPriorityChanged(actPriorities, priorities) || (actVxlan !== vxlanid)) { + if(isPriorityChanged(actPriorities, priorities) || (actVxlan !== vxlanid) || + (forwardingModeChanged === true)) { ajaxArry.push($.ajax({ url : fwdOptnURL, type : fwdOptnActionType, @@ -374,6 +415,9 @@ function handleCommitFailure(result) { function setEditPopupData() { $('input:radio[name="vxlanMode"][value="' + actVxlan + '"]').attr('checked',true); + $("#ddForwardingMode").data('contrailDropdown').value( + (orig_forwarding_mode === "" || null === orig_forwarding_mode) ? + "default" : orig_forwarding_mode); $("#epTuples").html(""); for(var i=0; i
+
+ +
+
+
+ +
+
+
+
diff --git a/webroot/config/linklocalservices/api/globalvrouterconfig.api.js b/webroot/config/linklocalservices/api/globalvrouterconfig.api.js index 30e1215fd..a31226e3e 100644 --- a/webroot/config/linklocalservices/api/globalvrouterconfig.api.js +++ b/webroot/config/linklocalservices/api/globalvrouterconfig.api.js @@ -148,6 +148,7 @@ function updateForwardingOptions (request, response, appData) { return; } + var gvrGetURL = '/global-vrouter-config/' + gvrId; configApiServer.apiGet(gvrGetURL, appData, function(error, data) { @@ -159,6 +160,8 @@ function updateForwardingOptions (request, response, appData) { var gvrConfigData = commonUtils.cloneObj(data); gvrConfigData["global-vrouter-config"]["vxlan_network_identifier_mode"] = gvrPutData["global-vrouter-config"]["vxlan_network_identifier_mode"]; + gvrConfigData["global-vrouter-config"]["forwarding_mode"] = + gvrPutData["global-vrouter-config"]["forwarding_mode"]; gvrConfigData["global-vrouter-config"]["encapsulation_priorities"] = {}; gvrConfigData["global-vrouter-config"]["encapsulation_priorities"]["encapsulation"] = diff --git a/webroot/config/vn/ui/js/vn_config.js b/webroot/config/vn/ui/js/vn_config.js index 58ba753fc..925424faa 100644 --- a/webroot/config/vn/ui/js/vn_config.js +++ b/webroot/config/vn/ui/js/vn_config.js @@ -274,7 +274,23 @@ function initComponents() { vnAjaxcount = 0; ddFwdMode = $("#ddFwdMode").contrailDropdown({ - data: [{id:"l2_l3", text:'L2 and L3'}, {id:"l2", text:'L2 Only'}] + data: [{ + id:"default", + text:'Default' + }, + { + id:"l2_l3", + text:'L2 and L3' + }, + { + id:"l2", + text:'L2 Only' + }, + { + id:"l3", + text:'L3 Only' + } + ] }); ddAdminState = $("#ddAdminState").contrailDropdown({ @@ -714,6 +730,7 @@ function initActions() { } } var fwdMode = $("#ddFwdMode").val(); + fwdMode = (fwdMode === "default") ? "" : fwdMode; var gvrConfig = configObj["global-vrouter-config"]; if(null !== gvrConfig && typeof gvrConfig !== "undefined" && null !== gvrConfig["vxlan_network_identifier_mode"] && @@ -731,6 +748,9 @@ function initActions() { if(typeof fwdMode !== "undefined" && "" !== fwdMode) { vnConfig["virtual-network"]["virtual_network_properties"] ["forwarding_mode"] = fwdMode; + } else { + vnConfig["virtual-network"]["virtual_network_properties"] + ["forwarding_mode"] = null; } if($("#allow_transit")[0].checked === true) @@ -2219,10 +2239,10 @@ function successHandlerForGridVNRow(result) { }else if(fwdMode === "l3") { fwdMode = "L3 Only"; } else { - fwdMode = ""; + fwdMode = "Default"; } } else { - fwdMode = "L2 and L3"; + fwdMode = "Default"; } var vxlanid= ""; if(vxlan_identifier_mode == "configured") { @@ -2245,7 +2265,7 @@ function successHandlerForGridVNRow(result) { enableControles = false; if(reorder_policiesTxt.trim() == "") reorder_policiesTxt = "-"; if(String(vxlanid).trim() == "") vxlanid = "-"; - if(fwdMode.trim() == "") fwdMode = "-"; + if(fwdMode.trim() == "") fwdMode = "Default"; if(DNSServer.trim() == "") DNSServer = "-"; if(hostRoutPrifix.trim() == "") hostRoutPrifix = "-"; var prouterBackRefs = vn['physical_router_back_refs']; @@ -2421,9 +2441,9 @@ function clearValuesFromDomElements() { txtVxLanId.val(""); txtVNName[0].disabled = false; txtDisName.val(""); - $("#ddFwdMode").data("contrailDropdown").value("l2_l3"); - $("#ddFwdMode").data("contrailDropdown").enable(false); - $("#divFwdMode").removeClass("hide"); + $("#ddFwdMode").data("contrailDropdown").value("default"); + //$("#ddFwdMode").data("contrailDropdown").enable(false); + //$("#divFwdMode").removeClass("hide"); $("#ddAdminState").data("contrailDropdown").value("true"); $("#router_external")[0].checked = false; $("#is_shared")[0].checked = false; @@ -2498,11 +2518,11 @@ function showVNEditWindow(mode, rowIndex) { url:"/api/tenants/config/global-vrouter-config", type:"GET" }); - getAjaxs[3] = $.ajax({ + /*getAjaxs[3] = $.ajax({ url:"/api/admin/webconfig/network/L2_enable", type:"GET" - }); - getAjaxs[4] = $.ajax({ + });*/ + getAjaxs[3] = $.ajax({ url:"/api/tenants/config/physical-routers-list", type:"GET" }); @@ -2524,17 +2544,17 @@ function showVNEditWindow(mode, rowIndex) { } var results = arguments; var networkPolicies = jsonPath(results[0][0], "$.network-policys[*]"); - var l2Mode = results[3][0].L2_enable; - var proutersResult = results[4][0]; - if(l2Mode == false){ - $("#ddFwdMode").data("contrailDropdown").enable(false); - $("#ddFwdMode").data("contrailDropdown").value("l2_l3"); - $("#divFwdMode").addClass("hide"); - } else { - $("#ddFwdMode").data("contrailDropdown").value("l2_l3"); + //var l2Mode = results[3][0].L2_enable; + var proutersResult = results[3][0]; + //if(l2Mode == false){ + // $("#ddFwdMode").data("contrailDropdown").enable(false); + // $("#ddFwdMode").data("contrailDropdown").value("l2_l3"); + // $("#divFwdMode").addClass("hide"); + //} else { + $("#ddFwdMode").data("contrailDropdown").value("default"); $("#ddFwdMode").data("contrailDropdown").enable(true); - $("#divFwdMode").removeClass("hide"); - } + //$("#divFwdMode").removeClass("hide"); + //} var nps = []; configObj["network-policys"] = []; var selectedDomain = $("#ddDomainSwitcher").data("contrailDropdown").text(); @@ -2770,9 +2790,11 @@ function showVNEditWindow(mode, rowIndex) { $(txtVxLanId).val(vnProps["vxlan_network_identifier"]); } if(null !== vnProps["forwarding_mode"] && - typeof vnProps["forwarding_mode"] && + typeof vnProps["forwarding_mode"] == "string" && "" !== vnProps["forwarding_mode"].trim()) { $("#ddFwdMode").data("contrailDropdown").value(vnProps["forwarding_mode"]); + } else { + $("#ddFwdMode").data("contrailDropdown").value("default"); } if(null !== vnProps["allow_transit"] && "" !== vnProps["allow_transit"]) {