0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-22 09:41:54 +00:00
Commit Graph

4139 Commits

Author SHA1 Message Date
Vojtech Vilimek
e8cad1f275 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.
2024-01-10 12:21:46 +01:00
Vojtech Vilimek
a6a07ffb19 SNMP: Documentation improvements 2023-11-16 07:11:14 +01:00
Vojtech Vilimek
c18e6dd58d 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.
2023-11-15 15:03:55 +01:00
Vojtech Vilimek
53856e49c9 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).
2023-11-15 13:00:24 +01:00
Vojtech Vilimek
709d0fdd19 SNMP: Refactor - use inline functions
Macros are replaced with inline functions.
2023-11-15 11:41:54 +01:00
Vojtech Vilimek
fedaa0af5e SNMP: Fix handling of partially received PDUs 2023-11-08 13:10:13 +01:00
Vojtech Vilimek
bcbb56bef6 SNMP: Add documentation 2023-11-08 11:42:57 +01:00
Vojtech Vilimek
332fc82142 SNMP: Fix non-debug build 2023-11-08 09:27:01 +01:00
Vojtech Vilimek
a737f7a4d8 SNMP: Improvements in registration handling 2023-10-25 16:58:47 +02:00
Vojtech Vilimek
661a4277bb SNMP: Refactoring 2023-10-25 16:48:12 +02:00
Vojtech Vilimek
fd243b6e9e SNMP: Remove support for context 2023-10-25 16:39:11 +02:00
Vojtech Vilimek
aef20fe1a7 SNMP: Better handling of errors 2023-10-25 12:56:23 +02:00
Vojtech Vilimek
151fa4b6b2 SNMP: Bugfixes, minor code improvements 2023-10-25 12:41:23 +02:00
Vojtech Vilimek
0caf003bf5 SNMP: Remove development comments 2023-10-19 17:02:52 +02:00
Vojtech Vilimek
3b87af96f3 Merge branch 'vv-test' into proto-snmp 2023-10-19 16:32:38 +02:00
Vojtech Vilimek
e15f38e082 SNMP: Bare support for agentx-TestSet-PDU 2023-10-19 16:27:04 +02:00
Vojtech Vilimek
faa6262573 SNMP: Code improvements 2023-10-19 16:20:37 +02:00
Vojtech Vilimek
6c59bcdfbb SNMP: Remove old code 2023-10-19 16:15:15 +02:00
Vojtech Vilimek
f2f9810b86 fixup! An unexpected NULL pilgrim 2023-10-19 16:03:22 +02:00
Vojtech Vilimek
728e968ba7 SNMP: Refactoring - Comments, Logging 2023-10-19 15:59:13 +02:00
Vojtech Vilimek
3488d0e0a7 SNMP: Refactoring - Comments, Logging 2023-10-18 18:17:58 +02:00
Vojtech Vilimek
7b79f55ae9 SNMP: Add bgp trie cleanup 2023-10-18 17:39:36 +02:00
Vojtech Vilimek
9f4a68be73 SNMP: Minor changes in get, get_next handling 2023-10-18 13:31:35 +02:00
Vojtech Vilimek
778906d168 SNMP: BGP4-MIB add LocalIdentifier 2023-10-11 11:21:19 +02:00
Vojtech Vilimek
2211644ed3 SNMP: Context support and improved registering 2023-09-11 13:41:39 +02:00
Vojtech Vilimek
14bcba7040 SNMP: Refactoring 2023-09-04 14:01:08 +02:00
Vojtech Vilimek
730666be7f SNMP: Add timeout config option, refactoring 2023-09-04 13:58:59 +02:00
Vojtech Vilimek
8a1f2dba66 SNMP: BGP4-MIB notifications 2023-09-04 13:53:45 +02:00
Vojtech Vilimek
c765faef17 SNMP: Refactoring (readability) 2023-09-04 13:51:29 +02:00
Vojtech Vilimek
eb5bd00de4 SNMP: Refactoring (order) 2023-09-04 13:48:28 +02:00
Vojtech Vilimek
7543da15d8 SNMP: Remove transmit hook, new macros 2023-09-04 13:46:02 +02:00
Vojtech Vilimek
df28d1cbe8 Testing Notify-PDU 2023-09-04 09:25:51 +02:00
Vojtech Vilimek
3c718d162c Minor bugfix 2023-08-30 17:22:52 +02:00
Vojtech Vilimek
4c29a3911e Big code cleanup 2023-08-08 21:51:38 +02:00
Vojtech Vilimek
b3f8b3124d Bugfixes 2023-08-08 20:47:30 +02:00
Vojtech Vilimek
c6bcdf8687 Fix BGP identifier values in BGP4-MIB 2023-08-08 19:54:40 +02:00
Vojtech Vilimek
5f936b4442 Register-PDU distinguish between instance/tree reg.
Other changes include simplification of large TX buffer when it's insufficient
and purge of additional_buffer.
2023-08-08 19:00:54 +02:00
Vojtech Vilimek
bdf68b3240 Extension for varbind TimeTicks, varbind type sizes 2023-08-08 17:00:20 +02:00
Vojtech Vilimek
c8cda68762 fixed snmp_test.c test suite 2023-07-26 14:34:55 +02:00
Vojtech Vilimek
4c7828779e mainly visual tweaks 2023-07-26 14:34:01 +02:00
Vojtech Vilimek
3c26f49107 changes in subagent.c API 2023-07-26 14:30:34 +02:00
Vojtech Vilimek
9f8950d4d7 changes in bgp_mib.c API (mainly) 2023-07-26 14:02:23 +02:00
Vojtech Vilimek
ec7d4fd52c Add missing prefix file 2023-07-11 14:44:49 +02:00
Vojtech Vilimek
c65d2299bd code cleanup 2023-07-11 14:34:59 +02:00
Vojtech Vilimek
6a097ebd55 Completed trie API changes
Minor bug fixes in trie_walk_init() with associated tests.
2023-07-11 14:23:07 +02:00
Vojtech Vilimek
362081da85 changes in trie_walk_init() - preview 2023-07-06 12:02:42 +02:00
Vojtech Vilimek
b290284769 tests pass (several times) 2023-07-05 11:59:10 +02:00
Vojtech Vilimek
70ec873ebe temporal 2023-07-04 10:07:40 +02:00
Vojtech Vilimek
3719d746bc tmp: tmp progress on trie API 2023-04-28 11:10:01 +02:00
Vojtech Vilimek
7e68ba64a9 tmp: enhancements in trie api changes 2023-04-14 11:30:55 +02:00