Возможно, вы забыли настроить интерфейс?

аюсь получить и установить IP-адрес с помощью интерфейса IOCTL в Linux. Я успешно смог получить и установить его. Когда я устанавливаю IP-адрес,ifconfig eth0 показывает правильный IP-адрес, но затем система отключается. система не пингуется. Вот мой код для установки IP-адреса. Пожалуйста, дайте мне знать, если я что-то упустил.

struct ifreq ifr;
in_addr_t in_addr;
struct sockaddr_in sin;

memset(&ifr, 0, sizeof(struct ifreq));
memset(&sin, 0, sizeof(struct sockaddr_in));
sockfd = socket(AF_INET, SOCK_STREAM, 0);
sprintf(ifr.ifr_name, "eth0");
in_addr = inet_addr("192.168.101.17");
sin.sin_addr.s_addr = in_addr;
memcpy(&ifr.ifr_addr, &sin, sizeof(struct sockaddr));
io = ioctl(sockfd, SIOCSIFADDR, (char *)&ifr);

Ответы на вопрос(2)

Ваш ответ на вопрос