ud3tn/test/unit/test.c
Felix Walter 87be9749af Re-integrate v0.13.0 routing code as "integrated default BDM"
This makes µD3TN behave the same as v0.13.0 when executed without an
additional commandline argument. A new commandline argument `-d` /
`--external-dispatch` is added, which enables the use of external BDMs.
The default forwarding implementation is now again provided using the
v0.13 code, extracted from e1621765a4 and
adapted to the new agent-based forwarding implementation.

Central changes to the old code include:

- A new "Routing Agent" that handles incoming configuration commands,
  FIB updates, and BDM dispatch requests.
- The use of the BDM authorization flag to authorize contact
  configuration commands.
- The Contact Manager now only triggers the creation and removal of
  links / FIB entries; bundle dispatch is triggered through the FIB and
  BDM callback functions of the Routing Agent.
- The fragmentation logic is adapted to store the original bundle along
  with an offset and length value, instead of pre-creating and storing
  the fragments.
- The bundle re-scheduling logic integrated into the Routing Agent is
  simplified and does not support changing the fragmentation parameters.
  A new function is added to the Router that searches for a new route
  for such fragments that were already scheduled at some point,
  considering them as un-fragmentable bundle with overridden fragment
  offset and length.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-07-15 00:46:14 +02:00

35 lines
966 B
C

// SPDX-License-Identifier: BSD-3-Clause OR Apache-2.0
#include "testud3tn_unity.h"
void testud3tn(void)
{
RUN_TEST_GROUP(simplehtab);
RUN_TEST_GROUP(sdnv);
RUN_TEST_GROUP(eid);
RUN_TEST_GROUP(fib);
RUN_TEST_GROUP(agent_manager);
RUN_TEST_GROUP(crc);
RUN_TEST_GROUP(bundle6Create);
RUN_TEST_GROUP(bundle6Fragment);
RUN_TEST_GROUP(bundle6ParserSerializer);
RUN_TEST_GROUP(bundle7Parser);
RUN_TEST_GROUP(bundle7Serializer);
RUN_TEST_GROUP(bundle7Reports);
RUN_TEST_GROUP(bundle7Fragmentation);
RUN_TEST_GROUP(bundle7Create);
RUN_TEST_GROUP(spp);
RUN_TEST_GROUP(spp_parser);
RUN_TEST_GROUP(spp_timecodes);
RUN_TEST_GROUP(aap);
RUN_TEST_GROUP(aap_parser);
RUN_TEST_GROUP(aap_serializer);
RUN_TEST_GROUP(bibe_header_encoder);
RUN_TEST_GROUP(bibe_parser);
RUN_TEST_GROUP(bibe_validation);
RUN_TEST_GROUP(bundle);
RUN_TEST_GROUP(node);
RUN_TEST_GROUP(routingTable);
#ifdef PLATFORM_POSIX
RUN_TEST_GROUP(simple_queue);
#endif // PLATFORM_POSIX
}