UDP的FULLNAT模式下,cksum错
- Dominant language
- C
- Stars
- 2k
- Forks
- 679
- PR merge metrics
- No merged PRs in 30d
Description
keepalived.conf如下:
local_address_group laddr_g1 {
XX.XX.XX.XX
}
virtual_server XX.XX.XX.XX XXXX {
delay_loop 30
lb_algo rr
lb_kind FNAT
protocol UDP
laddr_group_name laddr_g1
```
real_server XX.XX.XX.XX XXXX {
weight 1
}
```
}
修改proc参数:
echo 0 > /proc/sys/net/ipv4/vs/defence_udp_drop
# ethtool -k eth1
Features for eth1:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: on
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: off
large-receive-offload: off
ntuple-filters: off
receive-hashing: on
现象是RS上可以收到LVS转发过来的UDP包,但是checksum出错,RS的内核直接丢弃。
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the provided keepalived.conf FULLNAT UDP configuration and the /proc/sys/net/ipv4/vs/defence_udp_drop setting. Compare the checksum on packets forwarded to the real server with the checksum generated or observed by LVS, using the eth1 feature information as context. Done means the real server accepts the forwarded UDP packets without checksum errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, linux
- Domain
- networking, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100