From: Horst2007 on
I'm actually working with UDP1.0.9 to send UDP packets.

Them problem is: It seems the biggest possible packet size for tcludp
is 4096 B (4 KB).
But in the current situation I need to send packets with 15-20 KB size
in the local net.

Is there any chance to send such big packets?
Using Tcl 8.5

Hope you can help me.
From: Uwe Klein on
Horst2007 wrote:
> I'm actually working with UDP1.0.9 to send UDP packets.
>
> Them problem is: It seems the biggest possible packet size for tcludp
> is 4096 B (4 KB).
> But in the current situation I need to send packets with 15-20 KB size
> in the local net.
>
> Is there any chance to send such big packets?
> Using Tcl 8.5
>
> Hope you can help me.

The format would support short of 65k bytes.

The physical transport layer limits your packets size to
just short of the MTU value.
see http://en.wikipedia.org/wiki/MTU_(networking)
and http://en.wikipedia.org/wiki/Jumbo_Frames

it is a tin of worms better kept closed (or opened with much care).

uwe
From: Alexandre Ferrieux on
On May 9, 11:14 am, Uwe Klein <uwe_klein_habertw...(a)t-online.de>
wrote:
> Horst2007 wrote:
> > I'm actually working with UDP1.0.9 to send UDP packets.
>
> > Them problem is: It seems the biggest possible packet size for tcludp
> > is 4096 B (4 KB).
> > But in the current situation I need to send packets with 15-20 KB size
> > in the local net.
>
> > Is there any chance to send such big packets?
> > Using Tcl 8.5
>
> > Hope you can help me.
>
> The format would support short of 65k bytes.
>
> The physical transport layer limits your packets size to
> just short of the MTU value.
> see    http://en.wikipedia.org/wiki/MTU_(networking)
> and    http://en.wikipedia.org/wiki/Jumbo_Frames
>
> it is a tin of worms better kept closed (or opened with much care).

For this kind of need (and any extra that tcludp doesn't provide, like
fast destination switching), I tend to spawn an external process that
does the sendto()s, and feed data to it through its stdin. The
protocol to use on the pipe has to specify packet boundaries, a
feature that neither netcat nor socat provide (they only provide max
packet size, targetting payloads that can be cut anywhere). For this
reason the external process is handmade. I'd love to hear about a
netcat-alike doing the same.

-Alex
From: Uwe Klein on
Alexandre Ferrieux wrote:
> I'd love to hear about a
> netcat-alike doing the same.
>
> -Alex

there is an easy solution for bash users:

exec /bin/bash -c "echo $packet \>/dev/udp/$host/$port" ;-)

uwe
From: Alexandre Ferrieux on
On May 11, 8:11 am, Uwe Klein <uwe_klein_habertw...(a)t-online.de>
wrote:
> Alexandre Ferrieux wrote:
> > I'd love to hear about a
> > netcat-alike doing the same.
>
> > -Alex
>
> there is an easy solution for bash users:
>
>         exec /bin/bash -c "echo $packet \>/dev/udp/$host/$port" ;-)
>
> uwe

Yes, too bad it doesn't scale up (internally it will re-create the
socket for each packet, possibly taking a new local port each time),
and doesn't allow for binary data...

-Alex