LCM Defragmentation Support - #449
Conversation
|
Hello @gconnell! |
|
Hey, Taco, sorry for the slow response on this; review just slipped my mind. The biggest sticking point for me right now is the |
|
No problem! Yeah, that sounds like a good idea. I guess that this would then also apply for the ip4defrag packet (which IMHO should be under defrag as well)? Let me amend on Monday! Have a nice weekend! |
|
yep, sounds good. let's not do the ip4defrag switch as part of this pull (we'll want to do some silly type aliasing and stuff to not break compatibility), but I think long-term it's a fine idea. |
|
Yeah, I wasn't talking about this PR. Should definetely be a separate one! |
As discussed in google#449, the defragmenter was moved to a seperate package that will only contain the LCM defragmenter. This is done in order to enable a more clean package setup.
1d07ce5 to
302008a
Compare
As discussed in google#449, the defragmenter was moved to a seperate package that will only contain the LCM defragmenter. This is done in order to enable a more clean package setup.
302008a to
0f6fc69
Compare
As discussed in google#449, the defragmenter was moved to a seperate package that will only contain the LCM defragmenter. This is done in order to enable a more clean package setup.
0f6fc69 to
49082dd
Compare
As discussed in google#449, the defragmenter was moved to a seperate package that will only contain the LCM defragmenter. This is done in order to enable a more clean package setup.
|
So there's good news and bad news. 👍 The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there. 😕 The bad news is that it appears that one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that here in the pull request. Note to project maintainer: This is a terminal state, meaning the |
This patch includes support for defragmentation of LCM packages, as specified in the LCM protocol description (https://lcm-proj.github.io/udp_multicast_protocol.html). This patch code should also be used in combination with an upcoming PR towards the GitHub LCM repository that adds golang + gopacket support.
As the LCM defragmenter will build the defragmented package under the header of the very first fragment, NextLayerType() should return the matching LayerType() in case the message is not fragmented or the first message of a fragmented one. Otherwise (all other fragmented messages), the method should return LayerTypeFragment. This patch fixes that.
As discussed in google#449, the defragmenter was moved to a seperate package that will only contain the LCM defragmenter. This is done in order to enable a more clean package setup.
49082dd to
11f31cf
Compare
|
CLAs look good, thanks! |
|
Ignore the mess that was in between here. Now it looks nice 😎 |
|
Great, thanks for the fast turn-arounds! |
As discussed in google#449, the defragmenter was moved to a seperate package that will only contain the LCM defragmenter. This is done in order to enable a more clean package setup.
As discussed in google#449, the defragmenter was moved to a seperate package that will only contain the LCM defragmenter. This is done in order to enable a more clean package setup.
Hello again!
This patch includes support for defragmentation of LCM packages, as specified in the LCM protocol description (https://lcm-proj.github.io/udp_multicast_protocol.html).
As my PR before, this patch is intended to be used in combination with an open PR (lcm-proj/lcm#220) towards the GitHub LCM repository that adds golang + gopacket support.
As you can see, I put the defragmenter into a package called
defrag. My suggestion is that the IPv4 defragmenter is also moved there as well and is renamed toipv4defrag.go(andipv4defrag_test.gorespectively). IMHO this would be a bit more cleaner in case new defragmenters should come in. If you agree, I would open another PR for that.Thanks for your openness towards new protocols 👍 😎