Esempio n. 1
0
static int _get_iid(netdev2_t *netdev, eui64_t *value, size_t max_len)
{
    if (max_len < sizeof(eui64_t)) {
        return -EOVERFLOW;
    }

    uint8_t addr[ETHERNET_ADDR_LEN];
    netdev->driver->get(netdev, NETOPT_ADDRESS, addr, ETHERNET_ADDR_LEN);
    ethernet_get_iid(value, addr);

    return sizeof(eui64_t);
}
Esempio n. 2
0
static inline int _get_iid(netdev2_t *netdev, eui64_t *value, size_t max_len)
{
    if (max_len < sizeof(eui64_t)) {
        return -EOVERFLOW;
    }

    uint8_t addr[ETHERNET_ADDR_LEN];
    _get_mac_addr(netdev, addr);
    ethernet_get_iid(value, addr);

    return sizeof(eui64_t);
}
Esempio n. 3
0
static inline int _get_iid(ng_netdev_eth_t *netdev, eui64_t *value, size_t max_len)
{
    if (max_len < sizeof(eui64_t)) {
        /* value buffer not big enough */
        return -EOVERFLOW;
    }

    dev_eth_t *dev = netdev->ethdev;
    uint8_t addr[ETHERNET_ADDR_LEN];
    dev->driver->get_mac_addr(dev, addr);
    ethernet_get_iid(value, addr);

    return sizeof(eui64_t);
}