Signed-off-by: Alexandre Derumier <aderum...@odiso.com> --- www/manager6/Makefile | 1 + www/manager6/Utils.js | 5 ++ www/manager6/sdn/ControllerView.js | 9 ++++ www/manager6/sdn/controllers/BgpEdit.js | 62 ++++++++++++++++++++++++ www/manager6/sdn/controllers/EvpnEdit.js | 16 +----- www/manager6/sdn/zones/Base.js | 5 ++ www/manager6/sdn/zones/EvpnEdit.js | 7 +++ 7 files changed, 91 insertions(+), 14 deletions(-) create mode 100644 www/manager6/sdn/controllers/BgpEdit.js
diff --git a/www/manager6/Makefile b/www/manager6/Makefile index 5b702d4b..60850b3e 100644 --- a/www/manager6/Makefile +++ b/www/manager6/Makefile @@ -236,6 +236,7 @@ JSSRC= \ sdn/OptionsPanel.js \ sdn/controllers/Base.js \ sdn/controllers/EvpnEdit.js \ + sdn/controllers/BgpEdit.js \ sdn/IpamView.js \ sdn/ipams/Base.js \ sdn/ipams/NetboxEdit.js \ diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js index 98cb8ca1..89706c32 100644 --- a/www/manager6/Utils.js +++ b/www/manager6/Utils.js @@ -828,6 +828,11 @@ Ext.define('PVE.Utils', { utilities: { ipanel: 'EvpnInputPanel', faIcon: 'crosshairs' }, + bgp: { + name: 'bgp', + ipanel: 'BgpInputPanel', + faIcon: 'crosshairs' + }, }, sdnipamSchema: { diff --git a/www/manager6/sdn/ControllerView.js b/www/manager6/sdn/ControllerView.js index e4730be0..9e400f7f 100644 --- a/www/manager6/sdn/ControllerView.js +++ b/www/manager6/sdn/ControllerView.js @@ -133,6 +133,15 @@ Ext.define('PVE.sdn.ControllerView', { return PVE.Utils.render_sdn_pending(rec, value, 'type', 1); } }, + { + header: gettext('Node'), + flex: 1, + sortable: true, + dataIndex: 'node', + renderer: function(value, metaData, rec) { + return PVE.Utils.render_sdn_pending(rec, value, 'node', 1); + } + }, { header: gettext('Pending'), flex: 3, diff --git a/www/manager6/sdn/controllers/BgpEdit.js b/www/manager6/sdn/controllers/BgpEdit.js new file mode 100644 index 00000000..2af7a7bd --- /dev/null +++ b/www/manager6/sdn/controllers/BgpEdit.js @@ -0,0 +1,62 @@ +Ext.define('PVE.sdn.controllers.BgpInputPanel', { + extend: 'PVE.panel.SDNControllerBase', + + onlineHelp: 'pvesdn_controller_plugin_evpn', + + initComponent : function() { + var me = this; + + me.items = [ + { + xtype: me.isCreate ? 'textfield' : 'displayfield', + name: 'controller', + maxLength: 8, + value: me.controllerid || '', + fieldLabel: 'ID', + allowBlank: false + }, + { + xtype: 'proxmoxintegerfield', + name: 'asn', + minValue: 1, + maxValue: 4294967295, + value: 65000, + fieldLabel: 'ASN #', + allowBlank: false + }, + { + xtype: 'textfield', + name: 'peers', + fieldLabel: gettext('Peers'), + allowBlank: false + }, + { + xtype: 'proxmoxcheckbox', + name: 'ebgp', + uncheckedValue: 0, + checked: false, + fieldLabel: 'EBGP' + }, + { + xtype: 'pveNodeSelector', + name: 'node', + fieldLabel: gettext('Node'), + multiSelect: false, + autoSelect: false, + allowBlank: false + }, + + ]; + + me.advancedItems = [ + + { + xtype: 'textfield', + name: 'loopback', + fieldLabel: gettext('Loopback Interface'), + }, + ]; + + me.callParent(); + } +}); diff --git a/www/manager6/sdn/controllers/EvpnEdit.js b/www/manager6/sdn/controllers/EvpnEdit.js index 125a8fc7..5aa924f0 100644 --- a/www/manager6/sdn/controllers/EvpnEdit.js +++ b/www/manager6/sdn/controllers/EvpnEdit.js @@ -29,20 +29,8 @@ Ext.define('PVE.sdn.controllers.EvpnInputPanel', { name: 'peers', fieldLabel: gettext('Peers'), allowBlank: false - }, - { - xtype: 'textfield', - name: 'gateway-external-peers', - fieldLabel: gettext('External Gateway Peers'), - allowBlank: true - }, - { - xtype: 'pveNodeSelector', - name: 'gateway-nodes', - fieldLabel: gettext('Gateway Nodes'), - multiSelect: true, - autoSelect: false - }, + } + ]; me.callParent(); diff --git a/www/manager6/sdn/zones/Base.js b/www/manager6/sdn/zones/Base.js index 6e2f5c1c..9eb31fd4 100644 --- a/www/manager6/sdn/zones/Base.js +++ b/www/manager6/sdn/zones/Base.js @@ -94,6 +94,11 @@ Ext.define('PVE.sdn.zones.BaseEdit', { if (values.nodes) { values.nodes = values.nodes.split(','); } + + if (values.exitnodes) { + values.exitnodes = values.exitnodes.split(','); + } + values.enable = values.disable ? 0 : 1; ipanel.setValues(values); diff --git a/www/manager6/sdn/zones/EvpnEdit.js b/www/manager6/sdn/zones/EvpnEdit.js index f5a9560e..1a078a81 100644 --- a/www/manager6/sdn/zones/EvpnEdit.js +++ b/www/manager6/sdn/zones/EvpnEdit.js @@ -35,6 +35,13 @@ Ext.define('PVE.sdn.zones.EvpnInputPanel', { fieldLabel: 'VRF-VXLAN Tag', allowBlank: false }, + { + xtype: 'pveNodeSelector', + name: 'exitnodes', + fieldLabel: gettext('Exit Nodes'), + multiSelect: true, + autoSelect: false + }, { xtype: 'pveSDNControllerSelector', fieldLabel: gettext('Controller'), -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel