Втыкаем карточку пихаем модуль включаем
#dmesg | tail
[ 227.694482] ixgbe 0000:03:00.0: >failed to load because an unsupported SFP+ module type was detected.
[ 227.708667] ixgbe 0000:03:00.0: >Reload the driver after installing a supported module.
Если видим такую хрень нас ожидает секс :)
#apt-get install linux-headers-`uname -r` linux-source-2.6.32 gcc autoconf make
#cd /usr/src
#tar -xjf linux-source-2.6.32.tar.bz2
#cd linux-source-2.6.32
#make oldconfig && make prepeare && make modules_prepare
Теперь ищем что-то типа (!(enforce_sfp
в файле drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
и перед ней вставляем строку enforce_sfp |= IXGBE_DEVICE_CAPS_ALLOW_ANY_SFP;
должно получиться что то типа
hw->mac.ops.get_device_caps(hw, &enforce_sfp);
enforce_sfp |= IXGBE_DEVICE_CAPS_ALLOW_ANY_SFP;
if (!(enforce_sfp &
Теперь набираем
#make -C /usr/src/linux-headers-2.6.32-5-amd64 SUBDIRS=/usr/src/linux-source-2.6.32/drivers/net/ixgbe modules
#cp /usr/src/linux-source-2.6.32/drivers/net/ixgbe/ixgbe.ko /lib/modules/2.6.32-5-amd64/kernel/drivers/net/ixgbe
#rmmod ixgbe
#modprobe ixgbe
#ifconfig eth0 #- проверям поднялся ли интервейс
Должно быть все гуд.
Ну пару твиков напоследок, накидаем скриптик. Отключаем все overflow и раскидываем вручную по прерываниям.
#!/bin/bash
/sbin/ethtool -K eth0 tso off gso off gro off
/sbin/ethtool -A eth0 autoneg off rx off tx off
ncpus=`grep -ciw ^processor /proc/cpuinfo`
test "$ncpus" -gt 1 || exit 1
filenn=`mktemp`
echo "0">"$filenn"
for mpart in eth0
do
n=`cat "$filenn"`
for irq in `cat /proc/interrupts |grep " ${mpart}-"|cut -d: -f1 |tr -d ' '`
do
f="/proc/irq/$irq/smp_affinity"
test -r "$f" || continue
cpu=$[$ncpus - ($n % $ncpus) - 1]
if [ $cpu -ge 0 ]
then
mask=`printf %x $[2 ** $cpu]`
echo "$mask" > "$f"
echo "$n $mpart" "$mask" "$f"
let n+=1
fi
echo "$n">"$filenn"
done
done
И добавим в файл /etc/sysctl.conf
#Этих параметров в дебиане нет в других возможно понадобятся
#net.ipv4.netfilter.ip_conntrack_max = 2097152
#net.netfilter.nf_conntrack_expect_max = 2097152
#
#net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 60
#net.netfilter.nf_conntrack_tcp_timeout_time_wait = 20
#net.netfilter.nf_conntrack_tcp_timeout_established = 12500
#net.netfilter.nf_conntrack_udp_timeout_stream = 60
#
net.ipv4.tcp_syn_retries = 4
net.ipv4.tcp_synack_retries = 4
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_fin_timeout = 15
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 10000
net.core.rmem_default = 16777216
net.core.wmem_default =16777216
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 287160 16777216 16777216
net.ipv4.tcp_wmem = 287160 16777216 16777216
net.ipv4.ip_local_port_range=1024 65500