Volodymyr
смотришь ттх
Volodymyr
покупаешь
Volodymyr
он грит, что лукап O(n)
Volodymyr
ты такой - окай
Dmitry
Просто by design математика нужна больше разрядности проца и всё, приехали.
для того. чтобы вытащить из пакета 24-х битный MAC адрес за один заход, тебе нужен 24-х битная математика, на любой другой - это усложнение
sexst
для того. чтобы вытащить из пакета 24-х битный MAC адрес за один заход, тебе нужен 24-х битная математика, на любой другой - это усложнение
Нужна >=24битной. Возможно выравнивание подкинет производительности, это зависит от архитектуры.
Dmitry
ну так пейсатели RFC не задумывались об архитектуре
Andrey
sexst
И он 48битный. 6 байт * 8 бит
Andrey
Презентация свежих серверов Fujitsu
Dmitry
им было главное - побольше данных впихнуть как можно в меньший объем
sexst
Тогда 8 бит были нормой какбе.
Igor
ну так пейсатели RFC не задумывались об архитектуре
чот ты путаешь вообще тёплое с мягким
Igor
ты посмотри время, когда ethernet разрабатывался
Igor
ну то есть дату
Igor
ну то есть это всё равно, что псить на в4, мол, не подумали, а он кончился
Igor
1982
это дата стандартизации
Igor
началось всё в 70-х
Roman
ну так пейсатели RFC не задумывались об архитектуре
я думаю что это не их задача от слова СОВСЕМ
Igor
почти 50 лет назад
Dmitry
я понимаю, но уже давно можно было перейти на 32-х битные MAC адреса, хотя бы
Stanislav
зачем
Roman
Хардкодится на архитектуры текущие это прям бэд дизайн
sexst
Как перейти с 48 бит на 32?
Volodymyr
Как перейти с 48 бит на 32?
отрезать лишние биты
Volodymyr
не благодари
sexst
6 * 8 =48
Dmitry
зачем
чтобы смена MAC адреса выглядила как "new_dst = dst"
Andrey
Угу. А что ?
Dmitry
ну тогда 64-х битный
sexst
отрезать лишние биты
Каждый третий бит выкинуть предлагаю
Igor
какая смена то ?)
это бесполезно
Dmitry
какая смена то ?)
тебе показать кусок на x86 ассемблере ?
Igor
человек думает, что всё PC-based
Igor
и нет охулиарда денег в индустрии
Volodymyr
тебе показать кусок на x86 ассемблере ?
покажи. я правда мало, что пойму. но интересно )
Dmitry
memcpy чем не нравится?
memcpy вместо простого присваивания одного 64-х битного числа другому ?
sexst
ну тогда 64-х битный
Нахуа? 64битные операции позволяют 48 бит за одну операцию воткнуть, главное чтобы внутрь выравнивания попали. И что-то мне говорит что 48 бит попадут в один блок с бОльшей вероятностью чем 64.
Andrey
Купи оптан, купи 56 ядер на проц. Чо ты как жадина
sexst
человек думает, что всё PC-based
Ну срач про pc based и начинался
Volodymyr
а какой практический кейс менять dst-mac ? )
Igor
Ну срач про pc based и начинался
ну нельзя, как мен кажется, игнорировать индустрию сетевого оборудования, которое уже есть и которое НЕ PC-based, разрабатывая какой-то шайни нью изернет, да?
sexst
а остальные 16 бит ? нулями забивать ?
Эмммм. Оно в память подкапотно все равно блоками по 8 байт гоняется
Dmitry
а какой практический кейс менять dst-mac ? )
при обычной маршрутизации в пакете меняются MAC адреса
Andrey
Буллшит бинго
sexst
Считали, поменяли, записали
Igor
нет )
у них наверное в каком-нибудь драйвере, код которого он посмотрел, так делается
Volodymyr
там один заголовок нахер, новый формируется с src/dst mac
Stanislav
это сейчас делается инструкцией в процессоре
Volodymyr
новыми
Volodymyr
а ты гришь про dst mac
Volodymyr
онли
sexst
Одинаково. Считали. Записали. Поменяли.
Volodymyr
я и спрашиваю, какой практический кейс менять только dst mac
Volodymyr
)
Dmitry
у нас есть инструкции проца, которые умеют работать с 48-ми битными числами ?
sexst
Comic sans нужно было
Igor
это свитч, который псит на твою сеть
Vladimir
кривые свичи, найс
Igor
завтра с тобой пошейпим?
Igor
почему не сегодня?
Igor
а сегодня будем полисить?
Igor
а как же дропы?
sexst
Ps witch Это ведьма с minidin разъемом под клавиатуру. Не благодарите.
Igor
а у меня LFN
Volodymyr
https://github.com/emmericp/dpdk/blob/master/examples/l2fwd/main.c
Dmitry
я и спрашиваю, какой практический кейс менять только dst mac
я для примера привел только одно поле из фрейма ethernet+ip
Ilya