Skip to content

buevsan/libsfp

Repository files navigation

libsfp - это библиотека для работы с SFP/SFP+ модулями.

Библиотека разработана в недрах компании Метротек для коммутатора X10-24

##Стандарты

Библиотека разработана согласно стандарту SFF-8472

##Возможности:

  • Чтение всей информации из банков памяти SFP/SFP+ модуля и вывод на терминал в читаемом виде.

  • Выборочное чтение информации для определения:

    1. Скорости работы модуля 1G/10G
    2. Факта является ли модуль "медным" или оптическим
    3. Факта является ли модуль Dirrect attach кабелем

##Банки памяти:

Согласно стандарту информация в SFP модулях разделена на два банка(две области) памяти с адресами A0h и A2h. При подключении модулей по шине I2C эти адреса сдвигаются вправо на один бит (50h 51h) тк на этой шине 7-ми битная адресация.

Библиотека позволяет менять эти адреса на произвольные и использует их при вызове внешней функции чтения.

По умолчанию эти адреса 50h 51h соответственно.

##Особенности:

Для чтения банков памяти библиотека использует callback функцию предоставляемую пользователем.

typedef int(*sfp_readregs_fun_t)(void *udata, uint8_t addr, uint16_t start, uint16_t count, void *data);

В эту функцию в качестве параметров передается следующее:

  • void *udata - произвольный указатель предоставляемый пользователем (задается в настройках)

  • uint8_t addr - адрес банка на внешней шине (задается в настройках по умолчанию 0x50 0x51)

  • uint16_t start - смещение внутри банка

  • uint16_t count - кол-во байт которые надо считать

  • void *data - указатель на буфер куда небходимо поместить данные

Таким образом функционал библиотеки отделен от способа доступа(чтения) к модулю.

##Использование:

Пример использования API библиотеки в sfp-dump.c

##Скрипт для чтения образа:

Скрипт sfp-dump позволяет считать образ банков памяти SFP модуля в файл. Этот скрипт в качестве параметров принимает номер i2c шины и имя выходного файла.

Образ может быть разбит на два файла (A0 A2 соотвественно банкам) - в этом случае утилита сохраняет два файлы с суфиксом a0 и a2 соотвественно.

##Пример использования утилит:

read-sfp-dump 2 dumpfile - считать образ памяти с i2c шины 2 и поместить в файл dumpfile

sfp-dump -v dumpfile.bin - показать все содержимое файла образа

##Тестовые образы:

В каталоге dumps: находятся тестовые образы памяти записанные скриптом sfp-dump на реальном оборудовании.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages