devname = ifr.ifr_name;
if (type == ARPHRD_ETHER) {
- char bridge_path[PATH_MAX], wimax_path[PATH_MAX];
+ char bonding_path[PATH_MAX];
+ char bridge_path[PATH_MAX];
+ char wimax_path[PATH_MAX];
struct stat st;
struct iwreq iwr;
char *devnode;
+ snprintf(bonding_path, PATH_MAX,
+ "/sys/class/net/%s/bonding", devname);
snprintf(bridge_path, PATH_MAX,
"/sys/class/net/%s/bridge", devname);
snprintf(wimax_path, PATH_MAX,
devtype = CONNMAN_DEVICE_TYPE_WIMAX;
else if (stat(bridge_path, &st) == 0 && (st.st_mode & S_IFDIR))
devtype = CONNMAN_DEVICE_TYPE_UNKNOWN;
+ else if (stat(bonding_path, &st) == 0 && (st.st_mode & S_IFDIR))
+ devtype = CONNMAN_DEVICE_TYPE_UNKNOWN;
else if (ioctl(sk, SIOCGIWNAME, &iwr) == 0)
devtype = CONNMAN_DEVICE_TYPE_WIFI;
else