summaryrefslogtreecommitdiff
path: root/cesar/cp2/msg
diff options
context:
space:
mode:
authorlaranjeiro2008-06-25 09:29:36 +0000
committerlaranjeiro2008-06-25 09:29:36 +0000
commit9b2ae34d1350e70f90fb82e700920120aa90067a (patch)
treeb3d3275e0ad47fb3c1c1be9223c29ce0c1d7ebf5 /cesar/cp2/msg
parent7749957dd8d0b6c9c10379ac20e008f3b224773a (diff)
cp2/msg : Fixed the CRC generation to compute the CRC on the All embedded MME (including the MME Header).
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@2430 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'cesar/cp2/msg')
-rw-r--r--cesar/cp2/msg/src/msg.c5
-rw-r--r--cesar/cp2/msg/test/src/test-msg.c2
2 files changed, 5 insertions, 2 deletions
diff --git a/cesar/cp2/msg/src/msg.c b/cesar/cp2/msg/src/msg.c
index 1dcf5ac906..71353a62a7 100644
--- a/cesar/cp2/msg/src/msg.c
+++ b/cesar/cp2/msg/src/msg.c
@@ -394,7 +394,10 @@ cp_msg_mme_send (cp_t *ctx, cp_mme_tx_t *mme)
/* Compute the CRC. */
crc_value = crc_compute_block_le (&crc,
mme->p_mme + mme->payload_offset,
- mme->length);
+ mme->length
+ + (mme->peer.vlan_tag ?
+ HPAV_MME_HEADER_LEN_WITH_VLAN:
+ HPAV_MME_HEADER));
/* Store the CRC. */
bitstream_access (&mme->bitstream, &crc_value, 32);
mme->full_length += 4;
diff --git a/cesar/cp2/msg/test/src/test-msg.c b/cesar/cp2/msg/test/src/test-msg.c
index d0fbee53e3..ca939531bd 100644
--- a/cesar/cp2/msg/test/src/test-msg.c
+++ b/cesar/cp2/msg/test/src/test-msg.c
@@ -622,7 +622,7 @@ test_case_msg_mme_rx_with_vlan_tag (test_t test)
cp_key_t key;
cp_mme_rx_t *mme_rx;
- lib_rnd_init (&cp.rand, 0x12345678);
+ lib_rnd_init (&cp.rnd, 0x12345678);
peer.mac = 0x23456789ABCDull;
peer.vlan_tag = 0x21;
peer.tei = 0x2;