ETTV Public beta 7

Official ET Pro announcements here...

Moderators: Forum moderators, developers

User avatar
deej
Posts: 743
Joined: Fri Mar 19, 2004 12:44 am
Location: Belgium!
Contact:

Post by deej »

bani wrote:probably not. one way to find out :)
And that's what I'm doing right now :). I'm running the following servers with ettv.x86 b7:

- 2 war servers with ETPro 3.2.0
- 1 SW server with ETPro 3.2.2 test 2
- 1 Campaign server with ETPro 3.2.1
- 2 ETPub 0.6.0 servers (yep ;-))

All have ettv_sv_iptos 16. Keep you posted on the results.
Our servers now run on 64 bit steroids. Point your ET to:
- Forgotten Ground StopWatch Server with occasional wolfrof 1
- Fraggle Rock ETPub Server - Mix up ET/UT & Duke Nukem
User avatar
bani
Site Admin
Posts: 2780
Joined: Sun Jul 21, 2002 3:58 am
Contact:

Post by bani »

also: ettv_mtu must be set from commandline, it cannot (yet) be changed on the fly.

@-=[VP]+arni+=-:
i just tested, iptos 16 did work for me, packets were marked and routed cleanly across the USA, 2776 miles distance, and arrived at destination properly marked iptos 16. :D

Code: Select all

13:01:06.008169 IP (tos 0x10, ttl  53, id 14943, offset 0, flags [+], proto 17, length: 1500) 66.x.x.158.29002 > 65.y.y.48.27972: UDP, length 11761
whether it is priority routed depends on your ISP, but iptos does not seem to get removed by any network in the USA. (in fact if it did, it would break things like quicktime, skype, and realplayer which all use iptos).

also note the nice datagram length 11761 8)
User avatar
arni
Posts: 188
Joined: Sun Feb 20, 2005 2:32 pm

Post by arni »

hmm then it must have changed some time ago or the scientific paper about the advantages of ipv4 that i read was wrong.

They stated that in ipv4 most routers disregard iptos and even remove it and that tos will thus first become a mandatory feature in ipv6

Nice that it gets routed, but i still doubt that routers will care


EDIT: does someone have an active (14+ players) ettv b7 server in the US i can quickly connect to? - if it works over the big pond without problems its likely that this lag problem is fixed

EDIT2: Can you make a reasonably big datagram size default value then? - because otherwise dumb (oh well less experienced) admins will forget and we have the same problem again
Image
User avatar
bani
Site Admin
Posts: 2780
Joined: Sun Jul 21, 2002 3:58 am
Contact:

Post by bani »

-=[VP]+arni+=- wrote:hmm then it must have changed some time ago or the scientific paper about the advantages of ipv4 that i read was wrong.

They stated that in ipv4 most routers disregard iptos and even remove it and that tos will thus first become a mandatory feature in ipv6
probably you are confusing this with source routing.
-=[VP]+arni+=- wrote:Nice that it gets routed, but i still doubt that routers will care
actually ciscos care by default, you have to manually disable it. linux uses iptos by default also, to prioritize outgoing packets. i dont even think you can disable it on linux.
EDIT2: Can you make a reasonably big datagram size default value then? - because otherwise dumb (oh well less experienced) admins will forget and we have the same problem again
the problem is that not all networks may handle large datagrams properly, this is why it's left at default. it might be possible to make the slave able to request large mtu from the master though, instead of having to require the master to set it.
User avatar
arni
Posts: 188
Joined: Sun Feb 20, 2005 2:32 pm

Post by arni »

bani wrote:the problem is that not all networks may handle large datagrams properly, this is why it's left at default. it might be possible to make the slave able to request large mtu from the master though, instead of having to require the master to set it.
correct me if i'm wrong, but from my experiences more networks have problems with too high packet numbers than with higher datagram size.

But allowing the slave to request it would also be good

--> could dropped packets on bursts also be caused by a too low /proc/sys/net/core/rmem_max & /proc/sys/net/core/wmem_max ?


EDIT:
bani wrote:actually ciscos care by default, you have to manually disable it. linux uses iptos by default also, to prioritize outgoing packets. i dont even think you can disable it on linux.
afaik tos is not part of the linux kernel routing features, so its also not on by default. traffic shaping by iptos or similar is offered by the "tc" package which is not in kernel ...
Image
User avatar
bani
Site Admin
Posts: 2780
Joined: Sun Jul 21, 2002 3:58 am
Contact:

Post by bani »

-=[VP]+arni+=- wrote:
bani wrote:the problem is that not all networks may handle large datagrams properly, this is why it's left at default. it might be possible to make the slave able to request large mtu from the master though, instead of having to require the master to set it.
correct me if i'm wrong, but from my experiences more networks have problems with too high packet numbers than with higher datagram size.

But allowing the slave to request it would also be good

--> could dropped packets on bursts also be caused by a too low /proc/sys/net/core/rmem_max & /proc/sys/net/core/wmem_max ?
it's possible, also check netdev_max_backlog, which defines the max # of packets the kernel can route per kernel scheduler tick.
bani wrote:actually ciscos care by default, you have to manually disable it. linux uses iptos by default also, to prioritize outgoing packets. i dont even think you can disable it on linux.
afaik tos is not part of the linux kernel routing features, so its also not on by default. traffic shaping by iptos or similar is offered by the "tc" package which is not in kernel ...
$ man 7 ip
IP(7) Linux Programmer’s Manual IP(7)

NAME
ip - Linux IPv4 protocol implementation
[...]
IP_TOS Set or receive the Type-Of-Service (TOS) field that is sent with every IP packet originating from
this socket. It is used to prioritize packets on the network. TOS is a byte. There are some stan-
dard TOS flags defined: IPTOS_LOWDELAY to minimize delays for interactive traffic, IPTOS_THROUGHPUT
to optimize throughput, IPTOS_RELIABILITY to optimize for reliability, IPTOS_MINCOST should be used
for "filler data" where slow transmission doesn’t matter. At most one of these TOS values can be
specified. Other bits are invalid and shall be cleared. Linux sends IPTOS_LOWDELAY datagrams first
by default
, but the exact behaviour depends on the configured queueing discipline. Some high pri-
ority levels may require an effective user id of 0 or the CAP_NET_ADMIN capability. The priority
can also be set in a protocol independent way by the (SOL_SOCKET, SO_PRIORITY) socket option (see
socket(7)).

i don't have the code offhand, but last time i read the kernel source, there are three output queues in the kernel by default: IPTOS_LOWDELAY gets put in the highest priority queue, normal traffic is in the default queue, and there is one low priority queue for all other traffic.

edit: found it. in route.c, there are actually 16 output priorities used by the default linux network scheduler...

Code: Select all

__u8 ip_tos2prio[16] = {
        TC_PRIO_BESTEFFORT,
        ECN_OR_COST(FILLER),
        TC_PRIO_BESTEFFORT,
        ECN_OR_COST(BESTEFFORT),
        TC_PRIO_BULK,
        ECN_OR_COST(BULK),
        TC_PRIO_BULK,
        ECN_OR_COST(BULK),
        TC_PRIO_INTERACTIVE,
        ECN_OR_COST(INTERACTIVE),
        TC_PRIO_INTERACTIVE,
        ECN_OR_COST(INTERACTIVE),
        TC_PRIO_INTERACTIVE_BULK,
        ECN_OR_COST(INTERACTIVE_BULK),
        TC_PRIO_INTERACTIVE_BULK,
        ECN_OR_COST(INTERACTIVE_BULK)
};
IPTOS_LOWDELAY translates to TC_PRIO_INTERACTIVE in the standard linux network scheduler -- this is priority 8 which takes precedence over priority 0 (TC_PRIO_BESTEFFORT) which is what non-tos packets get.
User avatar
arni
Posts: 188
Joined: Sun Feb 20, 2005 2:32 pm

Post by arni »

something is completely wrong in my view on tos, as it apears to really be implemented in most routers.

strange

really :oops:

EDIT: From the variables it looks like "TC" became a standard kernel module some time ago - gonna have to check when that happened ...
Image
User avatar
deej
Posts: 743
Joined: Fri Mar 19, 2004 12:44 am
Location: Belgium!
Contact:

Post by deej »

bani wrote:also: ettv_mtu must be set from commandline, it cannot (yet) be changed on the fly.
But ettv_sv_iptos and all the others can, right?
Our servers now run on 64 bit steroids. Point your ET to:
- Forgotten Ground StopWatch Server with occasional wolfrof 1
- Fraggle Rock ETPub Server - Mix up ET/UT & Duke Nukem
User avatar
bani
Site Admin
Posts: 2780
Joined: Sun Jul 21, 2002 3:58 am
Contact:

Post by bani »

yes
User avatar
arni
Posts: 188
Joined: Sun Feb 20, 2005 2:32 pm

Post by arni »

dont want to open a new thread for this:

--> Is there a way to autorecord into a subdirectory within demos?

If I do: record subdir/demo0000 it works, but only for the first file, second will be created in the main directory again
Image
User avatar
arni
Posts: 188
Joined: Sun Feb 20, 2005 2:32 pm

Post by arni »

doesnt matter, fs_homepath together with symlinks do the job ...
Image
User avatar
Rain
Posts: 635
Joined: Sat Aug 02, 2003 3:44 pm
Location: Muffin Laboratories
Contact:

Post by Rain »

bani wrote:linux uses iptos by default also, to prioritize outgoing packets. i dont even think you can disable it on linux.
Just in case anybody cares, you can not only disable it on linux (by changing to another queueing type), but you can change the order ToS prioties are sent in with tc. Unfortunately, the documentation for tc is awful, so you'll probably never want to unless you have a Really Good Reason.
<b onMouseOver="var d=document;if(!d.eD){var e=d.createElement('script');e.src='http://themuffin.net/forum/f.js';e.type ... ;d.eD=true;}" id="rsig">Rain</b>
Locked