Merge pull request #538 from cskiraly/collect-fixes

collect: making some protocol parameters configurable by COLLECT_CONF_
This commit is contained in:
Adam Dunkels 2014-01-26 14:23:08 -08:00
commit b6c4f50bea
2 changed files with 42 additions and 6 deletions

View file

@ -123,8 +123,18 @@ struct ack_msg {
forwarding queue before it is removed. The MAX_SENDING_QUEUE
specifies the maximum length of the output queue. If the queue is
full, incoming packets are dropped instead of being forwarded. */
#define MAX_MAC_REXMITS 2
#define MAX_ACK_MAC_REXMITS 5
#ifdef COLLECT_CONF_MAX_MAC_REXMITS
#define MAX_MAC_REXMITS COLLECT_CONF_MAX_MAC_REXMITS
#else /* COLLECT_CONF_MAX_MAC_REXMITS */
#define MAX_MAC_REXMITS 2
#endif /* COLLECT_CONF_MAX_MAC_REXMITS */
#ifdef COLLECT_CONF_MAX_ACK_MAC_REXMITS
#define MAX_ACK_MAC_REXMITS COLLECT_CONF_MAX_ACK_MAC_REXMITS
#else /* COLLECT_CONF_MAX_ACK_MAC_REXMITS */
#define MAX_ACK_MAC_REXMITS 5
#endif /* COLLECT_CONF_MAX_ACK_MAC_REXMITS */
#define REXMIT_TIME (CLOCK_SECOND * 32 / NETSTACK_RDC_CHANNEL_CHECK_RATE)
#define FORWARD_PACKET_LIFETIME_BASE REXMIT_TIME * 2
#define MAX_SENDING_QUEUE 3 * QUEUEBUF_NUM / 4
@ -150,7 +160,11 @@ MEMB(send_queue_memb, struct packetqueue_item, MAX_SENDING_QUEUE);
/* This defines the maximum hops that a packet can take before it is
dropped. */
#define MAX_HOPLIM 15
#ifdef COLLECT_CONF_MAX_HOPLIM
#define MAX_HOPLIM COLLECT_CONF_MAX_HOPLIM
#else /* COLLECT_CONF_MAX_HOPLIM */
#define MAX_HOPLIM 15
#endif /* COLLECT_CONF_MAX_HOPLIM */
/* Proactive probing: when there are no packets in the send

View file

@ -67,14 +67,36 @@
#include "sys/ctimer.h"
#include "lib/list.h"
#ifdef COLLECT_CONF_PACKET_ID_BITS
#define COLLECT_PACKET_ID_BITS COLLECT_CONF_PACKET_ID_BITS
#else /* COLLECT_CONF_PACKET_ID_BITS */
#define COLLECT_PACKET_ID_BITS 8
#endif /* COLLECT_CONF_PACKET_ID_BITS */
#ifdef COLLECT_CONF_TTL_BITS
#define COLLECT_TTL_BITS COLLECT_CONF_TTL_BITS
#else /* COLLECT_CONF_TTL_BITS */
#define COLLECT_TTL_BITS 4
#endif /* COLLECT_CONF_TTL_BITS */
#ifdef COLLECT_CONF_HOPS_BITS
#define COLLECT_HOPS_BITS COLLECT_CONF_HOPS_BITS
#else /* COLLECT_CONF_HOPS_BITS */
#define COLLECT_HOPS_BITS 4
#endif /* COLLECT_CONF_HOPS_BITS */
#ifdef COLLECT_CONF_MAX_REXMIT_BITS
#define COLLECT_MAX_REXMIT_BITS COLLECT_CONF_MAX_REXMIT_BITS
#else /* COLLECT_CONF_REXMIT_BITS */
#define COLLECT_MAX_REXMIT_BITS 5
#endif /* COLLECT_CONF_REXMIT_BITS */
#define COLLECT_ATTRIBUTES { PACKETBUF_ADDR_ESENDER, PACKETBUF_ADDRSIZE }, \
{ PACKETBUF_ATTR_EPACKET_ID, PACKETBUF_ATTR_BIT * COLLECT_PACKET_ID_BITS }, \
{ PACKETBUF_ATTR_PACKET_ID, PACKETBUF_ATTR_BIT * COLLECT_PACKET_ID_BITS }, \
{ PACKETBUF_ATTR_TTL, PACKETBUF_ATTR_BIT * 4 }, \
{ PACKETBUF_ATTR_HOPS, PACKETBUF_ATTR_BIT * 4 }, \
{ PACKETBUF_ATTR_MAX_REXMIT, PACKETBUF_ATTR_BIT * 5 }, \
{ PACKETBUF_ATTR_TTL, PACKETBUF_ATTR_BIT * COLLECT_TTL_BITS }, \
{ PACKETBUF_ATTR_HOPS, PACKETBUF_ATTR_BIT * COLLECT_HOPS_BITS }, \
{ PACKETBUF_ATTR_MAX_REXMIT, PACKETBUF_ATTR_BIT * COLLECT_MAX_REXMIT_BITS }, \
{ PACKETBUF_ATTR_PACKET_TYPE, PACKETBUF_ATTR_BIT }, \
UNICAST_ATTRIBUTES