Hello All,
I am a newbie here. I am working on a link layer device to fit for a special
scenario, which is as follows:
Host 1 --- My Device --- Host2
At the very beginning, Host 1 and Host 2 are TCP connected. In this case, my
device are introduced in the link between Host 1 and Host 2. What I have to do
can be summarized as three folds:
(1) My device should be a link layer device to work without any affects for
Host 1 and Host 2, in that case, no device in Host 1 and Host 2 needs to change
current configurations, which are really not easy in my scenario. Host 1 and
Host 2 can communicate with each other just like no my device are involved.
(2)Host 1 and Host 2 are out of my control, no product provider will support me
to change even a character.
(3)My device should sign application layer payload and put signing values back
to the application data, which are then encapsulated back to the TCP packet
stream.
We are not sure that, how can we process those changed TCP packets to deal with
various retransmissions like out-of-order, packet loss and so on. I am also
review the previous threads in this mailing list. But as a newbie, I am not
sure if I should turn to F-stack, KNI for the help from the protocol stack, or
program a state checking applications in DPDK to calculate TCP sequence number
and cache previous data for possible retransmission by myself. Or you may have
better solution suggestions for us.
We are really appreciate your kind response.
Thank you and have a nice day.
Xiang