TSCH fixes for the short-address case
This commit is contained in:
parent
8e6c6cc45b
commit
ac16fb9e2b
|
@ -85,12 +85,12 @@ tsch_packet_create_eack(uint8_t *buf, int buf_size,
|
|||
p.seq = seqno;
|
||||
#if TSCH_PACKET_EACK_WITH_DEST_ADDR
|
||||
if(dest_addr != NULL) {
|
||||
p.fcf.dest_addr_mode = FRAME802154_LONGADDRMODE;
|
||||
p.fcf.dest_addr_mode = LINKADDR_SIZE > 2 ? FRAME802154_LONGADDRMODE : FRAME802154_SHORTADDRMODE;;
|
||||
linkaddr_copy((linkaddr_t *)&p.dest_addr, dest_addr);
|
||||
}
|
||||
#endif
|
||||
#if TSCH_PACKET_EACK_WITH_SRC_ADDR
|
||||
p.fcf.src_addr_mode = FRAME802154_LONGADDRMODE;
|
||||
p.fcf.src_addr_mode = LINKADDR_SIZE > 2 ? FRAME802154_LONGADDRMODE : FRAME802154_SHORTADDRMODE;;
|
||||
p.src_pid = IEEE802154_PANID;
|
||||
linkaddr_copy((linkaddr_t *)&p.src_addr, &linkaddr_node_addr);
|
||||
#endif
|
||||
|
@ -208,7 +208,7 @@ tsch_packet_create_eb(uint8_t *buf, int buf_size, uint8_t seqno,
|
|||
p.fcf.frame_type = FRAME802154_BEACONFRAME;
|
||||
p.fcf.ie_list_present = 1;
|
||||
p.fcf.frame_version = FRAME802154_IEEE802154E_2012;
|
||||
p.fcf.src_addr_mode = FRAME802154_LONGADDRMODE;
|
||||
p.fcf.src_addr_mode = LINKADDR_SIZE > 2 ? FRAME802154_LONGADDRMODE : FRAME802154_SHORTADDRMODE;
|
||||
p.fcf.dest_addr_mode = FRAME802154_SHORTADDRMODE;
|
||||
p.seq = seqno;
|
||||
p.fcf.sequence_number_suppression = FRAME802154_SUPPR_SEQNO;
|
||||
|
|
|
@ -69,8 +69,10 @@
|
|||
/* Use to collect link statistics even on Keep-Alive, even though they were
|
||||
* not sent from an upper layer and don't have a valid packet_sent callback */
|
||||
#ifndef TSCH_LINK_NEIGHBOR_CALLBACK
|
||||
#if NETSTACK_CONF_WITH_IPV6
|
||||
void uip_ds6_link_neighbor_callback(int status, int numtx);
|
||||
#define TSCH_LINK_NEIGHBOR_CALLBACK(dest, status, num) uip_ds6_link_neighbor_callback(status, num)
|
||||
#endif /* NETSTACK_CONF_WITH_IPV6 */
|
||||
#endif /* TSCH_LINK_NEIGHBOR_CALLBACK */
|
||||
|
||||
/* 802.15.4 duplicate frame detection */
|
||||
|
|
Loading…
Reference in a new issue