fixed powertrace attribution for 6lowpan traffic
This commit is contained in:
parent
2399689bbd
commit
1b0af2a21d
|
@ -265,17 +265,20 @@ static struct timer reass_timer;
|
||||||
static struct rime_sniffer *callback = NULL;
|
static struct rime_sniffer *callback = NULL;
|
||||||
|
|
||||||
void
|
void
|
||||||
rime_sniffer_add(struct rime_sniffer *s) {
|
rime_sniffer_add(struct rime_sniffer *s)
|
||||||
|
{
|
||||||
callback = s;
|
callback = s;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
rime_sniffer_remove(struct rime_sniffer *s) {
|
rime_sniffer_remove(struct rime_sniffer *s)
|
||||||
|
{
|
||||||
callback = NULL;
|
callback = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
set_packet_attrs() {
|
set_packet_attrs()
|
||||||
|
{
|
||||||
int c = 0;
|
int c = 0;
|
||||||
/* set protocol in NETWORK_ID */
|
/* set protocol in NETWORK_ID */
|
||||||
packetbuf_set_attr(PACKETBUF_ATTR_NETWORK_ID, UIP_IP_BUF->proto);
|
packetbuf_set_attr(PACKETBUF_ATTR_NETWORK_ID, UIP_IP_BUF->proto);
|
||||||
|
@ -1303,6 +1306,9 @@ packet_sent(void *ptr, int status, int transmissions)
|
||||||
#if SICSLOWPAN_CONF_NEIGHBOR_INFO
|
#if SICSLOWPAN_CONF_NEIGHBOR_INFO
|
||||||
neighbor_info_packet_sent(status, transmissions);
|
neighbor_info_packet_sent(status, transmissions);
|
||||||
#endif /* SICSLOWPAN_CONF_NEIGHBOR_INFO */
|
#endif /* SICSLOWPAN_CONF_NEIGHBOR_INFO */
|
||||||
|
if(callback != NULL) {
|
||||||
|
callback->output_callback(status);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/*--------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
|
@ -1348,11 +1354,6 @@ output(uip_lladdr_t *localdest)
|
||||||
/* The MAC address of the destination of the packet */
|
/* The MAC address of the destination of the packet */
|
||||||
rimeaddr_t dest;
|
rimeaddr_t dest;
|
||||||
|
|
||||||
if (callback) {
|
|
||||||
set_packet_attrs();
|
|
||||||
callback->output_callback(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* init */
|
/* init */
|
||||||
uncomp_hdr_len = 0;
|
uncomp_hdr_len = 0;
|
||||||
rime_hdr_len = 0;
|
rime_hdr_len = 0;
|
||||||
|
@ -1364,6 +1365,12 @@ output(uip_lladdr_t *localdest)
|
||||||
packetbuf_set_attr(PACKETBUF_ATTR_MAX_MAC_TRANSMISSIONS,
|
packetbuf_set_attr(PACKETBUF_ATTR_MAX_MAC_TRANSMISSIONS,
|
||||||
SICSLOWPAN_MAX_MAC_TRANSMISSIONS);
|
SICSLOWPAN_MAX_MAC_TRANSMISSIONS);
|
||||||
|
|
||||||
|
if(callback) {
|
||||||
|
/* call the attribution when the callback comes, but set attributes
|
||||||
|
here ! */
|
||||||
|
set_packet_attrs();
|
||||||
|
}
|
||||||
|
|
||||||
#define TCP_FIN 0x01
|
#define TCP_FIN 0x01
|
||||||
#define TCP_ACK 0x10
|
#define TCP_ACK 0x10
|
||||||
#define TCP_CTL 0x3f
|
#define TCP_CTL 0x3f
|
||||||
|
@ -1739,7 +1746,7 @@ input(void)
|
||||||
#endif /* SICSLOWPAN_CONF_NEIGHBOR_INFO */
|
#endif /* SICSLOWPAN_CONF_NEIGHBOR_INFO */
|
||||||
|
|
||||||
/* if callback is set then set attributes and call */
|
/* if callback is set then set attributes and call */
|
||||||
if (callback) {
|
if(callback) {
|
||||||
set_packet_attrs();
|
set_packet_attrs();
|
||||||
callback->input_callback();
|
callback->input_callback();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue