Description:This script can be used to manipulate the IPv4 octet. List of used variables:Add-in code:
{
var myIp = config.vars.myIP;
var octs = myIp.split(".");
octs[3] = "33";
var newIp = octs.join(".");
var setOct = function (ip, oct, value) {
var octs = ip.split(".");
octs[oct] = value;
return octs.join(".");
}
var inputIp = "10.11.12.13"
var gatewayIp = setOct(inputIp, 3, 1);
var switchIp = setOct(inputIp, 3, 65);
var incrOct = function (ip, oct, value) {
var octs = ip.split(".");
var oldValue = parseInt(octs[oct]);
if (oldValue + value <= 255) {
octs[oct] = "" + (oldValue + value);
}
return octs.join(".");
}
var inputIp = "10.11.12.13"
var switchIp = incrOct(inputIp, 3, 2);
};{ // Function to create VRRP Entry var addVRRPEntry = function (routerID, routerIP, mainPrio, backupPrio, remoteSite, comment) { var table1_2_8_21_2 = config.getTableByOid("1.2.8.21.2"); var table_1_2_8_21_2_row_1 = table1_2_8_21_2.createNewRow(); table_1_2_8_21_2_row_1.setByOid(1, routerID); table_1_2_8_21_2_row_1.setByOid(2, routerIP); table_1_2_8_21_2_row_1.setByOid(3, mainPrio); table_1_2_8_21_2_row_1.setByOid(4, backupPrio); table_1_2_8_21_2_row_1.setByOid(5, remoteSite); table_1_2_8_21_2_row_1.setByOid(6, comment); table1_2_8_21_2.addOrMerge(table_1_2_8_21_2_row_1); }; // If Statement to only create VRRP Entry, if device has the variable VRRP_Prio if (context.vars.VRRP_PRIO != "") { config.setScalarByOid("1.2.8.21.1", "1"); // Function Call to create a new Entry addVRRPEntry("1", "10.10.10.254", context.vars.VRRP_PRIO, "0", "INTERNET", ""); } }; |
---|
Add-in as JSON file: View file |
---|
name | ipv4_octet_manipulation.json |
---|
height | 150 |
---|
|
|