[О блоге] [наверх] [пред] [2023-09-25 23:05:52+03:00] [2f81984a64c1340a7839616987b1850b62bbadf3]
Темы: [bgp][bsd][tip]

ECMP в FreeBSD с BIRD заработал

http://lists.cypherpunks.ru/archive/goredo-devel/ZRGx74oYIMB_OUSL@stargrave.org/
https://gitlab.nic.cz/labs/bird/-/commit/a80cd4707464cedb526eb72e7704b097af20beb7
Сегодня день каких-то очевиднейших открытий. Во-первых, в goredo я
поправил неприятное поведение, когда при параллельной сборке он мог
десяток сообщений вывести о том что, мол, resource deadlock avoided при
попытке захвата lock-а на файл. На BSD системах не воспроизводится
вообще. Сегодня попристальнее почитал man по fcntl lock-ам и они явно
говорят, что Linux вполне себе может выдать эту ошибку и когда на самом
деле deadlock-ов никаких нет, мол показалось. Так что с чистой совестью
можно проверять на эту ошибку и просто *молча* пытаться брать lock заново.
Сколько лет это сообщение донимает GNU/Linux пользователей, а я только
сейчас дочитал man до нужного места.

А дальше я решил ещё раз посмотреть в репозиторий BIRD на тему есть ли
там какой прогресс с ECMP (3eeb6b3ec3b4abdd3a25f78402f02f3cf821305e)
поддержкой в FreeBSD. И я же ведь видел этот коммит прежде, аж декабря
прошлого года, но то ли криво собрал, то ли ещё чего ступил прежде, но
сейчас собрал BIRD с bsd-netlink реализацией и... ECMP прекрасно
заработал! Вижу двойные маршруты до одной и той же цели, через разные
интерфейсы. В 190e3364aaed45929ea025671bdc0a331cd6aad0 я обозвал BIRD
слишком уж Linux-центричным, чуть ли не готовым его поменять на FRR
какой-нибудь. Но он реабилитировался, так уж и быть. MTU всё равно для
default route не умеет делать (ну или я ещё не понял как это провернуть),
но да и ладно.

    [оставить комментарий]