Hi
I just spent effort porting our app that uses TCP/IP messaging from
QNX4.24 to QNX6.1.0. I’m observing that the newer platform is
fragmenting the TCP/IP messages. This is causing problems on the
receiving end (due to poor implementation of the receiving algorithm).
Is there a socket option that I can set at the IP level such that it
leaves a message intact and sends it as a single packet? Using a sniffer
I noted that the “Do Not Fragment” flag is NOT being set on outgoing
packets.
Thanks,
Santosh
tcp is a stream protocol. It can be sent in any size chunks, there
is no option to disable this. The DF bit in the ip header is a hint
to intermediate routers to not perform ip fragmentation but send
back an icmp fragmentation required packet instead. This is different
than splitting up the actual tcp stream.
-seanb
Santosh Patil <sansjunk@hotmail.com> wrote:
: Hi
: I just spent effort porting our app that uses TCP/IP messaging from
: QNX4.24 to QNX6.1.0. I’m observing that the newer platform is
: fragmenting the TCP/IP messages. This is causing problems on the
: receiving end (due to poor implementation of the receiving algorithm).
: Is there a socket option that I can set at the IP level such that it
: leaves a message intact and sends it as a single packet? Using a sniffer
: I noted that the “Do Not Fragment” flag is NOT being set on outgoing
: packets.
: Thanks,
: Santosh
Why is it that the same code does not fragment messages in QNX4.24?
Does it have anything to do with the MTU?
-Santosh
Sean Boudreau wrote:
tcp is a stream protocol. It can be sent in any size chunks, there
is no option to disable this. The DF bit in the ip header is a hint
to intermediate routers to not perform ip fragmentation but send
back an icmp fragmentation required packet instead. This is different
than splitting up the actual tcp stream.
-seanb
Santosh Patil <> sansjunk@hotmail.com> > wrote:
: Hi
: I just spent effort porting our app that uses TCP/IP messaging from
: QNX4.24 to QNX6.1.0. I’m observing that the newer platform is
: fragmenting the TCP/IP messages. This is causing problems on the
: receiving end (due to poor implementation of the receiving algorithm).
: Is there a socket option that I can set at the IP level such that it
: leaves a message intact and sends it as a single packet? Using a sniffer
: I noted that the “Do Not Fragment” flag is NOT being set on outgoing
: packets.
: Thanks,
: Santosh
Santosh Patil <sansjunk@hotmail.com> wrote:
Why is it that the same code does not fragment messages in QNX4.24?
Does it have anything to do with the MTU?
The decision of when/how fragment a packet, is decided by stack
(different stack have different algorithm), memory use, timing …
You really should fix that receiving algorithm.
-xtang
-Santosh
Sean Boudreau wrote:
tcp is a stream protocol. It can be sent in any size chunks, there
is no option to disable this. The DF bit in the ip header is a hint
to intermediate routers to not perform ip fragmentation but send
back an icmp fragmentation required packet instead. This is different
than splitting up the actual tcp stream.
-seanb
Santosh Patil <> sansjunk@hotmail.com> > wrote:
: Hi
: I just spent effort porting our app that uses TCP/IP messaging from
: QNX4.24 to QNX6.1.0. I’m observing that the newer platform is
: fragmenting the TCP/IP messages. This is causing problems on the
: receiving end (due to poor implementation of the receiving algorithm).
: Is there a socket option that I can set at the IP level such that it
: leaves a message intact and sends it as a single packet? Using a sniffer
: I noted that the “Do Not Fragment” flag is NOT being set on outgoing
: packets.
: Thanks,
: Santosh