LINUX.ORG.RU

сетевой драйвер - определение alias в hard_start_xmit


0

0

Добрый день. Подскажите, пожалуйста, можно ли в функции hard_start_xmit сетевого драйвера перед отправкой пакета определить alias, с какого он был отправлен?

Например у меня есть eth1:0 и eth1:1. int hard_start_xmit(struct sk_buff *skb, struct net_device *dev) dev->name всегда равен "eth1".

Спасибо.


теоретически, исходя из того, что у интерфейсов eth1:0 и eth1:1 могут быть назначены разные ip-адреса, можно подсмотреть source ip address из ethernet header'a. Будет ли это практически работать и является ли это наиболее правильным решением -- не знаю.

anonymous
()

внимательно смотри на определение net_device и особое внимание обрати на список структур in_addr. каждая структура - это алиас

anonymous
()
Ответ на: комментарий от anonymous

> теоретически, исходя из того, что у интерфейсов eth1:0 и eth1:1 могут быть назначены разные ip-адреса, можно подсмотреть source ip address из ethernet header'a. Будет ли это практически работать и является ли это наиболее правильным решением -- не знаю.

Этот вариант будет работать, если таргет сам отправляет пакеты. В моем случае он является маршрутизатором, поэтому source ip может быть каким угодно.

> внимательно смотри на определение net_device и особое внимание обрати на список структур in_addr. каждая структура - это алиас

Что-то я в struct net_device не нашел никакого списка in_addr. А даже если бы и нашел, то как определить, что этот пакет предназначен для этого алиаса?

Reks
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.