virtualsquare / virtualsquare/vde-2

Support for packets bigger than 1504 in vde_switch

Open
#22 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
255
Forks
45
PR merge metrics
No merged PRs in 30d

Description

Hello,

From our testing, it seems that packets bigger than 1504 are dropped by vde_switch.
Simply updating the size of the data in src/vde_switch/port.h to a higher value seems to fix the issue (we put 16384 ourselves instead of 1504).

Before:

root@dut:~# ping 1.1.1.1 -s 1476
PING 1.1.1.1 (1.1.1.1) 1476(1504) bytes of data.
1484 bytes from 1.1.1.1: icmp_seq=1 ttl=64 time=1.44 ms
^C
--- 1.1.1.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.447/1.447/1.447/0.000 ms
root@dut:~# ping 1.1.1.1 -s 1478
PING 1.1.1.1 (1.1.1.1) 1478(1506) bytes of data.
^C
--- 1.1.1.1 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

After the patch, packets are received on the other side.

Could you raise the value, or do you want me to contribute a patch with a higher value?
If I were to contribute, should the value in src/vde_vxlan/vxlan.h be updated as well?

I attached the patch for reference:
0001-add-support-for-jumbo.patch.txt

Regards,
Samuel

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in src/vde_switch/port.h, where the packet data size is limited to 1504, and compare the related value in src/vde_vxlan/vxlan.h. Reproduce the boundary behavior with the ping commands from the issue, then verify that packets larger than 1504 are accepted and the relevant size limits remain consistent.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
networking
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.