Changes between Version 35 and Version 36 of WANMAC
- Timestamp:
- Jul 21, 2006, 3:23:48 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WANMAC
v35 v36 79 79 == == 80 80 81 == ==82 83 == ==84 85 == ==86 87 == ==88 89 81 For the Subscriber Station, the states look like the following: 90 82 … … 139 131 This section contains all the data structures used in the protocol with their explaination. 140 132 133 '''Common''' 134 141 135 [source:/ResearchApps/MAC/WANMAC/Basestation/basestation.h@305#L46 pduStruct] 142 143 136 The pduStruct type is the internal representation of what information is included in the frame sent to the PHY. There is a one to one conversion between this struct and array of bytes interpreted by the PHY. This allows us to abstract away from this array structure, making our MAC's behavior independent of the header format. Each 144 137 packet contains a CID, which indicates the subscriber ID. The CID sof zero is for broadcasting purposes. 145 138 139 146 140 [source:/ResearchApps/MAC/WANMAC/Basestation/basestation.h@91#L58 pduQueueStruct] 147 148 141 The pduQueueStruct is a structure containing an array of frameStructs and a few control bytes to keep track of indices, flags and the length of the queue. This queue can serve two purposes. The first use is during the receive phase of the MAC. When the MAC receives a packet from another node, it needs to put the payload somewhere. Because the specification of the connection between our MAC and higher networking layers is still in the process of being defined, we need a method of abstracting our layer away from this future glue layer. An acceptable solution is to simply copy packets from the PHY's memory space into a queue. It is assumed that another in the xilkernel will be taking these packets and giving them to higher layers. The other use of this queue is on the transmit side of the MAC. Again, the connection to the higher layer is still being defined, so we need a way of getting packets to send in the meantime. You can think of the transmit queue as analogous to the receive queue, in that some process somewhere gives us packets to send. This could be the [wiki:"Video Board" Video Board], or eventually the ethernet controller. 149 142 143 '''Base Station''' 144 150 145 [source:/ResearchApps/MAC/WANMAC/Basestation/basestation.h@91#L68 BSQueueStruct] 151 152 146 This is the Base Station data structure, for keeping record of the number of subscribers and for their Receive and Transmit Queues. 153 147 148 154 149 [source:/ResearchApps/MAC/WANMAC/Basestation/basestation.h@91#L74 MAPEntryStruct] 155 156 150 The MAPEntryStruct is a single entry/slot of an uplink or a downlink MAP data structure. It contains the start time and the end time for that entry, 157 151 which denote the number of bursts allocated in a given slot. 158 152 153 159 154 [source:/ResearchApps/MAC/WANMAC/Basestation/basestation.h@91#L79 MAPStruct] 160 161 155 This is the data structure depicting the MAP. It contains the number of entries of the MAP along with the start time for that MAP. Also it has 162 156 the pointer to the actual entries array. 163 157 158 164 159 [source:/ResearchApps/MAC/WANMAC/Basestation/basestation.h@91#L83 IDEntryStruct] 165 166 160 This depicts an single ID, namely the Connection ID and the MAC information of the node being described. So far we are not using this, 167 161 as this is used for Network Entry Protocol. 168 162 163 169 164 [source:/ResearchApps/MAC/WANMAC/Basestation/basestation.h@91#L90 IDStruct] 170 171 165 This contains the list and the number of ids which correspond to the changes to be made in the new map. This is used both for deletion as well 172 166 as for newly added subscriber ids. So far we are not using this, as this is used for Network Entry Protocol. 167 168 '''Subscriber Station''' 169 173 170 174 171 == Base Station Functions ==