Exemplo n.º 1
0
Arquivo: txrx_uhd.c Projeto: GREO/uhd
/*
 * Called when eth phy state changes (w/ interrupts disabled)
 */
void link_changed_callback(int speed){
    printf("\neth link changed: speed = %d\n", speed);
    if (speed != 0){
        hal_set_leds(LED_RJ45, LED_RJ45);
        pkt_ctrl_set_routing_mode(PKT_CTRL_ROUTING_MODE_MASTER);
        send_gratuitous_arp();
    }
    else{
        hal_set_leds(0x0, LED_RJ45);
        pkt_ctrl_set_routing_mode(PKT_CTRL_ROUTING_MODE_SLAVE);
    }
}
Exemplo n.º 2
0
int main(int argc, char **argv){
  int ifindex = 0;
  char *devname = "eth0";
  char *ipaddr = "10.0.7.1";
  char *src_macaddr = "00:12:34:56:78:9a";
  //char *src_macaddr = "00:1c:25:20:c7:63";
  char *dst_macaddr = "00:00:00:00:00:00";
  struct ifreq ifreq;

  memset(&ifreq, '\0', sizeof(ifreq));

  //ifindex
  get_ifinfo( devname, &ifreq, SIOCGIFINDEX);
  ifindex = ifreq.ifr_ifindex;

  send_gratuitous_arp(ifindex, devname, ipaddr, src_macaddr, dst_macaddr);
  return 0;
  
}