[OVSDB-13] Neutron OF1.3 provider truncates LLDP packets Created: 06/May/14 Updated: 03/May/18 Resolved: 18/May/14 |
|
| Status: | Resolved |
| Project: | ovsdb |
| Component/s: | API |
| Affects Version/s: | unspecified |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Zoltan Lajos Kis | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| External issue ID: | 958 |
| Description |
|
The Neutron OF 1.3 provider sets the max length for LLDP packets to 56 bytes [1]. This results in truncated LLDP packets in OF packet-in messages. As a result LLDPDiscovery will be unable to parse the packets completely (out of bounds exception), and will drop them. |
| Comments |
| Comment by Zoltan Lajos Kis [ 12/May/14 ] |
|
For reference, here is an LLDP message I'm seeing, so I guess the default miss-send-len of 128 "ought to be enough for anybody": LLDP, length 93: openflow:112670452143181 0x0000: 0180 c200 000e 6679 2246 d44d 88cc 0207 ......fy"F.M.... |
| Comment by Brent Salisbury [ 17/May/14 ] |
|
Resolved with patch as soon as it merges https://git.opendaylight.org/gerrit/7144 Here is the datapath output after adjusting the length to 5bytes. Thanks for reporting this Zoltan, |
| Comment by Zoltan Lajos Kis [ 18/May/14 ] |
|
I'm not sure I get this. The max_length should be increased; or even set to 0xffff, as there is no point in buffering the LLDP packets anyway. By setting max_length to five you only get the first five bytes of the packet. |
| Comment by Brent Salisbury [ 18/May/14 ] |
|
Yeah you're right, i was misreading the spec. I deleted the whole line and set the buffer to 0. Feel free to patch or add a specific method with a buffer if you need payload. |
| Comment by Zoltan Lajos Kis [ 18/May/14 ] |
|
I thought it was topology discovery that needed the body of LLDP messages - to correlate ports for the topology. If there is no need for that, what's the point of this flow entry at all? |