Changes done are:
1. Interfaces in the proxy uci section are called upstream_interface
and downstream_interface as against proxy_interface and snooping_interface
earlier.
2. The interface now bears the value of the actual linux interface, so,
the upstream interface for example is now eth4.1 instead of wan.
3. A bug in the determining of bridging instance was identified and fixed.
The UCI looks as follows now:
root@iopsys:~# cat /etc/config/mcast
config proxy 'mproxy_1'
option enable '0'
option proto 'igmp'
option version '2'
option robustness '2'
option aggregation '0'
option last_member_query_interval '10'
option query_interval '120'
option query_response_interval '10'
list downstream_interface 'br-wan100'
list upstream_interface 'eth4.1'
config snooping 'msnoop_1'
option enable '0'
option proto 'igmp'
option version '2'
option robustness '2'
option aggregation '0'
option interface 'br-wan100'
- Fixed issue in Ethernet Link deletion.
- Fixed deletion of untagged interfaces section from UCI.
- Fixed in setting lower layers for Ethernet link in case of untagged management interface.
- Fixed issue of adding same ports with different vlan id under different bridge.
_XOPEN_SOURCE is included by _GNU_SOURCE.
This fixes redefinition errors of _XOPEN_SOURCE when the libc
implementations define it because of _GNU_SOURCE.
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
The function enabled_notify_check_value_change_param() calls these 2
functions that have no definition or decleration:
- add_list_value_change()
- send_active_value_change()
This commit comments them out.
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
- don't export symbols that are not used ouside of dhcpv4.c
- make read only values const
- remove uneceessary memory allocations and duplications
- avoid "router.network" calls for compatibitliy with generic openwrt builds
- move redundand code to functions
- remove tab indents on empty lines
- avoid opening and parsing DHCP_LEASE_FILE multiple times
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
- use less memory
- decrease lookup time
- make read only variables const
- remove unused variables / macros
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
- use libubus instead of fork and exec ubus program
- move redundant code to static functions
- don't export ubus_ctx. It's only used in dmubus.c
- mark static gobals static
- remove unecessary json to blobmsg conversions/allocations when preparing parameters for ubus_invoke
- fix memleaks on not freeing ubus_ctx from ubus_connect
- fix invoking requests on random stack value id when ubus_lookup_id failed
- don't connect/disconnect on every request
- don't reallocate blob_buf on every request
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
There is not always an "ifname" option in the wifi-iface section.
This commit uses ubus to resolve the right interface for the SSID.
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
This function was only used to query interface statistics,
which are now read direclty from sysfs.
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
- use sysfs instread of ubus and ifconfig command execution for Inteface stats.
This reduces uneccessary memory and cpu overhead and speeds up the query time for
IP.Interface queries by a multiple.
- move redundant code to static functions
- fix rx/tx multicast/broadcast stats can never be obtained from ifconfig
- fix invalid stats for unknownprotopackets.
- fix stats not correclty reported when counters exceed 32bit int values.
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
- use sysfs instread of ubus and ifconfig command execution for Inteface stats.
This reduces uneccessary memory and cpu overhead and speeds up the query time for
IP.Interface queries by a multiple.
- move redundant code to static functions
- fix rx/tx multicast/broadcast stats can never be obtained from ifconfig
- fix invalid stats for unknownprotopackets.
- fix stats not correclty reported when counters exceed 32bit int values.
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
Read-only values should be marked with const to help the compiler
optimize code. But this would requrire a bigger rewirte of all the code,
hence the original code did not use const at all.
This should be done in the future to ensure good code quality
and performance.
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
- avoid uneccessary memory allocations
- move {read,write}FileContent functions to usb source file where they are used exclusively and make them static
- fix bad logic in readFileContent
- move redundant code to static functions
- fix get_USBUSBHostsHostDevice_MaxChildren never returning any value
- fix no interface instances being created
- make some functions that are not exported static
- fix segfault on get_USBInterface_Enable when the interface is down
- fix segfault on get_USBInterface_Status when the interface is down.
- fix segfault on missing format character in get_USBInterface_LowerLayers.
- fix segfault and double frees on recrusive browseUSBUSBHostsHostInst() calls.
- reduce overall memory usage
- use const on read-only values
- fix invalid comparision on strstr return value
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
This fixes segfaults and pointers with invalid strings for:
- dmuci_add_section
- dmuci_set_value_by_section
- dmuci_set_value
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>