]>
git.ipfire.org Git - thirdparty/bird.git/log
Vojtech Vilimek [Fri, 9 Aug 2024 19:05:32 +0000 (21:05 +0200)]
SNMP: Progress
Remove old logging messages, improve and correct function documentation,
minor tweaks and bugfixes
Vojtech Vilimek [Fri, 26 Jul 2024 10:28:33 +0000 (12:28 +0200)]
SNMP: AgentX master agent can have IPv6 addr
Vojtech Vilimek [Fri, 26 Jul 2024 08:43:00 +0000 (10:43 +0200)]
SNMP: move pieces of show_info
Vojtech Vilimek [Wed, 24 Jul 2024 11:38:36 +0000 (13:38 +0200)]
SNMP: tmp
Vojtech Vilimek [Tue, 23 Jul 2024 11:48:20 +0000 (13:48 +0200)]
SNMP: Minor improvements
Vojtech Vilimek [Mon, 22 Jul 2024 16:17:35 +0000 (18:17 +0200)]
SNMP: AgentX over UNIX-domain sockets
Vojtech Vilimek [Mon, 22 Jul 2024 16:17:16 +0000 (18:17 +0200)]
SNMP: subagent improvements
Vojtech Vilimek [Mon, 22 Jul 2024 16:12:28 +0000 (18:12 +0200)]
SNMP: New test and bugfixes
New tests for mib_tree_walk_oid_compare(), fixes for API changes.
Vojtech Vilimek [Wed, 17 Jul 2024 10:05:13 +0000 (12:05 +0200)]
IO: Changes in socket API
Support for active UNIX sockets is added. UNIX socket are now created with
sk_open. The socket name/path is passes in host, the same way as SSH address.
Vojtech Vilimek [Wed, 17 Jul 2024 11:03:26 +0000 (13:03 +0200)]
SNMP: snmp_pdu simplification
Vojtech Vilimek [Tue, 9 Jul 2024 14:56:16 +0000 (16:56 +0200)]
SNMP: tmp
Vojtech Vilimek [Tue, 9 Jul 2024 14:30:04 +0000 (16:30 +0200)]
SNMP: tmp
Vojtech Vilimek [Thu, 4 Jul 2024 14:33:44 +0000 (16:33 +0200)]
SNMP: tmp ``microimprovement'' flush worktree
Vojtech Vilimek [Thu, 4 Jul 2024 14:31:15 +0000 (16:31 +0200)]
SNMP: tmp microimprovement user protocol doc
TODO finish
Vojtech Vilimek [Fri, 24 May 2024 13:20:30 +0000 (15:20 +0200)]
SNMP: Slow integraion of MIB tree in SNMP code
Vojtech Vilimek [Tue, 21 May 2024 13:43:41 +0000 (15:43 +0200)]
SNMP: MIB improvement
Tests look to pass.
Vojtech Vilimek [Mon, 22 Apr 2024 10:55:33 +0000 (12:55 +0200)]
SNMP: MIB tree
The first iteration of MIB tree with tests.
Vojtech Vilimek [Tue, 23 Jan 2024 23:23:31 +0000 (00:23 +0100)]
SNMP: Major leap forward
Solved segmentation faults.
Vojtech Vilimek [Wed, 10 Jan 2024 11:21:46 +0000 (12:21 +0100)]
SNMP: dead end
The code contains hard to debug bug where we periodically do some kind of error.
The problem is caused by weird values after the AgentX PDU header, exactly where
the first OID should lie. We expend value less than 15 but we found values like
0x00003b47. We found possible cause on assignment to socket's receive buffer
position in proto/snmp/subagent.c:snmp_rx at line 1569. An erroneous behavior
may have been caused by off-by-on error. More investigation is needed to gain
full picture.
To resolve this issue we use much more simpler approach. We will set max packet
size and wait until whole packet has arrived.
Vojtech Vilimek [Thu, 16 Nov 2023 06:11:14 +0000 (07:11 +0100)]
SNMP: Documentation improvements
Vojtech Vilimek [Wed, 15 Nov 2023 14:03:55 +0000 (15:03 +0100)]
SNMP: Major code improvements
SNMP state changes are now handled by snmp_set_state() functions.
The registration structure and related variables are renamed to remove
confusion.
Manipulation of BGP peers, a reference to BGP protocol structures, is improved
by new functions that encapsulate raw hash table macros (moved from snmp.h).
IPv4 addresses now used by bgp_mib.c because BGP4-MIB does not support IPv6
addresses.
Configuration grammar rules are revised.
We now use DBG() and TRACE() macros to output information about SNMP state
chagnes and about received and transmitted packets.
Pieces of old code are removed, minor bugfixes are included. Large debug string
array are removed.
Vojtech Vilimek [Wed, 15 Nov 2023 11:37:10 +0000 (12:37 +0100)]
SNMP: Use compile-time selected byte order
In the AgentX communication the subagent chooses the byte order used. To reduce
code complexity, we decide to use compile-time selected byte order in PDU sent.
Supported options are:
- SNMP_NATIVE: use native CPU byte order
- SNMP_NETWORK_BYTE_ORDER: use big endian in PDUs, i.e. network byte order
It is recommended not to used both options at the same time (even it is possible
on big endian platforms).
Vojtech Vilimek [Wed, 15 Nov 2023 10:29:19 +0000 (11:29 +0100)]
SNMP: Refactor - use inline functions
Macros are replaced with inline functions.
Vojtech Vilimek [Wed, 8 Nov 2023 12:10:13 +0000 (13:10 +0100)]
SNMP: Fix handling of partially received PDUs
Vojtech Vilimek [Wed, 8 Nov 2023 09:55:42 +0000 (10:55 +0100)]
SNMP: Add documentation
Vojtech Vilimek [Wed, 8 Nov 2023 08:27:01 +0000 (09:27 +0100)]
SNMP: Fix non-debug build
Vojtech Vilimek [Wed, 25 Oct 2023 14:57:46 +0000 (16:57 +0200)]
SNMP: Improvements in registration handling
Vojtech Vilimek [Wed, 25 Oct 2023 14:44:08 +0000 (16:44 +0200)]
SNMP: Refactoring
Vojtech Vilimek [Wed, 25 Oct 2023 14:23:39 +0000 (16:23 +0200)]
SNMP: Remove support for context
Vojtech Vilimek [Wed, 25 Oct 2023 10:56:23 +0000 (12:56 +0200)]
SNMP: Better handling of errors
Vojtech Vilimek [Wed, 25 Oct 2023 10:41:23 +0000 (12:41 +0200)]
SNMP: Bugfixes, minor code improvements
Vojtech Vilimek [Thu, 19 Oct 2023 14:46:18 +0000 (16:46 +0200)]
SNMP: Remove development comments
Vojtech Vilimek [Thu, 19 Oct 2023 14:32:38 +0000 (16:32 +0200)]
Merge branch 'vv-test' into proto-snmp
Vojtech Vilimek [Thu, 19 Oct 2023 14:27:04 +0000 (16:27 +0200)]
SNMP: Bare support for agentx-TestSet-PDU
Vojtech Vilimek [Thu, 19 Oct 2023 14:20:37 +0000 (16:20 +0200)]
SNMP: Code improvements
Vojtech Vilimek [Thu, 19 Oct 2023 14:08:13 +0000 (16:08 +0200)]
SNMP: Remove old code
Vojtech Vilimek [Thu, 19 Oct 2023 14:03:22 +0000 (16:03 +0200)]
fixup! An unexpected NULL pilgrim
Vojtech Vilimek [Wed, 18 Oct 2023 16:06:24 +0000 (18:06 +0200)]
SNMP: Refactoring - Comments, Logging
Vojtech Vilimek [Wed, 18 Oct 2023 16:06:24 +0000 (18:06 +0200)]
SNMP: Refactoring - Comments, Logging
Vojtech Vilimek [Wed, 18 Oct 2023 14:51:21 +0000 (16:51 +0200)]
SNMP: Add bgp trie cleanup
Vojtech Vilimek [Wed, 18 Oct 2023 11:30:14 +0000 (13:30 +0200)]
SNMP: Minor changes in get, get_next handling
Vojtech Vilimek [Wed, 11 Oct 2023 08:44:18 +0000 (10:44 +0200)]
SNMP: BGP4-MIB add LocalIdentifier
Vojtech Vilimek [Mon, 11 Sep 2023 11:06:20 +0000 (13:06 +0200)]
SNMP: Context support and improved registering
Vojtech Vilimek [Mon, 4 Sep 2023 12:01:08 +0000 (14:01 +0200)]
SNMP: Refactoring
Vojtech Vilimek [Mon, 4 Sep 2023 11:58:59 +0000 (13:58 +0200)]
SNMP: Add timeout config option, refactoring
Vojtech Vilimek [Mon, 4 Sep 2023 11:53:45 +0000 (13:53 +0200)]
SNMP: BGP4-MIB notifications
Vojtech Vilimek [Mon, 4 Sep 2023 11:51:29 +0000 (13:51 +0200)]
SNMP: Refactoring (readability)
Vojtech Vilimek [Mon, 4 Sep 2023 11:48:28 +0000 (13:48 +0200)]
SNMP: Refactoring (order)
Vojtech Vilimek [Mon, 4 Sep 2023 11:46:02 +0000 (13:46 +0200)]
SNMP: Remove transmit hook, new macros
Vojtech Vilimek [Mon, 4 Sep 2023 07:25:51 +0000 (09:25 +0200)]
Testing Notify-PDU
Vojtech Vilimek [Wed, 30 Aug 2023 15:22:52 +0000 (17:22 +0200)]
Minor bugfix
Vojtech Vilimek [Tue, 8 Aug 2023 19:51:38 +0000 (21:51 +0200)]
Big code cleanup
Vojtech Vilimek [Tue, 8 Aug 2023 18:47:30 +0000 (20:47 +0200)]
Bugfixes
Vojtech Vilimek [Tue, 8 Aug 2023 17:45:50 +0000 (19:45 +0200)]
Fix BGP identifier values in BGP4-MIB
Vojtech Vilimek [Tue, 8 Aug 2023 17:00:54 +0000 (19:00 +0200)]
Register-PDU distinguish between instance/tree reg.
Other changes include simplification of large TX buffer when it's insufficient
and purge of additional_buffer.
Vojtech Vilimek [Tue, 8 Aug 2023 15:00:20 +0000 (17:00 +0200)]
Extension for varbind TimeTicks, varbind type sizes
Vojtech Vilimek [Wed, 26 Jul 2023 12:34:55 +0000 (14:34 +0200)]
fixed snmp_test.c test suite
Vojtech Vilimek [Wed, 26 Jul 2023 12:34:01 +0000 (14:34 +0200)]
mainly visual tweaks
Vojtech Vilimek [Wed, 26 Jul 2023 12:30:34 +0000 (14:30 +0200)]
changes in subagent.c API
Vojtech Vilimek [Wed, 26 Jul 2023 12:02:23 +0000 (14:02 +0200)]
changes in bgp_mib.c API (mainly)
Vojtech Vilimek [Tue, 11 Jul 2023 12:44:49 +0000 (14:44 +0200)]
Add missing prefix file
Vojtech Vilimek [Tue, 11 Jul 2023 12:32:27 +0000 (14:32 +0200)]
code cleanup
Vojtech Vilimek [Tue, 11 Jul 2023 12:23:07 +0000 (14:23 +0200)]
Completed trie API changes
Minor bug fixes in trie_walk_init() with associated tests.
Vojtech Vilimek [Thu, 6 Jul 2023 10:02:42 +0000 (12:02 +0200)]
changes in trie_walk_init() - preview
Vojtech Vilimek [Wed, 5 Jul 2023 09:59:10 +0000 (11:59 +0200)]
tests pass (several times)
Vojtech Vilimek [Tue, 4 Jul 2023 08:07:40 +0000 (10:07 +0200)]
temporal
Vojtech Vilimek [Fri, 28 Apr 2023 09:10:01 +0000 (11:10 +0200)]
tmp: tmp progress on trie API
Vojtech Vilimek [Fri, 14 Apr 2023 09:30:55 +0000 (11:30 +0200)]
tmp: enhancements in trie api changes
Vojtech Vilimek [Fri, 7 Apr 2023 15:27:20 +0000 (17:27 +0200)]
Extend the trie_walk_init api + test
The trie_walk_init() function now supports also searching whole trie
subnet and all successor subnets (in lexicographic order). This behavior
can be accomplished by setting @net, and @include_successors to subnet,
and non-zero respectivelly.
Vojtech Vilimek [Fri, 31 Mar 2023 07:56:39 +0000 (09:56 +0200)]
tmp: minor changes
Vojtech Vilimek [Fri, 31 Mar 2023 07:56:03 +0000 (09:56 +0200)]
tmp: minor changes
Vojtech Vilimek [Fri, 24 Mar 2023 14:02:23 +0000 (15:02 +0100)]
tmp: minor changes + fixed tests
Vojtech Vilimek [Fri, 24 Mar 2023 14:01:35 +0000 (15:01 +0100)]
tmp: add new bgp mib entry support (bgpPeerTable)
Vojtech Vilimek [Fri, 24 Mar 2023 14:00:54 +0000 (15:00 +0100)]
tmp: add new helper function
Vojtech Vilimek [Tue, 14 Mar 2023 13:10:08 +0000 (14:10 +0100)]
tmp: fix parsing multiple in rx buffer
Vojtech Vilimek [Tue, 14 Mar 2023 13:09:45 +0000 (14:09 +0100)]
tmp: minor changes
Vojtech Vilimek [Sat, 17 Dec 2022 17:24:05 +0000 (18:24 +0100)]
code cleanup
Vojtech Vilimek [Sat, 17 Dec 2022 17:16:19 +0000 (18:16 +0100)]
tmp
Vojtech Vilimek [Sat, 10 Dec 2022 17:08:00 +0000 (18:08 +0100)]
tmp: compiles and runs
Vojtech Vilimek [Sat, 10 Dec 2022 12:23:50 +0000 (13:23 +0100)]
snmp reconnect
Vojtech Vilimek [Sat, 10 Dec 2022 12:22:37 +0000 (13:22 +0100)]
snmp_log() wrapper
Vojtech Vilimek [Tue, 6 Dec 2022 15:32:26 +0000 (16:32 +0100)]
tmp
Vojtech Vilimek [Tue, 29 Nov 2022 15:30:20 +0000 (16:30 +0100)]
tmp: compiles
Vojtech Vilimek [Tue, 22 Nov 2022 13:16:09 +0000 (14:16 +0100)]
moving shared parts to snmp_utils
Vojtech Vilimek [Sat, 19 Nov 2022 22:00:02 +0000 (23:00 +0100)]
tmp: compiles
Vojtech Vilimek [Tue, 15 Nov 2022 15:29:03 +0000 (16:29 +0100)]
fix the Get and GetNext
missing some functionality around GetBulk
Vojtech Vilimek [Sat, 5 Nov 2022 15:29:00 +0000 (16:29 +0100)]
tmp: compiles, first tests
Vojtech Vilimek [Fri, 30 Sep 2022 07:36:09 +0000 (09:36 +0200)]
TMP: compiles and runs
Vojtech Vilimek [Tue, 20 Sep 2022 12:28:57 +0000 (14:28 +0200)]
TMP: work on Get-PDU and GetNext-PDU
Vojtech Vilimek [Tue, 6 Sep 2022 16:04:29 +0000 (18:04 +0200)]
TMP new snmp PDUs
Vojtech Vilimek [Wed, 10 Aug 2022 15:31:32 +0000 (17:31 +0200)]
TMP: compiles, some pdus working
Vojtech Vilimek [Tue, 2 Aug 2022 14:12:09 +0000 (16:12 +0200)]
TMP: code cleanup - remove trailing whitespace
Vojtech Vilimek [Tue, 2 Aug 2022 14:04:25 +0000 (16:04 +0200)]
TMP: proto-snmp compiles and connects to master
Vojtech Vilimek [Wed, 20 Jul 2022 10:25:20 +0000 (12:25 +0200)]
Refactor of struct channel and channel_config
Element struct channel_class *channel was renamed to *class in struct channel
and struct channel_config. New pointers were added to structures above
in both directions. This can simplify and speedup the proces of finding
channel (configuration).
Vojtech Vilimek [Mon, 1 Aug 2022 11:01:49 +0000 (13:01 +0200)]
Initial commit for new protocol `snmp'
Maria Matejka [Thu, 28 Jul 2022 17:52:19 +0000 (19:52 +0200)]
Sending an event must also ping the target IO loop
Maria Matejka [Thu, 28 Jul 2022 17:49:03 +0000 (19:49 +0200)]
Moved the thread starting code to IO loop code
Maria Matejka [Thu, 28 Jul 2022 17:22:58 +0000 (19:22 +0200)]
Merge commit '
03bf6b90 ' into thread-next
Maria Matejka [Thu, 28 Jul 2022 17:22:48 +0000 (19:22 +0200)]
Revert "Adding a generic cork mechanism for events"
This reverts commit
6e841b3153565632b6753f6b1fe74850c37f2808 .
Maria Matejka [Fri, 24 Jun 2022 17:53:34 +0000 (19:53 +0200)]
Event lists rewritten to a single linked list
In multithreaded environment, we need to pass messages between workers.
This is done by queuing events to their respective queues. The
double-linked list is not really useful for that as it needs locking
everywhere.
This commit rewrites the event subsystem to use a single-linked list
where events are enqueued by a single atomic instruction and the queue
is processed after atomically moving the whole queue aside.