iqiyi / dpvs

DPVS is a high performance Layer-4 load balancer based on DPDK.
Other
3k stars 723 forks source link

ospf issue #124

Open treemanzhou opened 6 years ago

treemanzhou commented 6 years ago

hi 今天我搭建了一下你们的dpvs (fullnat one-arm) ,在启用ospf的时候,如过我在dpdkx.kni上配置多个IP的时候(有vip)会出现ospf neighbor flapping的情况,至剩下一个connect ip 的时候正常,我是按照/doc/tutor.md来做的, 能不能帮我解决一下,万分感谢

beacer commented 6 years ago

不是很理解neighbor flapping,不过我们的ospf配置只通告互联网络(例如,172.10.0.0/30)和VIP.线上也是支持通告多个VIP的,多个VIP要通过ospf通告的话,

  1. 每个VIP都要写到ospfd配置文件
  2. 每个VIP都要配置到ospfd运行的Linux接口(xxx.kni)上,(使用ip addr add xxx.xxx.xxx.xxx/xx dev xxx.kni
  3. 交换机侧和dpvs侧的ospf配置要匹配,比如point-to-point,比如auth等.
log file /var/log/quagga/ospf.log
log stdout
log syslog
password ****
enable password ****
interface dpdk1.kni      # should be wan-side kni device
ip ospf hello-interval 10
ip ospf dead-interval 40
router ospf
ospf router-id 192.168.100.200 # just use LAN IP
log-adjacency-changes
auto-cost reference-bandwidth 1000
network 172.10.0.0/30 area 0.0.0.0 # announce inter-connection network
network 123.1.2.3/32 area 0.0.0.0 # announce VIP1
network 123.1.2.4/32 area 0.0.0.0 # announce VIP2
treemanzhou commented 6 years ago

就是我发现如过在kni接口上配置一个以上IP的时候quagga的ospf neighbor就一会down一会UP 不知道是不是我落下了什么。 我的配置是: 1、vip和connectip 全部配置再了kni上面不配置到dpdkx端口。 2、在./dpip 把connectip/32 静态指到了scope kni_host dpdkx端口上。 3、直接用ospfd 宣告vip和connectip

treemanzhou commented 6 years ago

我的 quagga的版本是1.2.2

beacer commented 6 years ago

我们的版本是ospfd version 0.99.22.4,两边抓包看看,有没有收到对方的hello,如果没收到可能是路由设置问题.kni接口和交换机.

treemanzhou commented 6 years ago

嗯 而且我通过静态把路由指到了lvs 发现数据没通过kni接口到达dpdk接口。就是如下图 ,我从其他服务器是可以ping通10.20.3.172 但是telnet 10.20.3.172 7000端口不通,而且在ipvsadm -ln 的ActiveConn InActConn count一直是0 image image image image

nomyself commented 3 years ago

@treemanzhou dpip neigh show 看是不是空的。执行 dpip addr add 172.30.0.169/30 dev dpdk0 再看看

syq9988 commented 2 years ago

u need let only transit address build the ospf neighbor add these command can mute VIP for ospf.

router ospf passive-interface dpdk0.kni x.x.x.x