Ejemplo n.º 1
0
void
slip_got_mac(const uint8_t * data)
{
    memcpy(uip_lladdr.addr, data, sizeof(uip_lladdr.addr));
    linkaddr_set_node_addr((linkaddr_t *) uip_lladdr.addr);
    linkaddr_copy((linkaddr_t *) & wsn_mac_addr, &linkaddr_node_addr);
    LOG6LBR_LLADDR(INFO, &uip_lladdr, "Got MAC: ");
    radio_mac_addr_ready = 1;
}
Ejemplo n.º 2
0
void
slip_set_mac(linkaddr_t const * mac_addr)
{
    uint8_t buffer[10];
    int i;

    LOG6LBR_LLADDR(INFO, (uip_lladdr_t*)mac_addr, "Set MAC: ");
    buffer[0] = '!';
    buffer[1] = 'M';
    for(i = 0; i < 8; i++) {
        buffer[2 + i] = mac_addr->u8[i];
    }
    write_to_slip(buffer, 10);
}
Ejemplo n.º 3
0
void
switch_lookup_learn_addr(const uip_lladdr_t *lladdr, uint8_t ifindex)
{
#if UIP_SWITCH_LOOKUP
  if(lladdr != NULL && !linkaddr_cmp((linkaddr_t *)lladdr, &linkaddr_null)) {
    uip_ds6_nbr_t *nbr;
    nbr = uip_ds6_nbr_ll_lookup(lladdr);
    if(nbr) {
      nbr->ifindex = ifindex;
    } else {
      LOG6LBR_LLADDR(PACKET, lladdr, "No neighbor found for ");
    }
  } else {
    LOG6LBR_DEBUG("Can not learn broadcast or null addr\n");
  }
#endif
}