2 pitdron
find / -name mdio.h
/usr/src/kernels/2.6.32-358.0.1.el6.x86_64/include/linux/mdio.h
/usr/src/kernels/2.6.32-358.0.1.el6.x86_64/include/config/mdio.h
2 pitdron
find / -name mdio.h
/usr/src/kernels/2.6.32-358.0.1.el6.x86_64/include/linux/mdio.h
/usr/src/kernels/2.6.32-358.0.1.el6.x86_64/include/config/mdio.h
Я пытаюсь завести SR-IOV. На штатном драйвере при попытке
Что бы завести SR-IOV нужно еще и материнку и процессор подходящий.
У меня все заведено на старом драйвере почти без проблем.
Когда я попытался поставить драйвер 4.1.2 полезли страшные ошибки, вернул назад...
Так что я бы не копал в сторону драйвера.
2 AmnoN
Подскажи куда смотреть.
В BIOS'e VT(не помню точное название) включено SR-IOV включено.
Что еще проверить не знаю.
В BIOS'e VT-d должно присутствовать и включено
Тут есть:
http://communities.intel.com/community/wired/blog/2010/03/01/setting-up-red-hat-54-xen-for-sr-iov-using-the-intel-82576-gbe
Но я пользовался другим... не могу никак найти его
Во! Нашел..
http://www.intel.com/content/www/us/en/network-adapters/10-gigabit-network-adapters/ethernet-x520-sr-iov-red-hat-tech-brief.html
Самый толковый гайд.. рекомендую его внимательно изучить.
Так как я перерыл сеть в поисках настройки SR-IOV под KVM
В каждом какой нибудь мелочи не хватало
Есть необходимость собрать драйвер из исходников. При сборке вываливается с ошибкой, причину ошибки нагуглить не удается. Подскажите пожалуйста куда копать.
Копать не нужно. Собсно все добро вида MDIO_EEE_* дефайнится в ядрах 3.7 и выше в сырцах ядра include/uapi/linux/mdio.h. В драйверах этих включены ряд функций из новых ядер, а вот дефайны забыли включить походу.
Я сделал так. На системе с ядром 3.9 забрал эти дефайны:
barsuk@test:~$ cd /usr/src/linux-headers-3.9.0/include/uapi/linux/
barsuk@test:/usr/src/linux-headers-3.9.0/include/uapi/linux$ cat mdio.h | grep _EEE_ | grep "#define"
#define MDIO_PCS_EEE_ABLE 20 /* EEE Capability register */
#define MDIO_PCS_EEE_WK_ERR 22 /* EEE wake error counter */
#define MDIO_AN_EEE_ADV_100TX 0x0002 /* Advertise 100TX EEE cap */
#define MDIO_AN_EEE_ADV_1000T 0x0004 /* Advertise 1000T EEE cap */
#define MDIO_EEE_100TX MDIO_AN_EEE_ADV_100TX /* 100TX EEE cap */
#define MDIO_EEE_1000T MDIO_AN_EEE_ADV_1000T /* 1000T EEE cap */
#define MDIO_EEE_10GT 0x0008 /* 10GT EEE cap */
#define MDIO_EEE_1000KX 0x0010 /* 1000KX EEE cap */
#define MDIO_EEE_10GKX4 0x0020 /* 10G KX4 EEE cap */
#define MDIO_EEE_10GKR 0x0040 /* 10G KR EEE cap */
И засунул их в kcompat.h начиная со строки 3214.
#if ( LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) )
#ifdef ETHTOOL_GEEE
#include <linux/mdio.h>
сюда дефайны
/**
* mmd_eee_cap_to_ethtool_sup_t
* @eee_cap: value of the MMD EEE Capability register
*
* A small helper function that translates MMD EEE Capability (3.20) bits
* to ethtool supported settings.
*/
static inline u32 mmd_eee_cap_to_ethtool_sup_t(u16 eee_cap)
{
Патч не прилагаю ибо далеко от этих машин.
ЗЫ
Даж порегался - один трид по этому вопросу в сети. А баг налицо.