summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mac/sar/test/maximus_test/maximus_rea/Makefile13
-rw-r--r--mac/sar/test/maximus_test/maximus_rea/ecos.ecc.sh104
-rw-r--r--mac/sar/test/maximus_test/maximus_rea/src/Maximus_rea.cpp66
-rw-r--r--mac/sar/test/maximus_test/maximus_rea/src/station_rea.c379
-rw-r--r--mac/sar/test/maximus_test/maximus_seg/Makefile13
-rw-r--r--mac/sar/test/maximus_test/maximus_seg/ecos.ecc.sh104
-rw-r--r--mac/sar/test/maximus_test/maximus_seg/src/Maximus_seg_test.cpp76
-rw-r--r--mac/sar/test/maximus_test/maximus_seg/src/station_sar_seg_test.c357
-rw-r--r--mac/sar/test/maximus_test/src/Maximus_sar.cpp73
-rw-r--r--mac/sar/test/maximus_test/src/Sta_sar.c150
10 files changed, 160 insertions, 1175 deletions
diff --git a/mac/sar/test/maximus_test/maximus_rea/Makefile b/mac/sar/test/maximus_test/maximus_rea/Makefile
deleted file mode 100644
index f30d1cd451..0000000000
--- a/mac/sar/test/maximus_test/maximus_rea/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-BASE = ../../../../..
-
-ECOS = y
-
-HOST_PROGRAMS = Maximus_rea
-Maximus_rea_SOURCES = Maximus_rea.cpp
-Maximus_rea_MODULES = maximus
-
-TARGET_PROGRAMS = station_rea
-station_rea_SOURCES = station_rea.c
-station_rea_MODULES = lib mac/sar mac/common host hal/phy/maximus
-
-include $(BASE)/common/make/top.mk \ No newline at end of file
diff --git a/mac/sar/test/maximus_test/maximus_rea/ecos.ecc.sh b/mac/sar/test/maximus_test/maximus_rea/ecos.ecc.sh
deleted file mode 100644
index 19597e4621..0000000000
--- a/mac/sar/test/maximus_test/maximus_rea/ecos.ecc.sh
+++ /dev/null
@@ -1,104 +0,0 @@
-config=${1:-ecos-gen.ecc}
-ecosconfig --config=$config new maximus default
-cat >> $config <<'EOF'
-cdl_option CYGPKG_HAL_MAXIMUS_CFLAGS_ADD {
- user_value "-I\$(BASE) -I\$(OBJ_DIR)/inc"
- # value_source user
- # Default value: "-I\$(REPOSITORY)/../.."
-}
-cdl_option CYGBLD_GLOBAL_CFLAGS {
- user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -finline"
- # value_source user
- # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority"
-}
-cdl_option CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT {
- user_value 0
- inferred_value 0
-}
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
- inferred_value 1 <cyg/libc/i18n/ctype.inl>
-}
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
- inferred_value 1 <cyg/error/codes.h>
-}
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
- inferred_value 1 <cyg/error/errno.h>
-}
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDIO_FILEPOS_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
- inferred_value 1 <cyg/libc/stdlib/atox.inl>
-}
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
- inferred_value 1 <cyg/libc/stdlib/abs.inl>
-}
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
- inferred_value 1 <cyg/libc/stdlib/div.inl>
-}
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
- inferred_value 1 <cyg/error/strerror.h>
-}
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
- inferred_value 1 <cyg/libc/string/string.h>
-}
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
- inferred_value 1 <cyg/libc/string/string.h>
-}
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
- inferred_value 1 <cyg/libc/string/bsdstring.h>
-}
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
- inferred_value 1 <cyg/libc/string/string.h>
-}
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
- inferred_value 1 <cyg/libc/string/string.h>
-}
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
- inferred_value 1 <cyg/libc/time/time.h>
-}
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
- inferred_value 1 <cyg/libc/time/time.h>
-}
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
- inferred_value 1 <cyg/libc/signals/signal.h>
-}
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
- inferred_value 1 <cyg/libc/signals/signal.h>
-}
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
- inferred_value 1 <cyg/libc/setjmp/setjmp.h>
-}
-cdl_option CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE {
- user_value 16384
- inferred_value 16384
-}
-cdl_option CYGSEM_ERROR_PER_THREAD_ERRNO {
- user_value 0
-}
-EOF
-ecosconfig --config=$config check
diff --git a/mac/sar/test/maximus_test/maximus_rea/src/Maximus_rea.cpp b/mac/sar/test/maximus_test/maximus_rea/src/Maximus_rea.cpp
deleted file mode 100644
index 2add3bb74c..0000000000
--- a/mac/sar/test/maximus_test/maximus_rea/src/Maximus_rea.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Cesar project {{{
- *
- * Copyright (C) 2007 Spidcom
- *
- * <<<Licence>>>
- *
- * }}} */
-/**
- * \file Maximus_rea.c
- * \brief header of the segmentation test function on maximus.
- * \ingroup mac/sar/test/maximus_test/maximus/src
- *
- * Maximus selects a packet to segment in a raw of Ethernet packets.
- * This packet is split in packet of 1024 bytes long corresponding to the
- * maximum size of the maximus parameter.
- *
- * Maximus send the segmentation request and provide the parameters for the
- * segmentation module of the SAR.
- *
- * The Station take the parameters and reconstitute the packet to segment
- * ( simulate the CL or CP function ). It gives the data necessary for
- * the SAR to segment the packet.
- *
- * Once the segmentation is over, the Station answer the request by giving
- * back the PBs filled with the Ethernet packet.
- *
- * Maximus take the PBs and verify each byte comparing it with the Ethernet
- * packet data.
- */
-
-#include "maximus/common/interfaces/Maximus.h"
-#include "maximus/common/interfaces/Sta.h"
-#include "maximus/common/interfaces/Msg.h"
-#include <iostream> // for 'cout', 'cerr' and 'clog'
-using namespace std;
-
-void station_cb (Msg &msg)
-{
- unsigned long qte;
-
- /** Get the quantity of PBs generated **/
- qte = msg.bind_param<unsigned long> ("qte");
-
- cout << "Qte of pbs for the packet : "<< qte << endl;
-}
-
-int main (int argc, char *argv[])
-{
- Maximus maximus;
-
- maximus.init (argc, argv);
-
- Sta stationA = maximus.create_sta ();
-
- //create the function call
- Msg fc = maximus.create_fc ("reassembly");
-
- fc.set_cb (&station_cb);
- fc.set_sta (stationA);
-
- fc.send_async ();
-
- /* Wait during 10000 ticks before terminating the program. */
- maximus.wait (10000);
- return 0;
-}
diff --git a/mac/sar/test/maximus_test/maximus_rea/src/station_rea.c b/mac/sar/test/maximus_test/maximus_rea/src/station_rea.c
deleted file mode 100644
index c5c2e493cf..0000000000
--- a/mac/sar/test/maximus_test/maximus_rea/src/station_rea.c
+++ /dev/null
@@ -1,379 +0,0 @@
-/* Cesar project {{{
- *
- * Copyright (C) 2007 Spidcom
- *
- * <<<Licence>>>
- *
- * }}} */
-/**
- * \file station_rea.c
- * \brief header of the segmentation test function on maximus.
- * \ingroup mac/sar/test/maximus_test/station/src
- *
- * Maximus selects a packet to segment in a raw of Ethernet packets.
- * This packet is split in packet of 1024 bytes long corresponding to the
- * maximum size of the maximus parameter.
- *
- * Maximus send the segmentation request and provide the parameters for the
- * segmentation module of the SAR.
- *
- * The Station take the parameters and reconstitute the packet to segment
- * ( simulate the CL or CP function ). It gives the data necessary for
- * the SAR to segment the packet.
- *
- * Once the segmentation is over, the Station answer the request by giving
- * back the PBs filled with the Ethernet packet.
- *
- * Maximus take the PBs and verify each byte comparing it with the Ethernet
- * packet data.
- */
-
-#include <cyg/infra/diag.h>
-#include <cyg/kernel/kapi.h>
-#include <errno.h>
-#include <string.h>
-#include <stdio.h>
-#include "common/std.h"
-#include "host/station.h"
-
-#include "mac/sar/sar.h"
-
-#include "mac/sar/inc/segmentation_unit_test_function.h"
-#include "mac/sar/inc/reassembly_unit_test_functions.h"
-
-extern station_ctx_t my_station;
-
-mfs_tx_t *mfs;
-
-unsigned char packet1[] = { 0xd4, 0xc3, 0xb2, 0xa1, 0x02, 0x00, 0x04, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x99, 0x32, 0x97, 0x46, 0x3e, 0xc3,
- 0x07, 0x00, 0x42, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x52,
- 0x54, 0x00, 0x12, 0x35, 0x02, 0x08, 0x00, 0x27, 0x52, 0x20, 0x4c,
- 0x08, 0x00, 0x45, 0x00, 0x00, 0x34, 0x04, 0x4e, 0x40, 0x00, 0x40,
- 0x06, 0x17, 0x19, 0x0a, 0x00, 0x02, 0x0f, 0xcb, 0x79, 0x47, 0xd5,
- 0x04, 0x1b, 0x00, 0x50, 0x28, 0x6b, 0xbc, 0xba, 0x00, 0x00, 0x00,
- 0x00, 0x80, 0x02, 0xfa, 0xf0, 0x6b, 0x39, 0x00, 0x00, 0x02, 0x04,
- 0x05, 0xb4, 0x01, 0x03, 0x03, 0x00, 0x01, 0x01, 0x04, 0x02 };
-unsigned int packet1_len = 106;
-
-unsigned char packet2[] = { 0xd4, 0xc3, 0xb2, 0xa1, 0x02, 0x00, 0x04, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x9c, 0x2f, 0x9f, 0x46, 0xd1, 0x78,
- 0x02, 0x00, 0x96, 0x05, 0x00, 0x00, 0x96, 0x05, 0x00, 0x00, 0x08,
- 0x00, 0x27, 0x52, 0x20, 0x4c, 0x52, 0x54, 0x00, 0x12, 0x35, 0x02,
- 0x08, 0x00, 0x45, 0x08, 0x05, 0x88, 0x00, 0x6e, 0x00, 0x00, 0x40,
- 0x06, 0x15, 0xf1, 0xd1, 0x55, 0x81, 0xa5, 0x0a, 0x00, 0x02, 0x0f,
- 0x00, 0x50, 0x04, 0x17, 0x01, 0x76, 0x1c, 0xf4, 0xc2, 0xcc, 0x6e,
- 0x38, 0x50, 0x18, 0x22, 0x38, 0xe2, 0xf1, 0x00, 0x00, 0x7e, 0x94,
- 0xbd, 0x94, 0x2c, 0x97, 0x22, 0xd4, 0x84, 0x34, 0x0c, 0x8c, 0xfe,
- 0xfc, 0x13, 0x85, 0xd9, 0x5b, 0xc0, 0xbb, 0xb0, 0x8e, 0xb8, 0x7f,
- 0x0c, 0xa2, 0xf5, 0x7a, 0x10, 0xad, 0x45, 0x10, 0xad, 0xb7, 0x82,
- 0x68, 0xfd, 0x8f, 0x83, 0xa8, 0x2a, 0x77, 0x5a, 0xb2, 0xb3, 0xd2,
- 0x8d, 0xc0, 0x2b, 0x46, 0x76, 0x0c, 0x0c, 0xb1, 0x0b, 0x27, 0xbc,
- 0x6a, 0xd9, 0xe5, 0xdc, 0xf5, 0x69, 0x34, 0x0b, 0x6c, 0x96, 0x09,
- 0x27, 0x7c, 0x9c, 0xcd, 0x56, 0xee, 0xa3, 0x8a, 0x0b, 0x1b, 0xb2,
- 0xc7, 0x48, 0x54, 0x2d, 0xdf, 0x47, 0x9d, 0x6d, 0x81, 0x9d, 0xac,
- 0xde, 0xf0, 0x00, 0xb6, 0x43, 0x55, 0x74, 0x17, 0x79, 0x93, 0x57,
- 0x39, 0x11, 0xb9, 0x65, 0x12, 0x91, 0xfc, 0xbf, 0xf3, 0x39, 0xb5,
- 0xd5, 0xe5, 0x0a, 0x45, 0xbd, 0xa9, 0xfe, 0x72, 0xd9, 0x8e, 0x93,
- 0x2b, 0x2a, 0x7f, 0x26, 0x0f, 0x80, 0xfb, 0x4a, 0x74, 0x25, 0x3d,
- 0x7a, 0xaa, 0xc3, 0x5f, 0xe7, 0x08, 0x8e, 0x8c, 0x88, 0xd9, 0x06,
- 0x9c, 0xde, 0xd6, 0xda, 0x96, 0x0b, 0x54, 0xd0, 0x5b, 0x0d, 0xd9,
- 0x30, 0x1d, 0xc3, 0xa9, 0xd5, 0x67, 0x48, 0xf5, 0x25, 0x14, 0x1d,
- 0xc4, 0x03, 0xe2, 0x33, 0xf2, 0x60, 0x40, 0x0a, 0x4b, 0x8f, 0x45,
- 0x45, 0x3a, 0x01, 0x0f, 0x15, 0x60, 0xd8, 0x01, 0xc7, 0x45, 0x46,
- 0x0e, 0xb6, 0xaf, 0xbd, 0xbd, 0x62, 0x5a, 0x9f, 0x72, 0x30, 0x3c,
- 0xe6, 0x71, 0x44, 0x61, 0x35, 0x01, 0x4c, 0xc9, 0xfc, 0xd6, 0xb8,
- 0x3a, 0x62, 0x6c, 0xb3, 0xa4, 0xea, 0x89, 0x8f, 0xa3, 0xc8, 0x50,
- 0x16, 0x27, 0x27, 0x93, 0x65, 0x9f, 0x20, 0x42, 0x7d, 0x3f, 0x3b,
- 0xce, 0x1a, 0x5a, 0xd2, 0x53, 0xa7, 0x9c, 0xb4, 0x97, 0x6e, 0xc3,
- 0x86, 0x06, 0x5c, 0x02, 0xfe, 0x6d, 0x34, 0xc1, 0x3e, 0x73, 0x03,
- 0x63, 0x0c, 0x27, 0x18, 0xb5, 0xd7, 0xe2, 0xa5, 0x1c, 0x89, 0x92,
- 0x68, 0x2f, 0x42, 0xc2, 0x88, 0xff, 0xf0, 0x5b, 0x84, 0x0d, 0x7f,
- 0x17, 0x33, 0xa3, 0x2b, 0x07, 0x0f, 0x1f, 0x67, 0xac, 0xe1, 0x5c,
- 0x3d, 0x3e, 0xd6, 0xfa, 0xd8, 0xd2, 0x4a, 0xe6, 0x80, 0x78, 0x8f,
- 0xd7, 0xac, 0x7f, 0xee, 0xdc, 0x32, 0x76, 0xd1, 0x1f, 0x93, 0x38,
- 0x36, 0xa3, 0xde, 0xb9, 0x9c, 0x9e, 0x5c, 0x7a, 0xee, 0xf0, 0xd2,
- 0xbc, 0x72, 0xbb, 0xa7, 0xa7, 0x73, 0x8b, 0x4f, 0x2f, 0xb9, 0x79,
- 0xef, 0x9a, 0x5f, 0x7e, 0xef, 0xcf, 0xc3, 0xf7, 0x93, 0xc6, 0x9d,
- 0xfa, 0x4d, 0x3f, 0xb8, 0xa5, 0xbb, 0xa0, 0xe9, 0x72, 0xf7, 0x6c,
- 0x6c, 0x9e, 0x5c, 0xf2, 0xbb, 0xdb, 0x4f, 0x8f, 0xee, 0xf1, 0xd9,
- 0x79, 0xff, 0x56, 0x1b, 0x8e, 0x48, 0x7d, 0x38, 0x1a, 0xce, 0xcf,
- 0xad, 0xd3, 0xee, 0xc7, 0x9a, 0x5d, 0xb3, 0x67, 0xf5, 0x7b, 0x12,
- 0xf8, 0x73, 0xfb, 0xe3, 0x87, 0x08, 0xdf, 0x70, 0x79, 0x5b, 0x3d,
- 0x94, 0xd6, 0xcd, 0xd7, 0x18, 0xdf, 0x5c, 0xd5, 0x07, 0xe3, 0xba,
- 0x6f, 0x0f, 0x78, 0xb7, 0x77, 0x7f, 0x3c, 0x1b, 0x9e, 0xb8, 0xb3,
- 0xf3, 0x7e, 0xd7, 0xb9, 0xbd, 0xb9, 0x38, 0x35, 0x2f, 0x4f, 0xb0,
- 0xf9, 0x19, 0x10, 0x78, 0x72, 0x35, 0xfd, 0xc4, 0x9a, 0x13, 0x90,
- 0x52, 0x1b, 0x8c, 0xcf, 0x67, 0xf4, 0xe6, 0x5c, 0xbb, 0xbd, 0x7e,
- 0x0a, 0x29, 0xd3, 0xef, 0xad, 0xaa, 0x2e, 0xed, 0xeb, 0x7a, 0x68,
- 0x9f, 0x3c, 0xc4, 0xd6, 0xf8, 0xab, 0x36, 0x68, 0x3c, 0xf4, 0x7a,
- 0x5f, 0x9f, 0xfe, 0x98, 0x8f, 0x86, 0xa1, 0x9c, 0x37, 0xb8, 0x39,
- 0x3d, 0x39, 0x35, 0xa7, 0x0e, 0x37, 0xb5, 0x09, 0x4f, 0xde, 0xa5,
- 0xd3, 0x0f, 0x0d, 0xf3, 0xa2, 0x6b, 0x4e, 0xbe, 0xf4, 0x4d, 0x73,
- 0x68, 0x9a, 0xe6, 0x6e, 0x10, 0x8f, 0x0d, 0x7d, 0xd7, 0x75, 0x7d,
- 0x6c, 0xbb, 0x22, 0x34, 0x6a, 0xd5, 0xba, 0xf6, 0xfe, 0xfd, 0xfb,
- 0x7a, 0x32, 0x44, 0x04, 0xc5, 0xd2, 0xa8, 0x1f, 0x1c, 0xd4, 0x6b,
- 0x55, 0xbd, 0xa6, 0xef, 0xc2, 0xe9, 0x55, 0xf8, 0x0b, 0x44, 0x38,
- 0x50, 0x20, 0x08, 0x14, 0x02, 0x41, 0x1c, 0x1c, 0xc9, 0x04, 0x06,
- 0x70, 0xfa, 0x84, 0xeb, 0x93, 0x39, 0x8f, 0x05, 0x8d, 0xa3, 0xbb,
- 0x6a, 0xb9, 0x5e, 0xd6, 0xca, 0xd5, 0x32, 0x5c, 0x90, 0x76, 0x21,
- 0xb5, 0x20, 0x9b, 0x0c, 0x82, 0x4b, 0x61, 0x6c, 0x95, 0x0e, 0x0f,
- 0xb5, 0x43, 0x4d, 0x6f, 0x34, 0x35, 0xbd, 0x79, 0xd8, 0xa8, 0x69,
- 0x75, 0x75, 0x80, 0xd1, 0x92, 0xc4, 0x5c, 0xcb, 0xc3, 0x1c, 0x6c,
- 0x48, 0xab, 0xac, 0xfa, 0xef, 0x93, 0x30, 0x2b, 0x46, 0x9b, 0x9c,
- 0x69, 0x61, 0x35, 0xee, 0xa0, 0x4c, 0x00, 0x38, 0x43, 0x1c, 0x74,
- 0x46, 0xdf, 0xbf, 0xf9, 0x94, 0x78, 0x6a, 0x5c, 0xa0, 0x6c, 0x09,
- 0x68, 0xc4, 0x25, 0xf6, 0x01, 0x6a, 0x8a, 0xe0, 0xa8, 0x82, 0x37,
- 0x33, 0xd8, 0x4a, 0x78, 0xbe, 0x7f, 0x5b, 0x30, 0x01, 0xf4, 0x65,
- 0xcc, 0x64, 0x84, 0x6c, 0x8a, 0x1c, 0x46, 0x3c, 0x46, 0x45, 0x84,
- 0xd4, 0xfd, 0x0a, 0x61, 0x8b, 0x07, 0x41, 0x52, 0x71, 0x8a, 0x50,
- 0x98, 0x40, 0x24, 0xc2, 0x84, 0x7c, 0xff, 0x2b, 0x42, 0x6b, 0xb0,
- 0x5c, 0x48, 0x8d, 0x3b, 0xea, 0xc6, 0xb9, 0xe6, 0xd5, 0x8c, 0xa6,
- 0x22, 0x6d, 0xf5, 0x10, 0xea, 0xa1, 0x80, 0xb3, 0x80, 0x74, 0xc5,
- 0x67, 0xeb, 0x38, 0xd6, 0x7f, 0x1e, 0xc7, 0xfa, 0x1b, 0x2e, 0xd4,
- 0xdf, 0xc6, 0xb1, 0xfe, 0x7f, 0x82, 0x63, 0xef, 0xe6, 0xb2, 0xfb,
- 0x2a, 0x8e, 0x07, 0xe3, 0x3b, 0xf7, 0xf3, 0xa3, 0x7f, 0x6f, 0x5d,
- 0xd4, 0x33, 0x1c, 0x9b, 0xec, 0xe9, 0xf8, 0xd2, 0xf4, 0xdc, 0xde,
- 0x06, 0x8e, 0xcf, 0x4a, 0xa2, 0x84, 0xcd, 0xde, 0xed, 0xc5, 0xa4,
- 0x7e, 0x77, 0x7a, 0x76, 0xda, 0x0b, 0xdd, 0xae, 0x76, 0x76, 0x51,
- 0xed, 0x3f, 0x2a, 0x1c, 0x5e, 0x56, 0xcf, 0xfb, 0xc7, 0xb5, 0x4f,
- 0xa3, 0xe3, 0xf9, 0x70, 0x7e, 0x3d, 0x33, 0xaf, 0x24, 0x20, 0x8f,
- 0xc4, 0xb7, 0xb5, 0xdf, 0xeb, 0xa4, 0x76, 0xe5, 0x59, 0x1f, 0xfd,
- 0xc6, 0xe0, 0xfa, 0x7c, 0x62, 0x5d, 0xeb, 0xba, 0x35, 0xf6, 0x35,
- 0xfa, 0xb9, 0x1e, 0xff, 0x71, 0xf3, 0xb9, 0x61, 0x5e, 0xf2, 0xa7,
- 0xe1, 0x7d, 0xf7, 0x60, 0x78, 0x7f, 0x39, 0xbd, 0xa9, 0x7e, 0x98,
- 0xcf, 0xcc, 0xe3, 0x6e, 0xd5, 0x3d, 0xbe, 0xc7, 0x27, 0x57, 0x1a,
- 0xe9, 0xf3, 0xc9, 0xe0, 0x67, 0xea, 0x40, 0xaf, 0x64, 0x9a, 0xee,
- 0xc7, 0xd0, 0x04, 0xec, 0x5d, 0x13, 0x6d, 0x7e, 0x66, 0x91, 0xd2,
- 0xa3, 0x39, 0xec, 0xce, 0xcc, 0xe1, 0x49, 0xc3, 0x3c, 0x1f, 0x34,
- 0x92, 0xf7, 0x05, 0xeb, 0x52, 0xb7, 0x3f, 0xbd, 0x1c, 0xe8, 0xe6,
- 0xd4, 0xec, 0x2f, 0x40, 0x5c, 0xdd, 0x84, 0xa7, 0xca, 0x22, 0x97,
- 0x06, 0x10, 0x7d, 0x16, 0x4c, 0x68, 0x06, 0x50, 0x47, 0xfc, 0x3c,
- 0x12, 0xf5, 0x6d, 0x24, 0xea, 0xaf, 0x23, 0xf1, 0xe7, 0xd3, 0x68,
- 0x1b, 0x89, 0xfa, 0xeb, 0x48, 0xec, 0xf1, 0x71, 0x28, 0xe9, 0x02,
- 0x4e, 0x88, 0x06, 0xe8, 0x73, 0xcc, 0xa2, 0x88, 0xbe, 0x8d, 0xc3,
- 0xcf, 0x00, 0xc2, 0x58, 0x30, 0xf9, 0xfd, 0x1b, 0xa2, 0x12, 0xc1,
- 0x95, 0x9c, 0x88, 0xef, 0xdf, 0xb2, 0xf3, 0x98, 0xc0, 0x81, 0x64,
- 0x34, 0x42, 0x17, 0x82, 0x3b, 0x70, 0x73, 0x9e, 0x03, 0x3a, 0x01,
- 0x90, 0x13, 0x18, 0x85, 0xc4, 0x02, 0xd3, 0x22, 0xc0, 0x6a, 0x44,
- 0x70, 0xfc, 0xf4, 0x36, 0x18, 0x5f, 0x71, 0xe3, 0xcf, 0x80, 0xb2,
- 0xa2, 0x76, 0xd8, 0xcd, 0x7d, 0x57, 0xca, 0xe5, 0xbe, 0xab, 0xba,
- 0xb0, 0xcd, 0xaf, 0x00, 0x9c, 0x0e, 0x38, 0x6f, 0x33, 0xc3, 0x85,
- 0x56, 0x01, 0x24, 0x81, 0xc5, 0xaf, 0x9c, 0x4a, 0xd4, 0x2b, 0x09,
- 0xe4, 0x6f, 0x72, 0x16, 0x52, 0xa3, 0xbe, 0x2b, 0xa8, 0xcd, 0xc4,
- 0xdd, 0x22, 0x57, 0x76, 0x6a, 0x66, 0xa5, 0x12, 0x51, 0x31, 0x61,
- 0x84, 0x46, 0x99, 0xa4, 0x74, 0x95, 0x94, 0xda, 0xea, 0x5e, 0x5c,
- 0x01, 0xcd, 0x3b, 0xb5, 0x0f, 0x40, 0xbf, 0x53, 0xeb, 0x2f, 0x39,
- 0x94, 0x63, 0x88, 0x98, 0xc1, 0xd5, 0xc9, 0x67, 0x73, 0xb8, 0x34,
- 0x8f, 0xc7, 0x71, 0xc0, 0xe4, 0xac, 0x1c, 0x50, 0x59, 0xd9, 0xa9,
- 0x36, 0x3c, 0x45, 0xec, 0x08, 0x68, 0xa5, 0x09, 0x07, 0xbd, 0x37,
- 0x52, 0x0e, 0x48, 0xb0, 0xfd, 0x05, 0xe6, 0xb7, 0xea, 0x5e, 0x32,
- 0x3e, 0x82, 0xf1, 0xd1, 0x4e, 0xb5, 0xde, 0xab, 0xc1, 0xc3, 0x3c,
- 0x5c, 0x56, 0xe8, 0x9d, 0x6a, 0x37, 0xab, 0xd1, 0xd0, 0x4a, 0xaa,
- 0xf4, 0x86, 0x98, 0x57, 0x22, 0xb6, 0x14, 0x97, 0xa6, 0x17, 0xb0,
- 0x65, 0x09, 0x06, 0x2d, 0x1a, 0xc0, 0x23, 0x4d, 0x32, 0x20, 0xb3,
- 0x79, 0x40, 0x81, 0x4e, 0x87, 0xa6, 0xab, 0x56, 0xf1, 0xe1, 0x6a,
- 0x99, 0xa4, 0x96, 0x8f, 0x83, 0x87, 0x34, 0x4d, 0x51, 0x72, 0xcb,
- 0x37, 0x72, 0x8b, 0x0f, 0x40, 0x2c, 0x48, 0x3e, 0xdd, 0x64, 0xdf,
- 0x81, 0x98, 0x2f, 0xa9, 0x68, 0x85, 0x82, 0xbb, 0xcc, 0x6e, 0xf5,
- 0x6f, 0x4e, 0xc7, 0x10, 0x83, 0x91, 0xfa, 0x10, 0xe7, 0x70, 0x31,
- 0x2e, 0x0f, 0x19, 0x11, 0x3c, 0xe2, 0x8e, 0x2c, 0x9b, 0x3e, 0x1c,
- 0x5f, 0x93, 0xd9, 0x01, 0x9c, 0x08, 0xa9, 0xc8, 0xab, 0x23, 0xe7,
- 0xde, 0xaf, 0x44, 0x17, 0x82, 0xe3, 0x73, 0x97, 0xab, 0x77, 0xc9,
- 0x11, 0x25, 0xd8, 0x82, 0x49, 0x29, 0xfd, 0x36, 0x55, 0x0e, 0x03,
- 0x17, 0xae, 0xa0, 0x8b, 0x4f, 0x26, 0x8d, 0xe5, 0x77, 0x8a, 0x43,
- 0x3d, 0x7c, 0xca, 0x75, 0x8e, 0xd8, 0xd8, 0x45, 0xd8, 0x97, 0x46,
- 0xce, 0x0c, 0x02, 0x80, 0x3a, 0x20, 0xe1, 0x63, 0xa2, 0x28, 0xb7,
- 0xac, 0xd2, 0x28, 0xe5, 0x35, 0xf4, 0xc6, 0x2f, 0x1f, 0x85, 0xff,
- 0xde, 0xac, 0xcc, 0x79, 0xbf, 0xe6, 0xa6, 0x3c, 0x57, 0xdb, 0x88,
- 0x9c, 0x19, 0x5a, 0x01, 0x25, 0x0b, 0x31, 0x0e, 0xf5, 0xce, 0x7a,
- 0x51, 0xc8, 0xb0, 0x97, 0x3e, 0xd3, 0xf3, 0x70, 0xf2, 0xc1, 0xb6,
- 0xf3, 0x1f, 0xed, 0x35, 0x17, 0x11, 0xfe, 0x15, 0x00, 0x00 };
-unsigned int packet2_len = 1470;
-
-u8 buffer[2048] __attribute__((aligned(2048)));
-
-/**
- * Get the request from the simulator and segment the packet.
- */
-int reassembly (fcall_ctx_t *fcall, fcall_param_t **param, sci_msg_t **msg,
- void *data)
-{
- unsigned short ayncrhonous_msg_id = 0;
- pb_t *pb_head;
- pb_t *pb_tail;
- pbproc_rx_params_t rx_params;
- u16 offset;
- bool debug = true;
-
- printf ("Station function call\n");
- diag_write_string ("reassembly\n");
-
- fcall_param_set_async (*param, 1);
- ayncrhonous_msg_id = (*param)->msg_id;
-
- /** allocate the pb */
- pb_head = (pb_t *) blk_alloc_desc_range (3, (blk_t **) &pb_tail);
- pb_tail->next = NULL;
-
- // had the MFH
- ((sar_mf_mfh_t*) pb_head->data)->type = 2;
- ((sar_mf_mfh_t*) pb_head->data)->length = packet2_len - 1;
- ((sar_mf_mfh_t*) pb_head->data)->ats = 0x1234;
-
- if (debug)
- {
- printf ("Print the PB data\n");
- printf ("MF1 type : %d\n", mf_get_type(pb_head, 0));
- printf ("MF1 length : %d\n", mf_get_length (pb_head, 0, false));
- printf ("MF1 ats : %x\n", mf_get_ats (pb_head, 0));
-
- printf ("MF1 header1 : %x\n", *((u32*)pb_head->data) );
- }
-
- // had the ATS
- * ((u16*)pb_head->data + 4) = 0x5678;
-
- // had the payload
- offset = sizeof(u16) + sizeof(u32);
-
- memcpy (pb_head->data + offset, packet2, 506);
- memcpy (pb_head->next->data, packet2 + 506, BLK_SIZE);
- memcpy (pb_head->next->next->data, packet2 + 1018, 1470 - 1018);
- * (pb_head->next->next->data + 456) = 0x0;
-
- pb_head->header.mfbf = true;
- pb_head->header.mfbo = 0x0;
- pb_head->header.ssn = 0;
-
- pb_head->next->header.mfbf = false;
- pb_head->next->header.ssn = 1;
-
- pb_head->next->next->header.mfbf = false;
- pb_head->next->next->header.ssn = 2;
-
- rx_params.lid = 0x1;
- rx_params.tei = 0x1;
- rx_params.bcast = false;
- rx_params.date = 0x1234578;
- sar_mpdu_add (&sar_ctx, NULL, NULL, &rx_params, pb_head, pb_tail, 3, NULL);
-
- /** Launch the SAR to segment the msdu **/
- sar_launch (0);
-
- /** Launch the bridge dma with the buffer*/
- sar_buffer_add(&sar_ctx.data_ctx, buffer);
- sar_launch (0);
-
- diag_write_string ("reassembly done\n");
-
- return 0;
-}
-
-void sar_mfs_expired_cb (void *user, mfs_t *mfs)
-{
-
-}
-
-/** Implement the bidge_dma interuption of the SAR to send the PBs from the
- * MFS **/
-bool bridge_dma_interruption_station (void *user, u32 status_word)
-{
-// static fcall_param_t return_param;
-// static sci_msg_t return_msg;
-// static unsigned char return_buffer[1024];
-// unsigned short *return_msg_id = (unsigned short *) user;
-//
-// u8 pb_nb;
-// u8 i;
-// unsigned char value [2];
-// unsigned char name [10];
-//
-// pb_t *pb;
-//
-// dbg_assert (mfs);
-// dbg_assert (mfs->head);
-//
-// /** init structures **/
-// fcall_param_init (&return_param, "seg_done", *return_msg_id);
-// sci_msg_init (&return_msg, return_buffer, 1024);
-//
-// /** reset the param list **/
-// fcall_param_reset (&return_param);
-//
-// /** get the number of PBs in the MFS **/
-// dbg_assert (mfs);
-// dbg_assert (mfs->head);
-// pb_nb = mf_get_quantity_of_pb (mfs->head, 0);
-//
-// fcall_param_add (&return_param, &return_msg, "qte", sizeof(u8), &pb_nb);
-//
-// pb = mfs->head;
-// for (i = 0; i < pb_nb; i++)
-// {
-// sprintf (value, "%d", i);
-// strcpy (name, "pb");
-// strcat (name, value);
-//
-// fcall_param_add (&return_param, &return_msg, (char *)value, 512,
-// (unsigned char *) pb->data);
-// }
-//
-// /* return */
-// fcall_return (my_station.fcall, &return_param, &return_msg);
-
- diag_write_string ("Hello\n");
-
- return true;
-}
-
-int main (void)
-{
- sar_reassembly_ctx_t *data_ctx;
- sar_reassembly_ctx_t *mme_ctx;
-
- station_log_set_level (&my_station, STATION_LOG_DEBUG);
- station_log_set_mask (&my_station, STATION_LOGTYPE_ALL);
- my_station.pipe_log_fd = 1;
- diag_write_string ("hello by SAR\n");
-
- // test function call
- fcall_register (my_station.fcall, "reassembly", &reassembly, NULL);
-
- //initialize the sar
- sar_initialize ();
- sar_init_mac_store (&sar_ctx, mac_store_init ());
- sar_init_mme_context (&sar_ctx, &sar_ctx);
- sar_init_data_context (&sar_ctx, &sar_ctx);
- sar_init_measure_context (&sar_ctx, &sar_ctx);
-
- sar_init_expiration (&sar_ctx, sar_mfs_expired_cb);
- sar_init_measurement_cb (&sar_ctx, test_sar_rx_pb_measurement_cb);
-
- sar_ctx.bridgedma_ctx = phy_bridgedma_init (NULL,
- bridge_dma_interruption_station, bridge_dma_deffered_interruption);
-
- sar_init_measure_context (&sar_ctx, &sar_ctx);
- sar_init_mme_context (&sar_ctx, &sar_ctx);
- sar_init_data_context (&sar_ctx, &sar_ctx);
-
- sar_init_measurement_cb (&sar_ctx, NULL);
- sar_init_noise_cb (&sar_ctx, NULL);
-
- sar_init_segmentation_data_cb (&sar_ctx, sar_segmentation_done);
- sar_init_segmentation_mme_cb (&sar_ctx, sar_segmentation_done);
-
- data_ctx = sar_init_reassembly_data_cb (&sar_ctx,
- sar_complete_reassembly_done);
- sar_init_segmentation_mme_cb (&sar_ctx, sar_complete_segmentation_done);
- mme_ctx = sar_init_reassembly_mme_cb (&sar_ctx,
- sar_complete_reassembly_done);
- sar_init_measurement_cb (&sar_ctx, test_sar_rx_pb_measurement_cb);
- sar_init_noise_cb (&sar_ctx, test_sar_rx_noise_cb);
-
- mac_store_sta_add (sar_ctx.expiration.mfs_store, 0x1);
-
- return 0;
-}
diff --git a/mac/sar/test/maximus_test/maximus_seg/Makefile b/mac/sar/test/maximus_test/maximus_seg/Makefile
deleted file mode 100644
index ec83b56f7c..0000000000
--- a/mac/sar/test/maximus_test/maximus_seg/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-BASE = ../../../../..
-
-ECOS = y
-
-HOST_PROGRAMS = Maximus_seg_test
-Maximus_seg_test_SOURCES = Maximus_seg_test.cpp
-Maximus_seg_test_MODULES = maximus
-
-TARGET_PROGRAMS = station_sar_seg_test
-station_sar_seg_test_SOURCES = station_sar_seg_test.c
-station_sar_seg_test_MODULES = lib mac/sar mac/common host hal/phy/maximus
-
-include $(BASE)/common/make/top.mk \ No newline at end of file
diff --git a/mac/sar/test/maximus_test/maximus_seg/ecos.ecc.sh b/mac/sar/test/maximus_test/maximus_seg/ecos.ecc.sh
deleted file mode 100644
index 19597e4621..0000000000
--- a/mac/sar/test/maximus_test/maximus_seg/ecos.ecc.sh
+++ /dev/null
@@ -1,104 +0,0 @@
-config=${1:-ecos-gen.ecc}
-ecosconfig --config=$config new maximus default
-cat >> $config <<'EOF'
-cdl_option CYGPKG_HAL_MAXIMUS_CFLAGS_ADD {
- user_value "-I\$(BASE) -I\$(OBJ_DIR)/inc"
- # value_source user
- # Default value: "-I\$(REPOSITORY)/../.."
-}
-cdl_option CYGBLD_GLOBAL_CFLAGS {
- user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -finline"
- # value_source user
- # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority"
-}
-cdl_option CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT {
- user_value 0
- inferred_value 0
-}
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
- inferred_value 1 <cyg/libc/i18n/ctype.inl>
-}
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
- inferred_value 1 <cyg/error/codes.h>
-}
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
- inferred_value 1 <cyg/error/errno.h>
-}
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDIO_FILEPOS_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
- inferred_value 1 <cyg/libc/stdio/stdio.h>
-}
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
- inferred_value 1 <cyg/libc/stdlib/atox.inl>
-}
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
- inferred_value 1 <cyg/libc/stdlib/abs.inl>
-}
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
- inferred_value 1 <cyg/libc/stdlib/div.inl>
-}
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
- inferred_value 1 <cyg/error/strerror.h>
-}
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
- inferred_value 1 <cyg/libc/string/string.h>
-}
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
- inferred_value 1 <cyg/libc/string/string.h>
-}
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
- inferred_value 1 <cyg/libc/string/bsdstring.h>
-}
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
- inferred_value 1 <cyg/libc/string/string.h>
-}
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
- inferred_value 1 <cyg/libc/string/string.h>
-}
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
- inferred_value 1 <cyg/libc/time/time.h>
-}
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
- inferred_value 1 <cyg/libc/time/time.h>
-}
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
- inferred_value 1 <cyg/libc/signals/signal.h>
-}
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
- inferred_value 1 <cyg/libc/signals/signal.h>
-}
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
- inferred_value 1 <cyg/libc/setjmp/setjmp.h>
-}
-cdl_option CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE {
- user_value 16384
- inferred_value 16384
-}
-cdl_option CYGSEM_ERROR_PER_THREAD_ERRNO {
- user_value 0
-}
-EOF
-ecosconfig --config=$config check
diff --git a/mac/sar/test/maximus_test/maximus_seg/src/Maximus_seg_test.cpp b/mac/sar/test/maximus_test/maximus_seg/src/Maximus_seg_test.cpp
deleted file mode 100644
index e1eef7ac2b..0000000000
--- a/mac/sar/test/maximus_test/maximus_seg/src/Maximus_seg_test.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Cesar project {{{
- *
- * Copyright (C) 2007 Spidcom
- *
- * <<<Licence>>>
- *
- * }}} */
-/**
- * \file Maximus_seg_test.c
- * \brief header of the segmentation test function on maximus.
- * \ingroup mac/sar/test/maximus_test/maximus/src
- *
- * Maximus selects a packet to segment in a raw of Ethernet packets.
- * This packet is split in packet of 1024 bytes long corresponding to the
- * maximum size of the maximus parameter.
- *
- * Maximus send the segmentation request and provide the parameters for the
- * segmentation module of the SAR.
- *
- * The Station take the parameters and reconstitute the packet to segment
- * ( simulate the CL or CP function ). It gives the data necessary for
- * the SAR to segment the packet.
- *
- * Once the segmentation is over, the Station answer the request by giving
- * back the PBs filled with the Ethernet packet.
- *
- * Maximus take the PBs and verify each byte comparing it with the Ethernet
- * packet data.
- */
-
-#include "maximus/common/interfaces/Maximus.h"
-#include "maximus/common/interfaces/Sta.h"
-#include "maximus/common/interfaces/Msg.h"
-#include <iostream> // for 'cout', 'cerr' and 'clog'
-using namespace std;
-
-void station_cb (Msg &msg)
-{
- unsigned long length;
- cout << "Hello I'am the station_cb" << endl;
-
- length = sizeof (unsigned char);
- /** Get the quantity of PBs generated **/
-
- cout << "End of test" << endl;
-}
-
-int main (int argc, char *argv[])
-{
- Maximus maximus;
- maximus.init (argc, argv);
-
- Sta stationA = maximus.create_sta ();
-
- //create the function call
- Msg fc = maximus.create_fc ("segmentation");
-
- unsigned char lid;
- unsigned char tei;
-
- lid = 1;
- tei = 1;
-
- /* add the buffer address */
- fc.add_param ("lid", sizeof(unsigned char), (unsigned char*) &lid);
- fc.add_param ("tei", sizeof(unsigned char), (unsigned char*) &tei);
-
- fc.set_cb (&station_cb);
- fc.set_sta (stationA);
-
- fc.send_async ();
-
- /* Wait during 10000 ticks before terminating the program. */
- maximus.wait (10000);
- return 0;
-}
diff --git a/mac/sar/test/maximus_test/maximus_seg/src/station_sar_seg_test.c b/mac/sar/test/maximus_test/maximus_seg/src/station_sar_seg_test.c
deleted file mode 100644
index 011dcf090f..0000000000
--- a/mac/sar/test/maximus_test/maximus_seg/src/station_sar_seg_test.c
+++ /dev/null
@@ -1,357 +0,0 @@
-/* Cesar project {{{
- *
- * Copyright (C) 2007 Spidcom
- *
- * <<<Licence>>>
- *
- * }}} */
-/**
- * \file station_seg_test.c
- * \brief header of the segmentation test function on maximus.
- * \ingroup mac/sar/test/maximus_test/station/src
- *
- * Maximus selects a packet to segment in a raw of Ethernet packets.
- * This packet is split in packet of 1024 bytes long corresponding to the
- * maximum size of the maximus parameter.
- *
- * Maximus send the segmentation request and provide the parameters for the
- * segmentation module of the SAR.
- *
- * The Station take the parameters and reconstitute the packet to segment
- * ( simulate the CL or CP function ). It gives the data necessary for
- * the SAR to segment the packet.
- *
- * Once the segmentation is over, the Station answer the request by giving
- * back the PBs filled with the Ethernet packet.
- *
- * Maximus take the PBs and verify each byte comparing it with the Ethernet
- * packet data.
- */
-
-#include <cyg/infra/diag.h>
-#include <cyg/kernel/kapi.h>
-#include <errno.h>
-#include <string.h>
-#include "common/std.h"
-#include "host/station.h"
-
-#include "mac/sar/sar.h"
-
-#include "mac/sar/inc/segmentation_unit_test_function.h"
-#include "mac/sar/inc/reassembly_unit_test_functions.h"
-
-#define debug true
-
-extern station_ctx_t my_station;
-
-mfs_tx_t *mfs;
-
-unsigned char packet1[] = { 0xd4, 0xc3, 0xb2, 0xa1, 0x02, 0x00, 0x04, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x99, 0x32, 0x97, 0x46, 0x3e, 0xc3,
- 0x07, 0x00, 0x42, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x52,
- 0x54, 0x00, 0x12, 0x35, 0x02, 0x08, 0x00, 0x27, 0x52, 0x20, 0x4c,
- 0x08, 0x00, 0x45, 0x00, 0x00, 0x34, 0x04, 0x4e, 0x40, 0x00, 0x40,
- 0x06, 0x17, 0x19, 0x0a, 0x00, 0x02, 0x0f, 0xcb, 0x79, 0x47, 0xd5,
- 0x04, 0x1b, 0x00, 0x50, 0x28, 0x6b, 0xbc, 0xba, 0x00, 0x00, 0x00,
- 0x00, 0x80, 0x02, 0xfa, 0xf0, 0x6b, 0x39, 0x00, 0x00, 0x02, 0x04,
- 0x05, 0xb4, 0x01, 0x03, 0x03, 0x00, 0x01, 0x01, 0x04, 0x02 };
-unsigned int packet1_len = 106;
-
-unsigned char packet2[] = { 0xd4, 0xc3, 0xb2, 0xa1, 0x02, 0x00, 0x04, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x9c, 0x2f, 0x9f, 0x46, 0xd1, 0x78,
- 0x02, 0x00, 0x96, 0x05, 0x00, 0x00, 0x96, 0x05, 0x00, 0x00, 0x08,
- 0x00, 0x27, 0x52, 0x20, 0x4c, 0x52, 0x54, 0x00, 0x12, 0x35, 0x02,
- 0x08, 0x00, 0x45, 0x08, 0x05, 0x88, 0x00, 0x6e, 0x00, 0x00, 0x40,
- 0x06, 0x15, 0xf1, 0xd1, 0x55, 0x81, 0xa5, 0x0a, 0x00, 0x02, 0x0f,
- 0x00, 0x50, 0x04, 0x17, 0x01, 0x76, 0x1c, 0xf4, 0xc2, 0xcc, 0x6e,
- 0x38, 0x50, 0x18, 0x22, 0x38, 0xe2, 0xf1, 0x00, 0x00, 0x7e, 0x94,
- 0xbd, 0x94, 0x2c, 0x97, 0x22, 0xd4, 0x84, 0x34, 0x0c, 0x8c, 0xfe,
- 0xfc, 0x13, 0x85, 0xd9, 0x5b, 0xc0, 0xbb, 0xb0, 0x8e, 0xb8, 0x7f,
- 0x0c, 0xa2, 0xf5, 0x7a, 0x10, 0xad, 0x45, 0x10, 0xad, 0xb7, 0x82,
- 0x68, 0xfd, 0x8f, 0x83, 0xa8, 0x2a, 0x77, 0x5a, 0xb2, 0xb3, 0xd2,
- 0x8d, 0xc0, 0x2b, 0x46, 0x76, 0x0c, 0x0c, 0xb1, 0x0b, 0x27, 0xbc,
- 0x6a, 0xd9, 0xe5, 0xdc, 0xf5, 0x69, 0x34, 0x0b, 0x6c, 0x96, 0x09,
- 0x27, 0x7c, 0x9c, 0xcd, 0x56, 0xee, 0xa3, 0x8a, 0x0b, 0x1b, 0xb2,
- 0xc7, 0x48, 0x54, 0x2d, 0xdf, 0x47, 0x9d, 0x6d, 0x81, 0x9d, 0xac,
- 0xde, 0xf0, 0x00, 0xb6, 0x43, 0x55, 0x74, 0x17, 0x79, 0x93, 0x57,
- 0x39, 0x11, 0xb9, 0x65, 0x12, 0x91, 0xfc, 0xbf, 0xf3, 0x39, 0xb5,
- 0xd5, 0xe5, 0x0a, 0x45, 0xbd, 0xa9, 0xfe, 0x72, 0xd9, 0x8e, 0x93,
- 0x2b, 0x2a, 0x7f, 0x26, 0x0f, 0x80, 0xfb, 0x4a, 0x74, 0x25, 0x3d,
- 0x7a, 0xaa, 0xc3, 0x5f, 0xe7, 0x08, 0x8e, 0x8c, 0x88, 0xd9, 0x06,
- 0x9c, 0xde, 0xd6, 0xda, 0x96, 0x0b, 0x54, 0xd0, 0x5b, 0x0d, 0xd9,
- 0x30, 0x1d, 0xc3, 0xa9, 0xd5, 0x67, 0x48, 0xf5, 0x25, 0x14, 0x1d,
- 0xc4, 0x03, 0xe2, 0x33, 0xf2, 0x60, 0x40, 0x0a, 0x4b, 0x8f, 0x45,
- 0x45, 0x3a, 0x01, 0x0f, 0x15, 0x60, 0xd8, 0x01, 0xc7, 0x45, 0x46,
- 0x0e, 0xb6, 0xaf, 0xbd, 0xbd, 0x62, 0x5a, 0x9f, 0x72, 0x30, 0x3c,
- 0xe6, 0x71, 0x44, 0x61, 0x35, 0x01, 0x4c, 0xc9, 0xfc, 0xd6, 0xb8,
- 0x3a, 0x62, 0x6c, 0xb3, 0xa4, 0xea, 0x89, 0x8f, 0xa3, 0xc8, 0x50,
- 0x16, 0x27, 0x27, 0x93, 0x65, 0x9f, 0x20, 0x42, 0x7d, 0x3f, 0x3b,
- 0xce, 0x1a, 0x5a, 0xd2, 0x53, 0xa7, 0x9c, 0xb4, 0x97, 0x6e, 0xc3,
- 0x86, 0x06, 0x5c, 0x02, 0xfe, 0x6d, 0x34, 0xc1, 0x3e, 0x73, 0x03,
- 0x63, 0x0c, 0x27, 0x18, 0xb5, 0xd7, 0xe2, 0xa5, 0x1c, 0x89, 0x92,
- 0x68, 0x2f, 0x42, 0xc2, 0x88, 0xff, 0xf0, 0x5b, 0x84, 0x0d, 0x7f,
- 0x17, 0x33, 0xa3, 0x2b, 0x07, 0x0f, 0x1f, 0x67, 0xac, 0xe1, 0x5c,
- 0x3d, 0x3e, 0xd6, 0xfa, 0xd8, 0xd2, 0x4a, 0xe6, 0x80, 0x78, 0x8f,
- 0xd7, 0xac, 0x7f, 0xee, 0xdc, 0x32, 0x76, 0xd1, 0x1f, 0x93, 0x38,
- 0x36, 0xa3, 0xde, 0xb9, 0x9c, 0x9e, 0x5c, 0x7a, 0xee, 0xf0, 0xd2,
- 0xbc, 0x72, 0xbb, 0xa7, 0xa7, 0x73, 0x8b, 0x4f, 0x2f, 0xb9, 0x79,
- 0xef, 0x9a, 0x5f, 0x7e, 0xef, 0xcf, 0xc3, 0xf7, 0x93, 0xc6, 0x9d,
- 0xfa, 0x4d, 0x3f, 0xb8, 0xa5, 0xbb, 0xa0, 0xe9, 0x72, 0xf7, 0x6c,
- 0x6c, 0x9e, 0x5c, 0xf2, 0xbb, 0xdb, 0x4f, 0x8f, 0xee, 0xf1, 0xd9,
- 0x79, 0xff, 0x56, 0x1b, 0x8e, 0x48, 0x7d, 0x38, 0x1a, 0xce, 0xcf,
- 0xad, 0xd3, 0xee, 0xc7, 0x9a, 0x5d, 0xb3, 0x67, 0xf5, 0x7b, 0x12,
- 0xf8, 0x73, 0xfb, 0xe3, 0x87, 0x08, 0xdf, 0x70, 0x79, 0x5b, 0x3d,
- 0x94, 0xd6, 0xcd, 0xd7, 0x18, 0xdf, 0x5c, 0xd5, 0x07, 0xe3, 0xba,
- 0x6f, 0x0f, 0x78, 0xb7, 0x77, 0x7f, 0x3c, 0x1b, 0x9e, 0xb8, 0xb3,
- 0xf3, 0x7e, 0xd7, 0xb9, 0xbd, 0xb9, 0x38, 0x35, 0x2f, 0x4f, 0xb0,
- 0xf9, 0x19, 0x10, 0x78, 0x72, 0x35, 0xfd, 0xc4, 0x9a, 0x13, 0x90,
- 0x52, 0x1b, 0x8c, 0xcf, 0x67, 0xf4, 0xe6, 0x5c, 0xbb, 0xbd, 0x7e,
- 0x0a, 0x29, 0xd3, 0xef, 0xad, 0xaa, 0x2e, 0xed, 0xeb, 0x7a, 0x68,
- 0x9f, 0x3c, 0xc4, 0xd6, 0xf8, 0xab, 0x36, 0x68, 0x3c, 0xf4, 0x7a,
- 0x5f, 0x9f, 0xfe, 0x98, 0x8f, 0x86, 0xa1, 0x9c, 0x37, 0xb8, 0x39,
- 0x3d, 0x39, 0x35, 0xa7, 0x0e, 0x37, 0xb5, 0x09, 0x4f, 0xde, 0xa5,
- 0xd3, 0x0f, 0x0d, 0xf3, 0xa2, 0x6b, 0x4e, 0xbe, 0xf4, 0x4d, 0x73,
- 0x68, 0x9a, 0xe6, 0x6e, 0x10, 0x8f, 0x0d, 0x7d, 0xd7, 0x75, 0x7d,
- 0x6c, 0xbb, 0x22, 0x34, 0x6a, 0xd5, 0xba, 0xf6, 0xfe, 0xfd, 0xfb,
- 0x7a, 0x32, 0x44, 0x04, 0xc5, 0xd2, 0xa8, 0x1f, 0x1c, 0xd4, 0x6b,
- 0x55, 0xbd, 0xa6, 0xef, 0xc2, 0xe9, 0x55, 0xf8, 0x0b, 0x44, 0x38,
- 0x50, 0x20, 0x08, 0x14, 0x02, 0x41, 0x1c, 0x1c, 0xc9, 0x04, 0x06,
- 0x70, 0xfa, 0x84, 0xeb, 0x93, 0x39, 0x8f, 0x05, 0x8d, 0xa3, 0xbb,
- 0x6a, 0xb9, 0x5e, 0xd6, 0xca, 0xd5, 0x32, 0x5c, 0x90, 0x76, 0x21,
- 0xb5, 0x20, 0x9b, 0x0c, 0x82, 0x4b, 0x61, 0x6c, 0x95, 0x0e, 0x0f,
- 0xb5, 0x43, 0x4d, 0x6f, 0x34, 0x35, 0xbd, 0x79, 0xd8, 0xa8, 0x69,
- 0x75, 0x75, 0x80, 0xd1, 0x92, 0xc4, 0x5c, 0xcb, 0xc3, 0x1c, 0x6c,
- 0x48, 0xab, 0xac, 0xfa, 0xef, 0x93, 0x30, 0x2b, 0x46, 0x9b, 0x9c,
- 0x69, 0x61, 0x35, 0xee, 0xa0, 0x4c, 0x00, 0x38, 0x43, 0x1c, 0x74,
- 0x46, 0xdf, 0xbf, 0xf9, 0x94, 0x78, 0x6a, 0x5c, 0xa0, 0x6c, 0x09,
- 0x68, 0xc4, 0x25, 0xf6, 0x01, 0x6a, 0x8a, 0xe0, 0xa8, 0x82, 0x37,
- 0x33, 0xd8, 0x4a, 0x78, 0xbe, 0x7f, 0x5b, 0x30, 0x01, 0xf4, 0x65,
- 0xcc, 0x64, 0x84, 0x6c, 0x8a, 0x1c, 0x46, 0x3c, 0x46, 0x45, 0x84,
- 0xd4, 0xfd, 0x0a, 0x61, 0x8b, 0x07, 0x41, 0x52, 0x71, 0x8a, 0x50,
- 0x98, 0x40, 0x24, 0xc2, 0x84, 0x7c, 0xff, 0x2b, 0x42, 0x6b, 0xb0,
- 0x5c, 0x48, 0x8d, 0x3b, 0xea, 0xc6, 0xb9, 0xe6, 0xd5, 0x8c, 0xa6,
- 0x22, 0x6d, 0xf5, 0x10, 0xea, 0xa1, 0x80, 0xb3, 0x80, 0x74, 0xc5,
- 0x67, 0xeb, 0x38, 0xd6, 0x7f, 0x1e, 0xc7, 0xfa, 0x1b, 0x2e, 0xd4,
- 0xdf, 0xc6, 0xb1, 0xfe, 0x7f, 0x82, 0x63, 0xef, 0xe6, 0xb2, 0xfb,
- 0x2a, 0x8e, 0x07, 0xe3, 0x3b, 0xf7, 0xf3, 0xa3, 0x7f, 0x6f, 0x5d,
- 0xd4, 0x33, 0x1c, 0x9b, 0xec, 0xe9, 0xf8, 0xd2, 0xf4, 0xdc, 0xde,
- 0x06, 0x8e, 0xcf, 0x4a, 0xa2, 0x84, 0xcd, 0xde, 0xed, 0xc5, 0xa4,
- 0x7e, 0x77, 0x7a, 0x76, 0xda, 0x0b, 0xdd, 0xae, 0x76, 0x76, 0x51,
- 0xed, 0x3f, 0x2a, 0x1c, 0x5e, 0x56, 0xcf, 0xfb, 0xc7, 0xb5, 0x4f,
- 0xa3, 0xe3, 0xf9, 0x70, 0x7e, 0x3d, 0x33, 0xaf, 0x24, 0x20, 0x8f,
- 0xc4, 0xb7, 0xb5, 0xdf, 0xeb, 0xa4, 0x76, 0xe5, 0x59, 0x1f, 0xfd,
- 0xc6, 0xe0, 0xfa, 0x7c, 0x62, 0x5d, 0xeb, 0xba, 0x35, 0xf6, 0x35,
- 0xfa, 0xb9, 0x1e, 0xff, 0x71, 0xf3, 0xb9, 0x61, 0x5e, 0xf2, 0xa7,
- 0xe1, 0x7d, 0xf7, 0x60, 0x78, 0x7f, 0x39, 0xbd, 0xa9, 0x7e, 0x98,
- 0xcf, 0xcc, 0xe3, 0x6e, 0xd5, 0x3d, 0xbe, 0xc7, 0x27, 0x57, 0x1a,
- 0xe9, 0xf3, 0xc9, 0xe0, 0x67, 0xea, 0x40, 0xaf, 0x64, 0x9a, 0xee,
- 0xc7, 0xd0, 0x04, 0xec, 0x5d, 0x13, 0x6d, 0x7e, 0x66, 0x91, 0xd2,
- 0xa3, 0x39, 0xec, 0xce, 0xcc, 0xe1, 0x49, 0xc3, 0x3c, 0x1f, 0x34,
- 0x92, 0xf7, 0x05, 0xeb, 0x52, 0xb7, 0x3f, 0xbd, 0x1c, 0xe8, 0xe6,
- 0xd4, 0xec, 0x2f, 0x40, 0x5c, 0xdd, 0x84, 0xa7, 0xca, 0x22, 0x97,
- 0x06, 0x10, 0x7d, 0x16, 0x4c, 0x68, 0x06, 0x50, 0x47, 0xfc, 0x3c,
- 0x12, 0xf5, 0x6d, 0x24, 0xea, 0xaf, 0x23, 0xf1, 0xe7, 0xd3, 0x68,
- 0x1b, 0x89, 0xfa, 0xeb, 0x48, 0xec, 0xf1, 0x71, 0x28, 0xe9, 0x02,
- 0x4e, 0x88, 0x06, 0xe8, 0x73, 0xcc, 0xa2, 0x88, 0xbe, 0x8d, 0xc3,
- 0xcf, 0x00, 0xc2, 0x58, 0x30, 0xf9, 0xfd, 0x1b, 0xa2, 0x12, 0xc1,
- 0x95, 0x9c, 0x88, 0xef, 0xdf, 0xb2, 0xf3, 0x98, 0xc0, 0x81, 0x64,
- 0x34, 0x42, 0x17, 0x82, 0x3b, 0x70, 0x73, 0x9e, 0x03, 0x3a, 0x01,
- 0x90, 0x13, 0x18, 0x85, 0xc4, 0x02, 0xd3, 0x22, 0xc0, 0x6a, 0x44,
- 0x70, 0xfc, 0xf4, 0x36, 0x18, 0x5f, 0x71, 0xe3, 0xcf, 0x80, 0xb2,
- 0xa2, 0x76, 0xd8, 0xcd, 0x7d, 0x57, 0xca, 0xe5, 0xbe, 0xab, 0xba,
- 0xb0, 0xcd, 0xaf, 0x00, 0x9c, 0x0e, 0x38, 0x6f, 0x33, 0xc3, 0x85,
- 0x56, 0x01, 0x24, 0x81, 0xc5, 0xaf, 0x9c, 0x4a, 0xd4, 0x2b, 0x09,
- 0xe4, 0x6f, 0x72, 0x16, 0x52, 0xa3, 0xbe, 0x2b, 0xa8, 0xcd, 0xc4,
- 0xdd, 0x22, 0x57, 0x76, 0x6a, 0x66, 0xa5, 0x12, 0x51, 0x31, 0x61,
- 0x84, 0x46, 0x99, 0xa4, 0x74, 0x95, 0x94, 0xda, 0xea, 0x5e, 0x5c,
- 0x01, 0xcd, 0x3b, 0xb5, 0x0f, 0x40, 0xbf, 0x53, 0xeb, 0x2f, 0x39,
- 0x94, 0x63, 0x88, 0x98, 0xc1, 0xd5, 0xc9, 0x67, 0x73, 0xb8, 0x34,
- 0x8f, 0xc7, 0x71, 0xc0, 0xe4, 0xac, 0x1c, 0x50, 0x59, 0xd9, 0xa9,
- 0x36, 0x3c, 0x45, 0xec, 0x08, 0x68, 0xa5, 0x09, 0x07, 0xbd, 0x37,
- 0x52, 0x0e, 0x48, 0xb0, 0xfd, 0x05, 0xe6, 0xb7, 0xea, 0x5e, 0x32,
- 0x3e, 0x82, 0xf1, 0xd1, 0x4e, 0xb5, 0xde, 0xab, 0xc1, 0xc3, 0x3c,
- 0x5c, 0x56, 0xe8, 0x9d, 0x6a, 0x37, 0xab, 0xd1, 0xd0, 0x4a, 0xaa,
- 0xf4, 0x86, 0x98, 0x57, 0x22, 0xb6, 0x14, 0x97, 0xa6, 0x17, 0xb0,
- 0x65, 0x09, 0x06, 0x2d, 0x1a, 0xc0, 0x23, 0x4d, 0x32, 0x20, 0xb3,
- 0x79, 0x40, 0x81, 0x4e, 0x87, 0xa6, 0xab, 0x56, 0xf1, 0xe1, 0x6a,
- 0x99, 0xa4, 0x96, 0x8f, 0x83, 0x87, 0x34, 0x4d, 0x51, 0x72, 0xcb,
- 0x37, 0x72, 0x8b, 0x0f, 0x40, 0x2c, 0x48, 0x3e, 0xdd, 0x64, 0xdf,
- 0x81, 0x98, 0x2f, 0xa9, 0x68, 0x85, 0x82, 0xbb, 0xcc, 0x6e, 0xf5,
- 0x6f, 0x4e, 0xc7, 0x10, 0x83, 0x91, 0xfa, 0x10, 0xe7, 0x70, 0x31,
- 0x2e, 0x0f, 0x19, 0x11, 0x3c, 0xe2, 0x8e, 0x2c, 0x9b, 0x3e, 0x1c,
- 0x5f, 0x93, 0xd9, 0x01, 0x9c, 0x08, 0xa9, 0xc8, 0xab, 0x23, 0xe7,
- 0xde, 0xaf, 0x44, 0x17, 0x82, 0xe3, 0x73, 0x97, 0xab, 0x77, 0xc9,
- 0x11, 0x25, 0xd8, 0x82, 0x49, 0x29, 0xfd, 0x36, 0x55, 0x0e, 0x03,
- 0x17, 0xae, 0xa0, 0x8b, 0x4f, 0x26, 0x8d, 0xe5, 0x77, 0x8a, 0x43,
- 0x3d, 0x7c, 0xca, 0x75, 0x8e, 0xd8, 0xd8, 0x45, 0xd8, 0x97, 0x46,
- 0xce, 0x0c, 0x02, 0x80, 0x3a, 0x20, 0xe1, 0x63, 0xa2, 0x28, 0xb7,
- 0xac, 0xd2, 0x28, 0xe5, 0x35, 0xf4, 0xc6, 0x2f, 0x1f, 0x85, 0xff,
- 0xde, 0xac, 0xcc, 0x79, 0xbf, 0xe6, 0xa6, 0x3c, 0x57, 0xdb, 0x88,
- 0x9c, 0x19, 0x5a, 0x01, 0x25, 0x0b, 0x31, 0x0e, 0xf5, 0xce, 0x7a,
- 0x51, 0xc8, 0xb0, 0x97, 0x3e, 0xd3, 0xf3, 0x70, 0xf2, 0xc1, 0xb6,
- 0xf3, 0x1f, 0xed, 0x35, 0x17, 0x11, 0xfe, 0x15, 0x00, 0x00 };
-unsigned int packet2_len = 1470;
-
-u8 buffer[2048] __attribute__((aligned(2048)));
-
-/**
- * Get the request from the simulator and segment the packet.
- */
-int segmentation (fcall_ctx_t *fcall, fcall_param_t **param, sci_msg_t **msg,
- void *data)
-{
- u8 lid;
- u8 tei;
-
- if (debug)
- {
- printf ("Station function call\n");
- }
-
- fcall_param_bind (*param, *msg, "lid", sizeof(u8), &lid);
- fcall_param_bind (*param, *msg, "tei", sizeof(u8), &tei);
-
- if (debug)
- {
- printf ("lid : %d\n", lid);
- printf ("tei : %d\n", tei);
- diag_write_string ("Segmentation\n");
- }
-
- /** Get the MFS from the store **/
- mfs = mac_store_mfs_get_tx (sar_ctx.expiration.mfs_store, false, false,
- lid, tei);
- dbg_assert (mfs);
-
- memcpy (buffer, packet2, packet2_len);
-
- /** Add the msdu to segment **/
- sar_msdu_add (&sar_ctx, buffer, 2, packet2_len - 1, 0x12345678, mfs);
-
- // /** Launch the SAR to segment the msdu **/
- // sar_launch (0);
- //
- // diag_write_string ("Segmentation done\n");
-
- return 0;
-}
-
-/** Implement the bidge_dma interuption of the SAR to send the PBs from the
- * MFS **/
-bool bridge_dma_interruption_station (void *user, u32 status_word)
-{
- static fcall_param_t return_param;
- static sci_msg_t return_msg;
- static unsigned char return_buffer[1024];
- unsigned short return_msg_id = 0x1;
-
- u8 i;
- unsigned char value [2];
- unsigned char name [10];
-
- pb_t *pb;
-
- diag_write_string ("bridge_dma_interruption_station\n");
-
- dbg_assert (mfs);
- dbg_assert (mfs->head);
-
- /** init structures **/
- fcall_param_init (&return_param, "seg_complete_done", return_msg_id);
- sci_msg_init (&return_msg, return_buffer, 1024);
-
- diag_write_string ("Hello\n");
-
- /** reset the param list **/
- fcall_param_reset (&return_param);
-
- /** get the number of PBs in the MFS **/
- dbg_assert (mfs);
- dbg_assert (mfs->head);
-
- for (i = 0, pb = mfs->head; pb; i++, pb = pb->next)
- {
- sprintf (value, "%d", i);
- strcpy (name, "pb");
- strcat (name, value);
-
- fcall_param_add (&return_param, &return_msg, (char *)value, 512,
- (unsigned char *) pb->data);
-
- if (debug)
- {
- printf ("pb nb : %d, ssn : %d\n", i, pb->header.ssn);
- }
- }
-
- /* return */
- fcall_return (my_station.fcall, &return_param, &return_msg);
-
- if (debug)
- diag_write_string ("Hello data send\n");
-
- return true;
-}
-
-int main (void)
-{
- sar_reassembly_ctx_t *data_ctx;
- sar_reassembly_ctx_t *mme_ctx;
- bool added;
-
- station_log_set_level (&my_station, STATION_LOG_DEBUG);
- station_log_set_mask (&my_station, STATION_LOGTYPE_ALL);
- my_station.pipe_log_fd = 1;
-
- if (debug)
- diag_write_string ("hello by SAR\n");
-
- // test function call
- fcall_register (my_station.fcall, "segmentation", &segmentation, NULL);
-
- //initialize the sar
- sar_initialize ();
- sar_init_mac_store (&sar_ctx, mac_store_init ());
-
- sar_ctx.bridgedma_ctx = phy_bridgedma_init (NULL,
- bridge_dma_interruption_station, bridge_dma_deffered_interruption);
-
- sar_init_measure_context (&sar_ctx, &sar_ctx);
- sar_init_mme_context (&sar_ctx, &sar_ctx);
- sar_init_data_context (&sar_ctx, &sar_ctx);
-
- sar_init_measurement_cb (&sar_ctx, NULL);
- sar_init_noise_cb (&sar_ctx, NULL);
-
- sar_init_segmentation_data_cb (&sar_ctx, sar_segmentation_done);
- sar_init_segmentation_mme_cb (&sar_ctx, sar_segmentation_done);
-
- data_ctx = sar_init_reassembly_data_cb (&sar_ctx,
- sar_complete_reassembly_done);
- sar_init_segmentation_mme_cb (&sar_ctx, sar_complete_segmentation_done);
- mme_ctx = sar_init_reassembly_mme_cb (&sar_ctx,
- sar_complete_reassembly_done);
- sar_init_measurement_cb (&sar_ctx, test_sar_rx_pb_measurement_cb);
- sar_init_noise_cb (&sar_ctx, test_sar_rx_noise_cb);
-
- mac_store_sta_add (sar_ctx.expiration.mfs_store, 0x1);
- mfs = mac_store_mfs_add_tx (sar_ctx.expiration.mfs_store, false, false,
- 1, 1, &added);
- dbg_assert (&added);
-
- mfs->head = NULL;
- mfs->tail = NULL;
-
- sar_mfs_add (&sar_ctx, (mfs_t *) mfs);
-
- if (debug)
- {
- printf ("bridge dma inter cb : %p\n",
- &bridge_dma_interruption_station);
- printf ("bridge dma cb : %p\n", sar_ctx.bridgedma_ctx->bridgedma_cb);
- }
-
- return 0;
-}
diff --git a/mac/sar/test/maximus_test/src/Maximus_sar.cpp b/mac/sar/test/maximus_test/src/Maximus_sar.cpp
index 9af43a6a8c..dcced72b86 100644
--- a/mac/sar/test/maximus_test/src/Maximus_sar.cpp
+++ b/mac/sar/test/maximus_test/src/Maximus_sar.cpp
@@ -36,7 +36,8 @@ using namespace std;
#define debug_info false
-#define launch_seg_debug true
+#define launch_seg true
+#define launch_seg_debug false
#define launch_rea true
#define launch_rea_debug false
@@ -105,26 +106,30 @@ int main (int argc, char *argv[])
Maximus maximus;
maximus.init (argc, argv);
- Sta stationA = maximus.create_sta ();
-
- //create the function call
- Msg fc = maximus.create_fc ("segmentation");
-
- lid = 1;
- tei = 1;
-
- /* add the buffer address */
- fc.add_param ("lid", sizeof(unsigned char), (unsigned char*) &lid);
- fc.add_param ("tei", sizeof(unsigned char), (unsigned char*) &tei);
-
- fc.set_cb (&stationA_cb);
- fc.set_sta (stationA);
- // stationA.debug ();
-
- fc.send_async ();
-
- /* Wait during 10000 ticks before terminating the program. */
- maximus.wait (10000);
+ if (launch_seg)
+ {
+ Sta stationA = maximus.create_sta ();
+
+ //create the function call
+ Msg fc = maximus.create_fc ("segmentation");
+
+ lid = 1;
+ tei = 1;
+
+ /* add the buffer address */
+ fc.add_param ("lid", sizeof(unsigned char), (unsigned char*) &lid);
+ fc.add_param ("tei", sizeof(unsigned char), (unsigned char*) &tei);
+
+ fc.set_cb (&stationA_cb);
+ fc.set_sta (stationA);
+
+ if (launch_seg_debug) stationA.debug ();
+
+ fc.send_async ();
+
+ /* Wait during 10000 ticks before terminating the program. */
+ maximus.wait (10000);
+ }
if (test_fail)
{
@@ -140,16 +145,24 @@ int main (int argc, char *argv[])
if (launch_rea_debug) stationB.debug ();
- /* Send the pb for a segmentation */
- for (i = 0; i < 3; i++)
+ if (launch_seg)
{
- sprintf (value, "%d", i);
- strcpy (id, "pb");
- strcat (id, value);
- fc2.add_param (id, 1024 * sizeof(unsigned char), blk[i]);
- if (debug_info && i == 0)
- printf ("Length : %d\n", *((unsigned short*)(blk[i]
- + sizeof(unsigned int))) >> 2);
+ /* Send the pb for a segmentation */
+ for (i = 0; i < 3; i++)
+ {
+ sprintf (value, "%d", i);
+ strcpy (id, "pb");
+ strcat (id, value);
+ fc2.add_param (id, 1024 * sizeof(unsigned char), blk[i]);
+ if (debug_info && i == 0)
+ printf ("Length : %d\n", *((unsigned short*)(blk[i]
+ + sizeof(unsigned int))) >> 2);
+ }
+ }
+ else
+ {
+ unsigned char val = 0;
+ fc2.add_param ("NO", sizeof(unsigned char), &val);
}
fc2.send_async ();
diff --git a/mac/sar/test/maximus_test/src/Sta_sar.c b/mac/sar/test/maximus_test/src/Sta_sar.c
index 2a97e8124f..5f075fc23b 100644
--- a/mac/sar/test/maximus_test/src/Sta_sar.c
+++ b/mac/sar/test/maximus_test/src/Sta_sar.c
@@ -204,6 +204,11 @@ bool bridge_dma_interruption_station_seg (void *user, u32 status_word);
int reassembly (fcall_ctx_t *fcall, fcall_param_t **param, sci_msg_t **msg,
void *data);
+int reassembly_simu (fcall_ctx_t *fcall, fcall_param_t **param,
+ sci_msg_t **msg, void *data);
+int reassembly_real (fcall_ctx_t *fcall, fcall_param_t **param,
+ sci_msg_t **msg, void *data);
+
bool bridge_dma_interruption_station_rea (void *user, u32 status_word);
int main (void)
@@ -292,20 +297,14 @@ int segmentation (fcall_ctx_t *fcall, fcall_param_t **param, sci_msg_t **msg,
sar_mfs_add (&sar_ctx, (mfs_t *) mfs);
- if (seg_debug_info)
- {
- printf ("Station function call\n");
- }
-
msg_id = (*param)->msg_id;
fcall_param_bind (*param, *msg, "lid", sizeof(u8), &lid);
fcall_param_bind (*param, *msg, "tei", sizeof(u8), &tei);
if (seg_debug_info)
{
- printf ("lid : %d\n", lid);
- printf ("tei : %d\n", tei);
- diag_write_string ("Segmentation\n");
+ printf ("[Segmentation] lid : %d\n", lid);
+ printf ("[Segmentation] tei : %d\n", tei);
}
fcall_param_set_async (*param, 1);
@@ -317,11 +316,13 @@ int segmentation (fcall_ctx_t *fcall, fcall_param_t **param, sci_msg_t **msg,
memcpy (sar_buffer, packet2, packet2_len);
+ printf ("[Segmentation] Verifing the sar_buffer with the packet2 ...\n");
for (i = 0; i < packet2_len && seg_debug_info; i++)
{
if (sar_buffer[i] != packet2[i])
- printf ("Error data does not correspond \n");
+ printf ("[Segmentation] Error data does not correspond \n");
}
+ printf ("[Segmentation] Verification ended\n");
/** Add the msdu to segment **/
sar_msdu_add (&sar_ctx, sar_buffer, 2, packet2_len - 1, 0x12345678, mfs);
@@ -329,9 +330,6 @@ int segmentation (fcall_ctx_t *fcall, fcall_param_t **param, sci_msg_t **msg,
/** Launch the SAR to segment the msdu **/
sar_launch (0);
- if (seg_debug_info)
- diag_write_string ("Segmentation done\n");
-
return 0;
}
@@ -354,9 +352,6 @@ bool bridge_dma_interruption_station_seg (void *user, u32 status_word)
u8 seg_buffer_test [2048];
bool seg_test_fail;
- if (seg_debug_info)
- diag_write_string ("bridge_dma_interruption_station\n");
-
dbg_assert (mfs);
dbg_assert (mfs->head);
@@ -373,6 +368,7 @@ bool bridge_dma_interruption_station_seg (void *user, u32 status_word)
if (seg_debug_info)
{
+ printf ("[Segmentation] Verifying the PB data...\n");
i = 0;
for (pb = mfs->head; pb; pb = pb->next)
{
@@ -385,10 +381,11 @@ bool bridge_dma_interruption_station_seg (void *user, u32 status_word)
{
if (seg_buffer_test[i + 6] != packet2[i]&& i < packet2_len - 1)
{
- printf ("Error on seg : %d\n", i);
+ printf ("[Segmentation] Error on seg : %d\n", i);
seg_test_fail = true;
}
}
+ printf ("[Segmentation] Verification of PB data ended\n");
}
if (seg_test_fail)
@@ -414,22 +411,12 @@ bool bridge_dma_interruption_station_seg (void *user, u32 status_word)
fcall_param_add (&return_param, &return_msg, (char *) name,
BLK_SIZE+ sizeof(u32), (unsigned char *) pb_data);
-
- if (seg_debug_info)
- {
- printf ("errno = %d\n", errno);
- printf ("pb nb : %d, ssn : %d\n", i, pb->header.ssn);
- printf ("Id name : %s\n", name);
- if (i == 0)
- printf ("Length : %d\n", *((u16*)(pb_data + sizeof(u32)))
- >> 2);
- }
}
printf ("/***********************************************************/\n");
printf (" ^^ [Segmentation] SUCCESS ^^\n");
printf ("/***********************************************************/\n");
-
+
}
/* return */
@@ -444,10 +431,100 @@ bool bridge_dma_interruption_station_seg (void *user, u32 status_word)
return true;
}
+int reassembly (fcall_ctx_t *fcall, fcall_param_t **param, sci_msg_t **msg,
+ void *data)
+{
+ u8 rea_buffer[3] = {1,1,1};
+
+ fcall_param_bind (*param, *msg, "NO", 10 * sizeof(u8), rea_buffer);
+
+ if (rea_buffer[0] == '\0')
+ {
+ return reassembly_simu(fcall, param, msg, data);
+ }
+ else
+ {
+ return reassembly_real(fcall, param, msg, data);
+ }
+}
+
+int reassembly_simu (fcall_ctx_t *fcall, fcall_param_t **param,
+ sci_msg_t **msg, void *data)
+{
+ unsigned short ayncrhonous_msg_id = 0;
+ pb_t *pb_head;
+ pb_t *pb_tail;
+ pbproc_rx_params_t rx_params;
+ u16 offset;
+
+ /* init the bridge dma with the call back for the segmentation.
+ *
+ * In the real bridge dma funciton call back it is the same function for
+ * both segmentation and reassembly.
+ *
+ * They are different only in this test, because the bridgedma callback
+ * sends PBs to maximus.
+ */
+ sar_ctx.bridgedma_ctx = phy_bridgedma_init (NULL,
+ bridge_dma_interruption_station_rea, bridge_dma_deffered_interruption);
+
+ printf ("/******************************************/\n");
+ printf ("/* SIMULATION MODE */\n");
+ printf ("/******************************************/\n");
+
+ fcall_param_set_async (*param, 1);
+ ayncrhonous_msg_id = (*param)->msg_id;
+
+ /** allocate the pb */
+ pb_head = (pb_t *) blk_alloc_desc_range (3, (blk_t **) &pb_tail);
+ pb_tail->next = NULL;
+
+ // had the MFH
+ ((sar_mf_mfh_t*) pb_head->data)->type = 2;
+ ((sar_mf_mfh_t*) pb_head->data)->length = packet2_len - 1;
+ ((sar_mf_mfh_t*) pb_head->data)->ats = 0x1234;
+
+ // had the ATS
+ * ((u16*)pb_head->data + 4) = 0x5678;
+
+ // had the payload
+ offset = sizeof(u16) + sizeof(u32);
+
+ memcpy (pb_head->data + offset, packet2, 506);
+ memcpy (pb_head->next->data, packet2 + 506, BLK_SIZE);
+ memcpy (pb_head->next->next->data, packet2 + 1018, 1470 - 1018);
+ * (pb_head->next->next->data + 456) = 0x0;
+
+ pb_head->header.mfbf = true;
+ pb_head->header.mfbo = 0x0;
+ pb_head->header.ssn = 0;
+
+ pb_head->next->header.mfbf = false;
+ pb_head->next->header.ssn = 1;
+
+ pb_head->next->next->header.mfbf = false;
+ pb_head->next->next->header.ssn = 2;
+
+ rx_params.lid = 0x1;
+ rx_params.tei = 0x1;
+ rx_params.bcast = false;
+ rx_params.date = 0x1234578;
+ sar_mpdu_add (&sar_ctx, NULL, NULL, &rx_params, pb_head, pb_tail, 3, NULL);
+
+ /** Launch the SAR to segment the msdu **/
+ sar_launch (0);
+
+ /** Launch the bridge dma with the buffer*/
+ sar_buffer_add(&sar_ctx.data_ctx, sar_buffer);
+ sar_launch (0);
+
+ return true;
+}
+
/**
* Get the request from the simulator and segment the packet.
*/
-int reassembly (fcall_ctx_t *fcall, fcall_param_t **param, sci_msg_t **msg,
+int reassembly_real (fcall_ctx_t *fcall, fcall_param_t **param, sci_msg_t **msg,
void *data)
{
pb_t *pb_first;
@@ -473,9 +550,6 @@ int reassembly (fcall_ctx_t *fcall, fcall_param_t **param, sci_msg_t **msg,
sar_ctx.bridgedma_ctx = phy_bridgedma_init (NULL,
bridge_dma_interruption_station_rea, bridge_dma_deffered_interruption);
- if (seg_debug_info)
- printf ("Reassembly function call\n");
-
msg_id = (*param)->msg_id;
pb_first = NULL;
@@ -486,7 +560,8 @@ int reassembly (fcall_ctx_t *fcall, fcall_param_t **param, sci_msg_t **msg,
sprintf (value, "%d", i);
strcat (id, value);
- fcall_param_bind (*param, *msg, id, BLK_SIZE + sizeof(u32), rea_buffer);
+ fcall_param_bind (*param, *msg, id, BLK_SIZE + sizeof(u32),
+ rea_buffer);
if (pb_curr == NULL)
{
@@ -603,7 +678,7 @@ bool bridge_dma_interruption_station_rea (void *user, u32 status_word)
j = 0;
pb_curr = pb_curr->next;
}
-
+
if (job->job.data_addr[i] != pb_curr->data[j])
{
printf (
@@ -643,6 +718,15 @@ bool bridge_dma_interruption_station_rea (void *user, u32 status_word)
blk_release (job->mfs);
blk_release (job);
+ mfs_rx_t *mfs;
+ mfs = mac_store_mfs_get_rx (sar_ctx.expiration.mfs_store, false, false,
+ 0x1, 0x1);
+ dbg_assert (mfs);
+ sar_expiration_mfs_destroy (&sar_ctx.expiration, (mfs_t *) mfs);
+
+ mac_store_sta_remove (sar_ctx.expiration.mfs_store, 0x1);
+ mac_store_uninit (sar_ctx.expiration.mfs_store);
+
return true;
}