summaryrefslogtreecommitdiff
path: root/cesar/mac
diff options
context:
space:
mode:
authorNélio Laranjeiro2012-03-30 10:56:16 +0200
committerNélio Laranjeiro2012-07-18 17:36:36 +0200
commite377852d4cd982105a99204239451de9e302c028 (patch)
tree18daa13142c0e69bf1076c1abd96042f6c8207d4 /cesar/mac
parentde6dcdccd3a9b75c9db4c55fcacd4ae3504166d3 (diff)
cesar/{bsu,mac}: add an expiration ntb to pb_beacon_t, closes #3057
A frame reception on PBProc can cancel an emission. To avoid to not transmit the frame the PBProc reschedule it, but before sending the frame it will check the expiration ntb date of the PBs it should send in the frame. This is correct for any PB but for Beacon PB it is not, those special PB did not have an expiration ntb date in their descriptor. So at the end some beacons were dropped because the PBProc was comparing an expiration ntb date to something which was not. This commit fix it by adding an expiration ntb date in the Beacon PB corresponding to the end of the beacon period within the one it is valid.
Diffstat (limited to 'cesar/mac')
-rw-r--r--cesar/mac/common/pb.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/cesar/mac/common/pb.h b/cesar/mac/common/pb.h
index af337ed8dc..34372db3fd 100644
--- a/cesar/mac/common/pb.h
+++ b/cesar/mac/common/pb.h
@@ -80,6 +80,8 @@ union pb_beacon_t
u8 *data;
/** First four bytes of the beacon payload. */
u32 first_data_word;
+ /** Expiration NTB date.*/
+ u32 expiration_ntb;
};
};
typedef union pb_beacon_t pb_beacon_t;