Commit graph

193 commits

Author SHA1 Message Date
Vivek Kumar Dutta
b86e64ae69
Replace localtime with thread safe function 2026-01-13 12:05:47 +05:30
Suvendhu Hansa
f13c2a5a9a commit dmmap on initial refresh instance 2026-01-07 19:16:18 +05:30
Suvendhu Hansa
fbf01a9e30 Fix reference_db overwrite by multiple service 2025-12-19 17:40:37 +05:30
Andreas Gnau
df25ff7ce0
libbbfdm-api: proper parenthesis in macros
When using macros, both any occurence of arguments and the macro itself
have to be enclosed in parenthesis to prevent unintended behaviour with
operator precedence.

For now, only fix the one causing a -Wint-conversion warning in GCC 14
when using constructs like these, where two macros are used together and
expand to both two comparisons and two nested ternary expression.

dhcpmngr.c:502:41: error: pointer/integer type mismatch in conditional expression [-Wint-conversion]
 502 |  if (DM_STRCMP(parent_s, section_name(s)) != 0)

Given the very heavy use of macros in this project, there are probably
more instances of this issue in the code and it can cause actual logic
errors. While at it, double evaluation should also be checked for.

Link: http://web.archive.org/web/20140127211232/http://docs.freebsd.org/info/cpp/cpp.info.Macro_Parentheses.html
Link: https://clang.llvm.org/extra/clang-tidy/checks/bugprone/macro-parentheses.html
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2025-12-15 13:22:46 +01:00
Andreas Gnau
e883c4c69b
cmake: Fix compat with CMake 4
CMake 4 has deprecated compatibility with old versions < 3.5, update
minimum required CMake version.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2025-12-15 13:20:50 +01:00
Amin Ben Romdhane
72c3307651 Store object name when parsing multi-instance object without section 2025-12-07 23:26:17 +01:00
Suvendhu Hansa
8f72146f0f Handling sections with missing instance in dmmap 2025-11-28 17:18:59 +05:30
Vivek Dutta
adfdb54d62
Update ubus call logs 2025-10-30 10:45:49 +05:30
Xiaofeng Meng
1a86b8a443
fix bbfdm_resolve_external_reference_via_dmmap 2025-10-24 16:26:10 +05:30
Xiaofeng Meng
165deef400
support dmmap for bbfdm_get_reference_linker 2025-10-23 09:38:32 +05:30
Amin Ben Romdhane
21f4b19cda
bbfdm methods are not working for objects exposed from parent object different to 'Device.' 2025-10-22 18:45:19 +05:30
Amin Ben Romdhane
1596a6a8c1 libbbf-api: Add a new ubus API to get the response based on blob_msg input 2025-10-01 17:34:12 +02:00
Suvendhu Hansa
ba2fc7dc21 execute sync handler on bbfdm.apply event 2025-09-17 19:52:11 +05:30
Vivek Kumar Dutta
252da0b834
Fix setting debug log level 2025-09-14 18:03:13 +05:30
Suvendhu Hansa
2cd0a1ef6b
Register external handler 2025-09-11 13:29:19 +05:30
Suvendhu Hansa
19db3c2d17
dmctx aware bbfdm api 2025-09-05 18:49:59 +05:30
Suvendhu Hansa
2f3a0805b0
rename unnamed dmmap section 2025-09-04 18:56:38 +05:30
Vivek Kumar Dutta
2e6debc04b
Updated some logs 2025-08-26 18:33:15 +05:30
Suvendhu Hansa
09f95d7edd Fix instance number check 2025-08-22 22:02:27 +05:30
Suvendhu Hansa
97320a95ab Fix string handling 2025-08-22 21:59:42 +05:30
Xiaofeng Meng
5d7b4d759e
Fix generic error message for 9007 fault code 2025-08-22 15:06:08 +05:30
Amin Ben Romdhane
d4bc6eea94 Redesign dmmap to be portable and structured 2025-08-04 14:04:52 +02:00
Amin Ben Romdhane
a4f6108138
Improve references database 2025-07-21 15:28:45 +05:30
Amin Ben Romdhane
7acb5cb2f4
Set dm_type for internal API calls 2025-07-18 12:24:07 +05:30
Amin Ben Romdhane
b6fdc87df8 Ensure UCI savedir paths are created before initialization 2025-07-14 00:34:31 +02:00
Amin Ben Romdhane
549a296cbf
Set an empty value as a reference value when the path exists but its linker is empty 2025-06-30 14:37:59 +00:00
Amin Ben Romdhane
aa74995f9b
Added a mechanism to recover blacklisted ubus methods 2025-06-20 18:35:05 +05:30
Suvendhu Hansa
ad2602f114 Blacklist ubus object only in timed out 2025-06-13 12:42:10 +05:30
Amin Ben Romdhane
571a4335a9 Added support for ubus blob API with timeout 2025-06-11 14:03:38 +02:00
Vivek Kumar Dutta
cb405b3b88 Added dependency based on directory 2025-05-27 19:55:08 +05:30
Amin Ben Romdhane
7cce094e03
ubus: Blacklist unsupported or slow methods after repeated failures 2025-05-27 19:54:41 +05:30
Vivek Dutta
dd0c6433aa
Revert "depcheck to check non-zero file" 2025-05-27 19:53:16 +05:30
Vivek Kumar Dutta
6cbfa27973
depcheck to check non-zero file 2025-05-27 14:26:24 +05:30
Amin Ben Romdhane
79a91515e5 Add detailed error logging for ubus_invoke failures 2025-05-20 11:42:02 +00:00
Suvendhu Hansa
3f56ad4595 bbfdm api for reverting dmmap changes 2025-05-14 20:51:16 +05:30
Amin Ben Romdhane
c7e783aecd
Update pipeline to cover all micro-services 2025-05-08 17:34:23 +00:00
Amin Ben Romdhane
ccc15bd9e1
Fix tools to show available datamodel correctly 2025-05-01 17:24:36 +05:30
Amin Ben Romdhane
4a3a7ca0b1 Reference DB: add file lock to prevent race condition when updating reference DB file
Added an exclusive file locking mechanism using `flock()` to ensure that
only one process at a time can update the '/var/state/bbfdm_reference_db' file.
This prevents data loss or corruption caused by concurrent access.

