Вы можете создать функцию bash(и поместить ее в свой ~/.bashrc
), которая использует IFS
для разделения MAC-адреса на 6 групп, разделенных двоеточием -, и собирает их. Вам также нужно перевернуть 7-й старший бит, то есть бит 1 первого байта:
mac_to_ipv6_ll() {
IFS=':'; set $1; unset IFS
echo "fe80::$(printf %02x $((0x$1 ^ 2)))$2:${3}ff:fe$4:$5$6"
}
Пример использования:
$ mac_to_ipv6_ll 12:34:56:78:90:12
fe80::1034:56ff:fe78:9012
Это было вызвано активным управлением питанием беспроводной сетевой карты.
Запуск этой команды, которая отключает управление питанием для сетевой карты, исправил это:
sudo iwconfig wlp3s0 power off
Похоже, что управление питанием для этой конкретной сетевой карты стало активным с очень коротким тайм-аутом. Например, отсутствие передачи трафика в течение ~200 мс переводит сетевую карту в режим пониженного энергопотребления. Это означало, что сетевую карту приходилось постоянно активировать при малых объемах трафика, что приводило к задержке пакетов.