Форум — Development Узнать VLAN по сокету 0 0 Всем привет! У меня такой вопрос: как можно (и можно ли вообще) узнать по сокету VLAN ID? Существует ли какой-нибудь getsockopt для этих целей? Ссылка
сомневаюсь. виланы - транспорт. а сокеты открываются "выше". Pi ★★★★★ (17.11.07 18:56:17 MSK) Показать ответ Ссылка
Ответ на: комментарий от Pi 17.11.07 18:56:17 MSK А по интерфейсу? Goganchic ★★ (17.11.07 21:51:33 MSK) автор топика Показать ответы Ссылка
Ответ на: комментарий от Goganchic 17.11.07 21:51:33 MSK Не совсем понял, что вы хотите. По идее пакет может придти с любого интефейса/VLAN'а и попасть в сокет. Ну распарсите /proc/net/vlan/config и узнаете какому интерфейсу какой VLAN пренадлежит... mky ★★★★★ (18.11.07 01:20:50 MSK) Ссылка
Ответ на: комментарий от Goganchic 17.11.07 21:51:33 MSK по интерфейсу узнать можно, но уже не из user-space приложения, на сколько мне известно. asgard ★ (18.11.07 03:22:56 MSK) Ссылка
Ответ на: комментарий от Goganchic 17.11.07 21:51:33 MSK ну по интерфейсу, стественно, можно, т.к. эти самые виланы "метериализируются" в виде интерфейсов. Pi ★★★★★ (18.11.07 12:33:55 MSK) Показать ответ Ссылка
Ответ на: комментарий от Goganchic 17.11.07 21:51:33 MSK > А по интерфейсу? Ether ? Можно. Поймать ethernet пакет вместе с заголовком, если unsigned short по смещению 12 равен 0x8100,то: VLAN_ID=((unsigned short*)(ðer_header[14])) & 4096; Darkman ★★★ (19.11.07 12:53:32 MSK) Ссылка
Ответ на: комментарий от Pi 18.11.07 12:33:55 MSK >ну по интерфейсу, стественно, можно, т.к. эти самые виланы "метериализируются" в виде интерфейсов. так-так-так, т.е. на один и тот же интерфейс не могут прийти два пакета с разными vlan-ами? Goganchic ★★ (19.11.07 17:34:02 MSK) автор топика Ссылка