This change improves robustness when `bbfdm_refresh_references()` is called
by multiple processes in parallel.
2025-04-25 12:13:20 +02:00
Amin Ben Romdhane
ab5cde2c42 Introduce a new ubus API with timeout 2025-04-23 07:15:22 +00:00
Amin Ben Romdhane
56937cd498
Update reference db refresh 2025-04-15 15:20:55 +00:00
Amin Ben Romdhane
45a6d7e0c7 Redesign the handling of references based on uci reference_translation 2025-04-08 09:29:09 +02:00
Amin Ben Romdhane
e3757b5f37
Remove bbfdm.linker request and response events 2025-03-20 11:56:23 +00:00
Vivek Kumar Dutta
53fdfcfa28
Updated logs 2025-03-16 11:52:42 +05:30
Vivek Kumar Dutta
1fa64da324 Update buffer size of set to 4096 2025-03-13 13:24:10 +00:00
Vivek Kumar Dutta
38636715ad
Fix Max instance log and uci list buffer size 2025-03-04 18:05:30 +05:30
Amin Ben Romdhane
1c417534a8 Added support for setting a list of references 2025-02-26 16:34:54 +01:00
Amin Ben Romdhane
0ad7ad1021 Flags array is missing in get commands 2025-02-24 13:59:06 +01:00
Amin Ben Romdhane
35faf181a9 Fix the Set method comparison 2025-02-24 13:51:09 +01:00
Amin Ben Romdhane
f21814dd4e
Optimize bbfdmd
* All core Data Model move to core micro-service
* New bbfdmd daemon to use async call to optimize RPCs handling
2025-02-21 09:55:09 +00:00
Vivek Kumar Dutta
c8967d6bf4 log when max instance reached 2025-02-05 17:01:29 +05:30