Fix add method based on the latest changes

update_instance: read config and type section from the passed section
This commit is contained in:
Amin Ben Ramdhane 2020-12-07 20:34:26 +01:00
parent 2155d06e3d
commit 44b6c08273
31 changed files with 74 additions and 75 deletions

View file

@ -364,7 +364,7 @@ static int add_obj(char *refparam, struct dmctx *ctx, void *data, char **instanc
dmuci_add_section_bbfdm(arg4, arg3, &dmmap);
dmuci_set_value_by_section(dmmap, "section_name", section_name(section));
*instance = update_instance(inst, 4, dmmap, buf_instance, arg4, arg3);
*instance = update_instance(inst, 2, dmmap, buf_instance);
}
}
return 0;

View file

@ -285,7 +285,7 @@ int upnp_configuration_ipinterface_createinstance(char *refparam, struct dmctx *
dmuci_add_section("network", "interface", &iface_sec);
dmuci_set_value("network", ip_name, "", "interface");
dmuci_set_value("network", ip_name, "proto", "dhcp");
*instance = update_instance(iface_instance, 4, iface_sec, "upnp_ip_iface_instance", "network", "interface");
*instance = update_instance(iface_instance, 2, iface_sec, "upnp_ip_iface_instance");
return 0;
}

View file

@ -244,7 +244,7 @@ int upnp_deviceinfo_networkinterface_createinstance(char *refparam, struct dmctx
dmuci_add_section("network", "interface", &iface_sec);
dmuci_set_value("network", ip_name, "", "interface");
dmuci_set_value("network", ip_name, "proto", "dhcp");
*instance = update_instance(iface_instance, 4, iface_sec, "upnp_iface_int_instance", "network", "interface");
*instance = update_instance(iface_instance, 2, iface_sec, "upnp_iface_int_instance");
return 0;
}

View file

@ -127,7 +127,7 @@ static int addObjServicesVoiceServiceVoIPProfile(char *refparam, struct dmctx *c
dmuci_add_section_bbfdm("dmmap_asterisk", "sip_service_provider", &dmmap);
dmuci_set_value_by_section(dmmap, "section_name", section_name(s));
*instance = update_instance(inst, 4, dmmap, "clientinstance", "dmmap_asterisk", "sip_service_provider");
*instance = update_instance(inst, 2, dmmap, "clientinstance");
return 0;
}
@ -174,7 +174,7 @@ static int addObjServicesVoiceServiceCodecProfile(char *refparam, struct dmctx *
dmuci_add_section_bbfdm("dmmap_asterisk", "codec_profile", &dmmap);
dmuci_set_value_by_section(dmmap, "section_name", section_name(s));
*instance = update_instance(inst, 4, dmmap, "codecprofileinstance", "dmmap_asterisk", "codec_profile");
*instance = update_instance(inst, 2, dmmap, "codecprofileinstance");
return 0;
}

View file

@ -220,7 +220,7 @@ static int addObjServicesVoiceServiceCallControlCallingFeaturesSetSCREJ(char *re
dmuci_add_section_bbfdm("dmmap_asterisk", "call_filter_rule_incoming", &dmmap);
dmuci_set_value_by_section(dmmap, "section_name", section_name(s));
*instance = update_instance(inst, 4, dmmap, "screjinstance", "dmmap_asterisk", "call_filter_rule_incoming");
*instance = update_instance(inst, 2, dmmap, "screjinstance");
return 0;
}

View file

@ -119,7 +119,7 @@ static int addObjServicesVoiceServiceSIPClient(char *refparam, struct dmctx *ctx
dmuci_add_section_bbfdm("dmmap_asterisk", "sip_service_provider", &dmmap);
dmuci_set_value_by_section(dmmap, "section_name", new_sec_name);
*instance = update_instance(inst, 4, dmmap, "clientinstance", "dmmap_asterisk", "sip_service_provider");
*instance = update_instance(inst, 2, dmmap, "clientinstance");
return 0;
}

View file

@ -251,7 +251,7 @@ static int add_atm_link(char *refparam, struct dmctx *ctx, void *data, char **in
dmuci_add_section_bbfdm("dmmap_dsl", "atm-device", &dmmap_atm);
dmuci_set_value_by_section(dmmap_atm, "section_name", atm_device);
*instancepara = update_instance(instance, 4, dmmap_atm, "atmlinkinstance", "dmmap_dsl", "atm-device");
*instancepara = update_instance(instance, 2, dmmap_atm, "atmlinkinstance");
return 0;
}

View file

@ -822,7 +822,7 @@ static int addObjBridgingBridge(char *refparam, struct dmctx *ctx, void *data, c
dmuci_add_section_bbfdm("dmmap_network", "interface", &dmmap_bridge);
dmuci_set_value_by_section(dmmap_bridge, "section_name", bridge_name);
dmuci_set_value_by_section(dmmap_bridge, "added_by_user", "1");
*instance = update_instance(last_inst, 4, dmmap_bridge, "bridge_instance", "dmmap_network", "interface");
*instance = update_instance(last_inst, 2, dmmap_bridge, "bridge_instance");
return 0;
}

