Description:

With the following Add-in script you can set a static IPv4 address on LANCOM Switches of the GS-3xxx series.

List of used variables:

VariableDescription

DNS_IP

VLAN_ID

DHCP_MODE_GS31xx

SW_IP

MASK_PREFIX

GW_IP

IP Address of the DNS Server to be used.

Management VLAN ID which the switch should use.

Deactivates or activates, if the switch should get an IP address via DHCP.

Static IP Address for the switch.

Subnet in CIDR notation.

IP address of the subnet gateway.



Add-in code:

/**
 * @param {Config} config
 * @param {Context} context
 * Do not edit this comment or parameter types. Required for code suggestions
*/
exports.main = function (config, context) {
    if (context.device.type.indexOf("GS-3") >= 0) {
        config.setScalarByOid("14.1.4.2.3", "1");                   // Manual DNS configuration
        config.setScalarByOid("14.1.4.2.7", context.vars.DNS_IP);



        var ipTable = config.getTableByOid("14.1.4.3.1");           //Reading out IP address table
        var staticIP_row = ipTable.getFirstRowByOid("1", "")
        staticIP_row.setByOid("1", "1");                            // Index
        staticIP_row.setByOid("2", context.vars.VLAN_ID);           // VlanID (1-4094, default 1)
        staticIP_row.setByOid("3", context.vars.DHCP_MODE_GS31xx);  // onoff DHCP (on:1, off:0)
        staticIP_row.setByOid("6", context.vars.SW_IP);             // IPv4_Addr, e.g. 1.2.3.4
        staticIP_row.setByOid("7", context.vars.MASK_PREFIX);       // IP_PrefixLength (0-32)
        ipTable.addOrMerge(staticIP_row);



        var ipRoutes = config.getTableByOid("14.1.4.4.1");      //Reading out the routing table
        var defaultRoute = ipRoutes.createNewRow();
        defaultRoute.setByOid("3", "0.0.0.0");                  // IPv4_Addr, e.g. 1.2.3.4 (default route 0.0.0.0)
        defaultRoute.setByOid("4", "0");                        // IP_PrefixLength (0-32)
        defaultRoute.setByOid("5", context.vars.GW_IP);         // IPv4_Gateway, e.g. 1.2.3.4
        ipRoutes.addOrMerge(defaultRoute);
    }
};

Add-in as JSON file:

GS-3xxx-staticIP.json