463
463
addr = index2addr(index);
465
465
case CONNMAN_DEVICE_TYPE_BLUETOOTH:
466
case CONNMAN_DEVICE_TYPE_CELLULAR:
466
467
case CONNMAN_DEVICE_TYPE_GPS:
467
468
case CONNMAN_DEVICE_TYPE_HSO:
468
case CONNMAN_DEVICE_TYPE_NOZOMI:
469
case CONNMAN_DEVICE_TYPE_HUAWEI:
470
case CONNMAN_DEVICE_TYPE_NOVATEL:
471
469
case CONNMAN_DEVICE_TYPE_VENDOR:
472
470
name = strdup(devname);
486
484
case CONNMAN_DEVICE_TYPE_UNKNOWN:
487
485
case CONNMAN_DEVICE_TYPE_VENDOR:
488
case CONNMAN_DEVICE_TYPE_NOZOMI:
489
case CONNMAN_DEVICE_TYPE_HUAWEI:
490
case CONNMAN_DEVICE_TYPE_NOVATEL:
491
486
case CONNMAN_DEVICE_TYPE_GPS:
492
487
mode = CONNMAN_DEVICE_MODE_UNKNOWN;
494
489
case CONNMAN_DEVICE_TYPE_ETHERNET:
495
mode = CONNMAN_DEVICE_MODE_TRANSPORT_IP;
490
mode = CONNMAN_DEVICE_MODE_NETWORK_SINGLE;
496
491
ident = index2ident(index, NULL);
498
493
case CONNMAN_DEVICE_TYPE_WIFI:
503
498
case CONNMAN_DEVICE_TYPE_BLUETOOTH:
504
499
mode = CONNMAN_DEVICE_MODE_NETWORK_MULTIPLE;
501
case CONNMAN_DEVICE_TYPE_CELLULAR:
506
502
case CONNMAN_DEVICE_TYPE_MBM:
507
503
case CONNMAN_DEVICE_TYPE_HSO:
508
504
mode = CONNMAN_DEVICE_MODE_NETWORK_SINGLE;
627
int connman_inet_set_gateway(int index, struct in_addr gateway)
623
int connman_inet_set_gateway_interface(int index)
627
struct sockaddr_in addr;
632
sk = socket(PF_INET, SOCK_DGRAM, 0);
636
memset(&ifr, 0, sizeof(ifr));
637
ifr.ifr_ifindex = index;
639
if (ioctl(sk, SIOCGIFNAME, &ifr) < 0) {
644
DBG("ifname %s", ifr.ifr_name);
646
memset(&rt, 0, sizeof(rt));
648
rt.rt_dev = ifr.ifr_name;
650
rt.rt_flags = RTF_UP;
652
memset(&addr, 0, sizeof(addr));
653
addr.sin_family = AF_INET;
654
addr.sin_addr.s_addr = INADDR_ANY;
656
memcpy(&rt.rt_genmask, &addr, sizeof(rt.rt_genmask));
658
memcpy(&rt.rt_dst, &addr, sizeof(rt.rt_dst));
660
memcpy(&rt.rt_gateway, &addr, sizeof(rt.rt_gateway));
662
err = ioctl(sk, SIOCADDRT, &rt);
664
connman_error("Setting interface as default route failed (%s)",
671
int connman_inet_set_gateway_address(int index, const char *gateway)
629
673
struct ifreq ifr;
630
674
struct rtentry rt;
651
695
memset(&addr, 0, sizeof(addr));
652
696
addr.sin_family = AF_INET;
653
addr.sin_addr = gateway;
697
addr.sin_addr.s_addr = inet_addr(gateway);
654
698
memcpy(&rt.rt_dst, &addr, sizeof(rt.rt_dst));
656
700
memset(&addr, 0, sizeof(addr));
681
725
memset(&addr, 0, sizeof(addr));
682
726
addr.sin_family = AF_INET;
683
addr.sin_addr = gateway;
727
addr.sin_addr.s_addr = inet_addr(gateway);
684
728
memcpy(&rt.rt_gateway, &addr, sizeof(rt.rt_gateway));
686
730
memset(&addr, 0, sizeof(addr));