View file

@ -167,7 +167,7 @@ static char *get_last_host_instance(char *package, char *section, char *dmmap_pa
dmuci_add_section_bbfdm(dmmap_package, section, &dmmap_section);
dmuci_set_value_by_section(dmmap_section, "section_name", section_name(s));
}
instance = update_instance(last_inst, 4, dmmap_section, opt_inst, dmmap_package, section);
instance = update_instance(last_inst, 2, dmmap_section, opt_inst);
if(last_inst)
dmfree(last_inst);
last_inst = dmstrdup(instance);
@ -370,7 +370,7 @@ static int addObjDHCPv4ServerPool(char *refparam, struct dmctx *ctx, void *data,
dmuci_add_section_bbfdm("dmmap_dhcp", "dhcp", &dmmap_dhcp);
dmuci_set_value_by_section(dmmap_dhcp, "section_name", dhcp_sname);
*instancepara = update_instance(instance, 4, dmmap_dhcp, "dhcp_instance", "dmmap_dhcp", "dhcp");
*instancepara = update_instance(instance, 2, dmmap_dhcp, "dhcp_instance");
return 0;
}
@ -435,7 +435,7 @@ static int addObjDHCPv4ServerPoolStaticAddress(char *refparam, struct dmctx *ctx
dmuci_add_section_bbfdm("dmmap_dhcp", "host", &dmmap_dhcp_host);
dmuci_set_value_by_section(dmmap_dhcp_host, "section_name", section_name(s));
dmuci_set_value_by_section(dmmap_dhcp_host, "dhcp", ((struct dhcp_args *)data)->interface);
*instancepara = update_instance(instance, 6, dmmap_dhcp_host, "dhcp_host_instance", "dmmap_dhcp", "host", check_browse_section, (void *)&browse_args);
*instancepara = update_instance(instance, 5, dmmap_dhcp_host, "dhcp_host_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}
@ -484,7 +484,7 @@ static int addObjDHCPv4Client(char *refparam, struct dmctx *ctx, void *data, cha
dmuci_add_section_bbfdm("dmmap_dhcp_client", "interface", &dmmap_sect);
dmuci_set_value_by_section(dmmap_sect, "section_name", section_name(s));
*instance = update_instance(inst_para, 4, dmmap_sect, "bbf_dhcpv4client_instance", "dmmap_dhcp_client", "interface");
*instance = update_instance(inst_para, 2, dmmap_sect, "bbf_dhcpv4client_instance");
return 0;
}
@ -580,7 +580,7 @@ static int addObjDHCPv4ClientSentOption(char *refparam, struct dmctx *ctx, void
browse_args.option = "section_name";
browse_args.value = section_name(dhcp_client_args->dhcp_client_conf);
*instance = update_instance(inst_para, 6, dmmap_sect, "bbf_dhcpv4_sentopt_instance", "dmmap_dhcp_client", "send_option", check_browse_section, (void *)&browse_args);
*instance = update_instance(inst_para, 5, dmmap_sect, "bbf_dhcpv4_sentopt_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}
@ -627,7 +627,7 @@ static int addObjDHCPv4ClientReqOption(char *refparam, struct dmctx *ctx, void *
browse_args.option = "section_name";
browse_args.value = section_name(dhcp_client_args->dhcp_client_conf);
*instance = update_instance(inst_para, 6, dmmap_sect, "bbf_dhcpv4_sentopt_instance", "dmmap_dhcp_client", "req_option", check_browse_section, (void *)&browse_args);
*instance = update_instance(inst_para, 5, dmmap_sect, "bbf_dhcpv4_sentopt_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}
@ -672,7 +672,7 @@ static int addObjDHCPv4ServerPoolOption(char *refparam, struct dmctx *ctx, void
browse_args.option = "section_name";
browse_args.value = section_name(dhcp_arg->dhcp_sec);
*instance = update_instance(inst_para, 6, dmmap_sect, "bbf_dhcpv4_servpool_option_instance", "dmmap_dhcp", "servpool_option", check_browse_section, (void *)&browse_args);
*instance = update_instance(inst_para, 5, dmmap_sect, "bbf_dhcpv4_servpool_option_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}
@ -714,7 +714,7 @@ static int addObjDHCPv4RelayForwarding(char *refparam, struct dmctx *ctx, void *
dmuci_add_section_bbfdm("dmmap_dhcp_relay", "interface", &dmmap_sect);
dmuci_set_value_by_section(dmmap_sect, "section_name", section_name(s));
*instance = update_instance(inst_para, 4, dmmap_sect, "bbf_dhcpv4relay_instance", "dmmap_dhcp_relay", "interface");
*instance = update_instance(inst_para, 2, dmmap_sect, "bbf_dhcpv4relay_instance");
return 0;
}

View file

@ -316,7 +316,7 @@ static int addObjDHCPv6Client(char *refparam, struct dmctx *ctx, void *data, cha
dmuci_add_section_bbfdm("dmmap_dhcpv6", "interface", &dmmap_sect);
dmuci_set_value_by_section(dmmap_sect, "section_name", section_name(s));
*instance = update_instance(inst_para, 4, dmmap_sect, "bbf_dhcpv6client_instance", "dmmap_dhcpv6", "interface");
*instance = update_instance(inst_para, 2, dmmap_sect, "bbf_dhcpv6client_instance");
return 0;
}
@ -380,7 +380,7 @@ static int addObjDHCPv6ServerPool(char *refparam, struct dmctx *ctx, void *data,
dmuci_add_section_bbfdm("dmmap_dhcpv6", "dhcp", &dmmap_dhcp);
dmuci_set_value_by_section(dmmap_dhcp, "section_name", section_name(s));
*instance = update_instance(inst_para, 4, dmmap_dhcp, "dhcpv6_serv_pool_instance", "dmmap_dhcpv6", "dhcp");
*instance = update_instance(inst_para, 2, dmmap_dhcp, "dhcpv6_serv_pool_instance");
return 0;
}
@ -444,7 +444,7 @@ static int addObjDHCPv6ServerPoolOption(char *refparam, struct dmctx *ctx, void
browse_args.option = "section_name";
browse_args.value = section_name(dhcp_arg->dhcp_sec);
*instance = update_instance(inst_para, 6, dmmap_sect, "bbf_dhcpv6_servpool_option_instance", "dmmap_dhcpv6", "servpool_option", check_browse_section, (void *)&browse_args);
*instance = update_instance(inst_para, 5, dmmap_sect, "bbf_dhcpv6_servpool_option_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}

View file

@ -164,7 +164,7 @@ static int add_client_server(char *refparam, struct dmctx *ctx, void *data, char
dmuci_set_value_by_section(s, "interface", "lan");
dmuci_set_value_by_section(s, "enable", "1");
*instance = update_instance(inst, 4, s, "dns_server_instance", "dmmap_dns", "dns_server");
*instance = update_instance(inst, 2, s, "dns_server_instance");
return 0;
}
@ -180,7 +180,7 @@ static int add_relay_forwarding(char *refparam, struct dmctx *ctx, void *data, c
dmuci_set_value_by_section(s, "interface", "lan");
dmuci_set_value_by_section(s, "enable", "1");
*instance = update_instance(inst, 4, s, "dns_server_instance", "dmmap_dns", "dns_server");
*instance = update_instance(inst, 2, s, "dns_server_instance");
return 0;
}

View file

@ -174,7 +174,7 @@ static int addObjDynamicDNSClient(char *refparam, struct dmctx *ctx, void *data,
dmuci_add_section_bbfdm("dmmap_ddns", "service", &dmmap);
dmuci_set_value_by_section(dmmap, "section_name", section_name(s));
*instance = update_instance(last_inst, 4, dmmap, "clientinstance", "dmmap_ddns", "service");
*instance = update_instance(last_inst, 2, dmmap, "clientinstance");
return 0;
}
@ -236,7 +236,7 @@ static int addObjDynamicDNSServer(char *refparam, struct dmctx *ctx, void *data,
dmuci_add_section_bbfdm("dmmap_ddns", "ddns_server", &dmmap);
dmuci_set_value_by_section(dmmap, "section_name", section_name(s));
*instance = update_instance(last_inst, 4, dmmap, "serverinstance", "dmmap_ddns", "ddns_server");
*instance = update_instance(last_inst, 2, dmmap, "serverinstance");
return 0;
}

View file

@ -206,7 +206,7 @@ static char *get_vlan_last_instance_bbfdm(char *package, char *section, char *op
dmuci_set_value_by_section(s, "vlan_term_instance", "");
continue;
}
inst = update_instance(last_inst, 4, s, opt_inst, package, section);
inst = update_instance(last_inst, 2, s, opt_inst);
if(last_inst)
dmfree(last_inst);
last_inst = dmstrdup(inst);
@ -349,7 +349,7 @@ static int addObjEthernetLink(char *refparam, struct dmctx *ctx, void *data, cha
/* Add link section in dmmap file */
dmuci_add_section_bbfdm(DMMAP, "link", &dmmap_link);
dmuci_set_value_by_section(dmmap_link, "section_name", interface_name);
*instance = update_instance(inst, 4, dmmap_link, "link_instance", "dmmap", "link");
*instance = update_instance(inst, 2, dmmap_link, "link_instance");
return 0;
}
@ -412,7 +412,7 @@ static int addObjEthernetVLANTermination(char *refparam, struct dmctx *ctx, void
// Add device section in dmmap_network file
dmuci_add_section_bbfdm("dmmap_network", "device", &dmmap_network);
dmuci_set_value_by_section(dmmap_network, "section_name", device_name);
*instance = update_instance(inst, 4, dmmap_network, "vlan_term_instance", "dmmap_network", "device");
*instance = update_instance(inst, 2, dmmap_network, "vlan_term_instance");
return 0;
}

View file

@ -74,7 +74,7 @@ static int add_firewall_rule(char *refparam, struct dmctx *ctx, void *data, char
dmuci_add_section_bbfdm("dmmap_firewall", "rule", &dmmap_firewall_rule);
dmuci_set_value_by_section(dmmap_firewall_rule, "section_name", section_name(s));
*instance = update_instance(last_inst, 4, dmmap_firewall_rule, "firewall_chain_rule_instance", "dmmap_firewall", "rule");
*instance = update_instance(last_inst, 2, dmmap_firewall_rule, "firewall_chain_rule_instance");
return 0;
}

View file

@ -87,7 +87,7 @@ static int addObjGRETunnel(char *refparam, struct dmctx *ctx, void *data, char *
dmuci_add_section_bbfdm("dmmap_network", "interface", &dmmap_sec);
dmuci_set_value_by_section(dmmap_sec, "section_name", section_name(gre_sec));
*instancepara = update_instance(instance, 4, dmmap_sec, "gretunnel_instance", "dmmap_network", "interface");
*instancepara = update_instance(instance, 2, dmmap_sec, "gretunnel_instance");
return 0;
}
@ -152,7 +152,7 @@ static int addObjGRETunnelInterface(char *refparam, struct dmctx *ctx, void *dat
dmuci_add_section_bbfdm("dmmap_network", "interface", &dmmap_sec);
dmuci_set_value_by_section(dmmap_sec, "section_name", section_name(greiface_sec));
dmuci_set_value_by_section(dmmap_sec, "gre_tunnel_sect", section_name(((struct dmmap_dup *)data)->config_section));
*instancepara = update_instance(instance, 6, dmmap_sec, "greiface_instance", "dmmap_network", "interface", check_browse_section, (void *)&browse_args);
*instancepara = update_instance(instance, 5, dmmap_sec, "greiface_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}

View file

@ -299,7 +299,7 @@ static int addObjIEEE1905ALForwardingTableForwardingRule(char *refparam, struct
dmuci_add_section_bbfdm("dmmap_forwarding_rule", "forwarding_rule", &dmmap);
dmuci_set_value_by_section(dmmap, "section_name", section_name(s));
*instance = update_instance(inst, 4, dmmap, "forwardingruleinstance", "dmmap_forwarding_rule", "forwarding_rule");
*instance = update_instance(inst, 2, dmmap, "forwardingruleinstance");
return 0;
}

View file

@ -268,7 +268,7 @@ static char *get_ip_interface_last_instance(char *package, char *section, char*
dmuci_add_section_bbfdm(dmmap_package, section, &dmmap_section);
dmuci_set_value_by_section(dmmap_section, "section_name", section_name(s));
}
instance = update_instance(last_inst, 4, dmmap_section, opt_inst, dmmap_package, section);
instance = update_instance(last_inst, 2, dmmap_section, opt_inst);
if(last_inst)
dmfree(last_inst);
last_inst = dmstrdup(instance);
@ -708,7 +708,7 @@ static int addObjIPInterface(char *refparam, struct dmctx *ctx, void *data, char
dmuci_add_section_bbfdm("dmmap_network", "interface", &dmmap_ip_interface);
dmuci_set_value_by_section(dmmap_ip_interface, "section_name", ip_name);
*instance = update_instance(last_inst, 4, dmmap_ip_interface, "ip_int_instance", "dmmap_network", "interface");
*instance = update_instance(last_inst, 2, dmmap_ip_interface, "ip_int_instance");
return 0;
}
@ -777,7 +777,7 @@ static int addObjIPInterfaceIPv4Address(char *refparam, struct dmctx *ctx, void
dmuci_set_value_by_section(dmmap_ip_interface_ipv4, "section_name", last_inst ? ipv4_name : section_name((struct uci_section *)data));
dmuci_set_value_by_section(dmmap_ip_interface_ipv4, "address", "0.0.0.0");
*instance = update_instance(last_inst, 6, dmmap_ip_interface_ipv4, "ipv4_instance", "dmmap_network_ipv4", "intf_ipv4", check_browse_section, (void *)&browse_args);
*instance = update_instance(last_inst, 5, dmmap_ip_interface_ipv4, "ipv4_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}
@ -865,7 +865,7 @@ static int addObjIPInterfaceIPv6Address(char *refparam, struct dmctx *ctx, void
dmuci_set_value_by_section(dmmap_ip_interface_ipv6, "section_name", ipv6_name);
dmuci_set_value_by_section(dmmap_ip_interface_ipv6, "address", "::");
*instance = update_instance(last_inst, 6, dmmap_ip_interface_ipv6, "ipv6_instance", "dmmap_network_ipv6", "intf_ipv6", check_browse_section, (void *)&browse_args);
*instance = update_instance(last_inst, 5, dmmap_ip_interface_ipv6, "ipv6_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}
@ -951,7 +951,7 @@ static int addObjIPInterfaceIPv6Prefix(char *refparam, struct dmctx *ctx, void *
dmuci_set_value_by_section(dmmap_ip_interface_ipv6_prefix, "section_name", ipv6_prefix_name);
dmuci_set_value_by_section(dmmap_ip_interface_ipv6_prefix, "address", "::/64");
*instance = update_instance(last_inst, 6, dmmap_ip_interface_ipv6_prefix, "ipv6_prefix_instance", "dmmap_network_ipv6_prefix", "intf_ipv6_prefix", check_browse_section, (void *)&browse_args);
*instance = update_instance(last_inst, 5, dmmap_ip_interface_ipv6_prefix, "ipv6_prefix_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}

View file

@ -33,7 +33,7 @@ static int add_NAT_InterfaceSetting(char *refparam, struct dmctx *ctx, void *dat
dmuci_add_section_bbfdm("dmmap_firewall", "zone", &dmmap_firewall);
dmuci_set_value_by_section(dmmap_firewall, "section_name", section_name(s));
*instance = update_instance(inst, 4, dmmap_firewall, "interface_setting_instance", "dmmap_firewall", "zone");
*instance = update_instance(inst, 2, dmmap_firewall, "interface_setting_instance");
return 0;
}
@ -87,7 +87,7 @@ static int add_NAT_PortMapping(char *refparam, struct dmctx *ctx, void *data, ch
dmuci_add_section_bbfdm("dmmap_firewall", "redirect", &dmmap_firewall);
dmuci_set_value_by_section(dmmap_firewall, "section_name", section_name(s));
*instance = update_instance(inst, 4, dmmap_firewall, "port_mapping_instance", "dmmap_firewall", "redirect");
*instance = update_instance(inst, 2, dmmap_firewall, "port_mapping_instance");
return 0;
}

View file

@ -413,7 +413,7 @@ static int add_ppp_interface(char *refparam, struct dmctx *ctx, void *data, char
dmuci_add_section_bbfdm("dmmap_network", "interface", &dmmap_ppp);
dmuci_set_value_by_section(dmmap_ppp, "section_name", name);
*instance = update_instance(inst, 4, dmmap_ppp, "ppp_int_instance", "dmmap_network", "interface");
*instance = update_instance(inst, 2, dmmap_ppp, "ppp_int_instance");
return 0;
}

View file

@ -145,7 +145,7 @@ static int add_ptm_link(char *refparam, struct dmctx *ctx, void *data, char **in
dmuci_add_section_bbfdm("dmmap_dsl", "ptm-device", &dmmap_ptm);
dmuci_set_value_by_section(dmmap_ptm, "section_name", ptm_device);
*instancepara = update_instance(instance, 4, dmmap_ptm, "ptmlinkinstance", "dmmap_dsl", "ptm-device");
*instancepara = update_instance(instance, 2, dmmap_ptm, "ptmlinkinstance");
return 0;
}

View file

@ -175,7 +175,7 @@ int os_addObjQoSClassification(char *refparam, struct dmctx *ctx, void *data, ch
dmuci_add_section_bbfdm("dmmap_qos", "classify", &dmmap);
dmuci_set_value_by_section(dmmap, "section_name", section_name(s));
*instance = update_instance(inst, 4, dmmap, "classify_instance", "dmmap_qos", "classify");
*instance = update_instance(inst, 2, dmmap, "classify_instance");
return 0;
}
@ -295,7 +295,7 @@ int os_addObjQoSPolicer(char *refparam, struct dmctx *ctx, void *data, char **in
dmuci_add_section_bbfdm("dmmap_qos", "policer", &dmmap);
dmuci_set_value_by_section(dmmap, "section_name", section_name(s));
*instance = update_instance(inst, 4, dmmap, "policer_instance", "dmmap_qos", "policer");
*instance = update_instance(inst, 2, dmmap, "policer_instance");
return 0;
}
@ -375,7 +375,7 @@ int os_addObjQoSQueue(char *refparam, struct dmctx *ctx, void *data, char **inst
dmuci_add_section_bbfdm("dmmap_qos", "queue", &dmmap);
dmuci_set_value_by_section(dmmap, "section_name", section_name(s));
*instance = update_instance(inst, 4, dmmap, "queueinstance", "dmmap_qos", "queue");
*instance = update_instance(inst, 2, dmmap, "queueinstance");
return 0;
}
@ -452,7 +452,7 @@ int os_addObjQoSShaper(char *refparam, struct dmctx *ctx, void *data, char **ins
dmuci_add_section_bbfdm("dmmap_qos", "shaper", &dmmap);
dmuci_set_value_by_section(dmmap, "section_name", section_name(s));
*instance = update_instance(inst, 4, dmmap, "shaperinstance", "dmmap_qos", "shaper");
*instance = update_instance(inst, 2, dmmap, "shaperinstance");
return 0;
}

View file

@ -190,7 +190,7 @@ int os_addObjQoSClassification(char *refparam, struct dmctx *ctx, void *data, ch
dmuci_add_section_bbfdm("dmmap_qos", "classify", &dmmap_qos_classify);
dmuci_set_value_by_section(dmmap_qos_classify, "section_name", section_name(s));
*instance = update_instance(last_inst, 4, dmmap_qos_classify, "classifinstance", "dmmap_qos", "classify");
*instance = update_instance(last_inst, 2, dmmap_qos_classify, "classifinstance");
return 0;
}
@ -307,7 +307,7 @@ int os_addObjQoSQueue(char *refparam, struct dmctx *ctx, void *data, char **inst
dmuci_add_section_bbfdm("dmmap_qos", "class", &dmmap_qos_class);
dmuci_set_value_by_section(dmmap_qos_class, "section_name", sect_name);
*instance = update_instance(last_inst, 4, dmmap_qos_class, "queueinstance", "dmmap_qos", "class");
*instance = update_instance(last_inst, 2, dmmap_qos_class, "queueinstance");
return 0;
}
@ -398,7 +398,7 @@ int addObjQoSShaper(char *refparam, struct dmctx *ctx, void *data, char **instan
dmuci_add_section_bbfdm("dmmap_qos", "class", &dmmap_qos_class);
dmuci_set_value_by_section(dmmap_qos_class, "section_name", section_name(s));
*instance = update_instance(last_inst, 4, dmmap_qos_class, "shaperinstance", "dmmap_qos", "class");
*instance = update_instance(last_inst, 2, dmmap_qos_class, "shaperinstance");
return 0;
}

View file

@ -1109,7 +1109,7 @@ static int add_ipv4forwarding(char *refparam, struct dmctx *ctx, void *data, cha
dmuci_add_section_bbfdm("dmmap_route_forwarding", "route", &dmmap_route);
dmuci_set_value_by_section(dmmap_route, "section_name", section_name(s));
*instancepara = update_instance(instance, 4, dmmap_route, "routeinstance", "dmmap_route_forwarding", "route");
*instancepara = update_instance(instance, 2, dmmap_route, "routeinstance");
return 0;
}
@ -1146,7 +1146,7 @@ static int add_ipv6Forwarding(char *refparam, struct dmctx *ctx, void *data, cha
dmuci_add_section_bbfdm("dmmap_route_forwarding", "route6", &dmmap_route);
dmuci_set_value_by_section(dmmap_route, "section_name", section_name(s));
*instancepara = update_instance(instance, 4, dmmap_route, "route6instance", "dmmap_route_forwarding", "route6");
*instancepara = update_instance(instance, 2, dmmap_route, "route6instance");
return 0;
}

View file

@ -47,7 +47,7 @@ static int add_users_user(char *refparam, struct dmctx *ctx, void *data, char **
dmuci_add_section_bbfdm("dmmap_users", "user", &dmmap_user);
dmuci_set_value_by_section(dmmap_user, "section_name", username);
*instance = update_instance(last_inst, 4, dmmap_user, "user_instance", "dmmap_users", "user");
*instance = update_instance(last_inst, 2, dmmap_user, "user_instance");
return 0;
}

View file

@ -1838,7 +1838,7 @@ static int add_wifi_ssid(char *refparam, struct dmctx *ctx, void *data, char **i
dmuci_add_section_bbfdm("dmmap_wireless", "wifi-iface", &dmmap_wifi);
dmuci_set_value_by_section(dmmap_wifi, "section_name", section_name(s));
*instance = update_instance(inst, 4, dmmap_wifi, "ssidinstance", "dmmap_wireless", "wifi-iface");
*instance = update_instance(inst, 2, dmmap_wifi, "ssidinstance");
return 0;
}
@ -1889,7 +1889,7 @@ static int add_wifi_accesspoint(char *refparam, struct dmctx *ctx, void *data, c
dmuci_add_section_bbfdm("dmmap_wireless", "wifi-iface", &dmmap_wifi);
dmuci_set_value_by_section(dmmap_wifi, "section_name", section_name(s));
*instance = update_instance(inst, 4, dmmap_wifi, "ap_instance", "dmmap_wireless", "wifi-iface");
*instance = update_instance(inst, 2, dmmap_wifi, "ap_instance");
return 0;
}
@ -1940,7 +1940,7 @@ static int addObjWiFiEndPoint(char *refparam, struct dmctx *ctx, void *data, cha
dmuci_add_section_bbfdm("dmmap_wireless", "wifi-iface", &dmmap_sec);
dmuci_set_value_by_section(dmmap_sec, "section_name", section_name(endpoint_sec));
*instance = update_instance(instancepara, 4, dmmap_sec, "endpointinstance", "dmmap_wireless", "wifi-iface");
*instance = update_instance(instancepara, 2, dmmap_sec, "endpointinstance");
return 0;
}

View file

@ -340,7 +340,7 @@ int add_dropbear_instance(char *refparam, struct dmctx *ctx, void *data, char **
dmuci_add_section_bbfdm("dmmap_dropbear", "dropbear", &dmmap_sec);
dmuci_set_value_by_section(dmmap_sec, "section_name", section_name(dropbear_sec));
*instancepara = update_instance(instance, 4, dmmap_sec, "dropbearinstance", "dmmap_dropbear", "dropbear");
*instancepara = update_instance(instance, 2, dmmap_sec, "dropbearinstance");
return 0;
}

View file

@ -285,7 +285,7 @@ static int add_igmp_proxy_obj(char *refparam, struct dmctx *ctx, void *data, cha
dmuci_add_section_bbfdm("dmmap_mcast", "proxy", &dmmap);
dmuci_set_value_by_section(dmmap, "section_name", s_name);
dmuci_set_value_by_section(dmmap, "proto", "igmp");
*instance = update_instance(inst, 6, dmmap, "proxy_instance", "dmmap_mcast", "proxy", check_browse_section, (void *)&browse_args);
*instance = update_instance(inst, 5, dmmap, "proxy_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}
@ -383,7 +383,7 @@ static int add_igmp_snooping_obj(char *refparam, struct dmctx *ctx, void *data,
dmuci_add_section_bbfdm("dmmap_mcast", "snooping", &dmmap);
dmuci_set_value_by_section(dmmap, "section_name", s_name);
dmuci_set_value_by_section(dmmap, "proto", "igmp");
*instance = update_instance(inst, 6, dmmap, "snooping_instance", "dmmap_mcast", "snooping", check_browse_section, (void *)&browse_args);
*instance = update_instance(inst, 5, dmmap, "snooping_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}
@ -515,7 +515,7 @@ static int add_igmps_filter_obj(char *refparam, struct dmctx *ctx, void *data, c
browse_args.option = "section_name";
browse_args.value = section_name((struct uci_section *)data);
*instance = update_instance(last_inst, 6, dmmap_igmps_filter, "filter_instance", "dmmap_mcast", "snooping_filter", check_browse_section, (void *)&browse_args);
*instance = update_instance(last_inst, 5, dmmap_igmps_filter, "filter_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}
@ -951,7 +951,7 @@ static int add_igmpp_interface_obj(char *refparam, struct dmctx *ctx, void *data
browse_args.option = "section_name";
browse_args.value = section_name((struct uci_section *)data);
*instance = update_instance(last_inst, 6, dmmap_igmpp_interface, "iface_instance", "dmmap_mcast", "proxy_interface", check_browse_section, (void *)&browse_args);
*instance = update_instance(last_inst, 5, dmmap_igmpp_interface, "iface_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}
@ -1090,7 +1090,7 @@ static int add_igmpp_filter_obj(char *refparam, struct dmctx *ctx, void *data, c
browse_args.option = "section_name";
browse_args.value = section_name((struct uci_section *)data);
*instance = update_instance(last_inst, 6, dmmap_igmpp_filter, "filter_instance", "dmmap_mcast", "proxy_filter", check_browse_section, (void *)&browse_args);
*instance = update_instance(last_inst, 5, dmmap_igmpp_filter, "filter_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}

View file

@ -36,7 +36,7 @@ static int add_mld_proxy_obj(char *refparam, struct dmctx *ctx, void *data, char
dmuci_add_section_bbfdm("dmmap_mcast", "proxy", &dmmap);
dmuci_set_value_by_section(dmmap, "section_name", s_name);
dmuci_set_value_by_section(dmmap, "proto", "mld");
*instance = update_instance(inst, 6, dmmap, "proxy_instance", "dmmap_mcast", "proxy", check_browse_section, (void *)&browse_args);
*instance = update_instance(inst, 5, dmmap, "proxy_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}
@ -133,7 +133,7 @@ static int add_mld_snooping_obj(char *refparam, struct dmctx *ctx, void *data, c
dmuci_add_section_bbfdm("dmmap_mcast", "snooping", &dmmap);
dmuci_set_value_by_section(dmmap, "section_name", s_name);
dmuci_set_value_by_section(dmmap, "proto", "mld");
*instance = update_instance(inst, 6, dmmap, "snooping_instance", "dmmap_mcast", "snooping", check_browse_section, (void *)&browse_args);
*instance = update_instance(inst, 5, dmmap, "snooping_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}
@ -259,7 +259,7 @@ static int add_mlds_filter_obj(char *refparam, struct dmctx *ctx, void *data, ch
browse_args.option = "section_name";
browse_args.value = section_name((struct uci_section *)data);
*instance = update_instance(last_inst, 6, dmmap_mlds_filter, "filter_instance", "dmmap_mcast", "snooping_filter", check_browse_section, (void *)&browse_args);
*instance = update_instance(last_inst, 5, dmmap_mlds_filter, "filter_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}
@ -332,7 +332,7 @@ static int add_mldp_interface_obj(char *refparam, struct dmctx *ctx, void *data,
browse_args.option = "section_name";
browse_args.value = section_name((struct uci_section *)data);
*instance = update_instance(last_inst, 6, dmmap_mldp_interface, "iface_instance", "dmmap_mcast", "proxy_interface", check_browse_section, (void *)&browse_args);
*instance = update_instance(last_inst, 5, dmmap_mldp_interface, "iface_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}
@ -431,7 +431,7 @@ static int add_mldp_filter_obj(char *refparam, struct dmctx *ctx, void *data, ch
browse_args.option = "section_name";
browse_args.value = section_name((struct uci_section *)data);
*instance = update_instance(last_inst, 6, dmmap_mldp_filter, "filter_instance", "dmmap_mcast", "proxy_filter", check_browse_section, (void *)&browse_args);
*instance = update_instance(last_inst, 5, dmmap_mldp_filter, "filter_instance", NULL, check_browse_section, (void *)&browse_args);
return 0;
}

View file

@ -400,7 +400,7 @@ static int add_owsd_listen(char *refparam, struct dmctx *ctx, void *data, char *
dmuci_add_section_bbfdm("dmmap_owsd", "owsd-listen", &dmmap_sec);
dmuci_set_value_by_section(dmmap_sec, "section_name", section_name(listen_sec));
*instancepara = update_instance(instance, 4, dmmap_sec, "olisteninstance", "dmmap_owsd", "owsd-listen");
*instancepara = update_instance(instance, 2, dmmap_sec, "olisteninstance");
return 0;
}

View file

@ -414,7 +414,7 @@ def cprintAddDelObj( faddobj, fdelobj, name, mappingobj, dmobject ):
print("", file=fp)
print(" dmuci_add_section_bbfdm(\"%s\", \"%s\", &dmmap);" % (dmmapfile, sectiontype), file=fp)
print(" dmuci_set_value_by_section(dmmap, \"section_name\", section_name(s));", file=fp)
print(" *instance = update_instance(inst, 4, dmmap, \"%s\");" % (name+"instance"), file=fp)
print(" *instance = update_instance(inst, 2, dmmap, \"%s\");" % (name+"instance"), file=fp)
else:
print(" //TODO", file=fp)
print(" return 0;", file=fp)

View file

@ -607,13 +607,12 @@ char *update_instance(char *max_inst, int argc, ...)
va_list arg;
char *instance, *last_inst = NULL;
int i = 0;
void *argv[argc+1];
void *argv[8] = {0};
va_start(arg, argc);
for (i = 0; i < argc; i++) {
argv[i] = va_arg(arg, void*);
}
argv[argc] = NULL;
va_end(arg);
instance = update_instance_alias(0, &last_inst, &max_inst, argv);
@ -703,7 +702,7 @@ char *get_last_instance_bbfdm(char *package, char *section, char *opt_inst)
char *inst = NULL, *last_inst = NULL;
uci_path_foreach_sections(bbfdm, package, section, s) {
inst = update_instance(last_inst, 4, s, opt_inst, package, section);
inst = update_instance(last_inst, 2, s, opt_inst);
if(last_inst)
dmfree(last_inst);
last_inst = dmstrdup(inst);
@ -733,14 +732,14 @@ char *get_last_instance(char *package, char *section, char *opt_inst)
if (strcmp(package, DMMAP) == 0) {
uci_path_foreach_sections(bbfdm, "dmmap", section, s) {
inst = update_instance(last_inst, 4, s, opt_inst, package, section);
inst = update_instance(last_inst, 2, s, opt_inst);
if(last_inst)
dmfree(last_inst);
last_inst = dmstrdup(inst);
}
} else {
uci_foreach_sections(package, section, s) {
inst = update_instance(inst, 4, s, opt_inst, package, section);
inst = update_instance(inst, 2, s, opt_inst);
}
}
return inst;
@ -756,7 +755,7 @@ char *get_last_instance_lev2_bbfdm_dmmap_opt(char *dmmap_package, char *section,
browse_args.value = value_check;
uci_path_foreach_option_eq(bbfdm, dmmap_package, section, opt_check, value_check, s) {
instance = update_instance(last_inst, 6, s, opt_inst, dmmap_package, section, check_browse_section, (void *)&browse_args);
instance = update_instance(last_inst, 5, s, opt_inst, NULL, check_browse_section, (void *)&browse_args);
if(last_inst)
dmfree(last_inst);
last_inst = dmstrdup(instance);
@ -775,7 +774,7 @@ char *get_last_instance_lev2_bbfdm(char *package, char *section, char* dmmap_pac
dmuci_add_section_bbfdm(dmmap_package, section, &dmmap_section);
dmuci_set_value_by_section(dmmap_section, "section_name", section_name(s));
}
instance = update_instance(last_inst, 4, dmmap_section, opt_inst, dmmap_package, section);
instance = update_instance(last_inst, 2, dmmap_section, opt_inst);
if(last_inst)
dmfree(last_inst);
last_inst = dmstrdup(instance);
@ -790,14 +789,14 @@ char *get_last_instance_lev2(char *package, char *section, char *opt_inst, char
if (strcmp(package, DMMAP) == 0) {
uci_path_foreach_option_cont(bbfdm, package, section, opt_check, value_check, s) {
instance = update_instance(last_inst, 4, s, opt_inst, package, section);
instance = update_instance(last_inst, 2, s, opt_inst);
if(last_inst)
dmfree(last_inst);
last_inst = dmstrdup(instance);
}
} else {
uci_foreach_option_cont(package, section, opt_check, value_check, s) {
instance = update_instance(instance, 4, s, opt_inst, package, section);
instance = update_instance(instance, 2, s, opt_inst);
}
}
return instance;