Julian Anastasov wrote:
I see three cases:
1. we do not route by TOS => we want to ignore TOS everywhere, if
possible, sysctl var variant for IPTOS_RT_MASK=0
2. we route by TOS (IPTOS_RT_MASK!=0) but we like the idea to
ignore TOS for PMTUD and ICMP redirects.
3. the current behavior, PMTUD does not work if TOS is changed,
the routing cache keeps many entries with different TOS
The question is how many proc entries are needed for these
cases. It seems, we can cover all cases with one proc entry: to
make IPTOS_RT_MASK a sysctl var. But there is still difference
between cases 1 and 2, may be the var will have more than 2 values?
1. we route by TOS
- yes (no PMTUD/ICMP conflict) MASK = $mask
- no (PMTUD/ICMP conflict) MASK = 0
2. we do not route by TOS at all MASK = 0
Unless the kernel is checking on the fly, you do not need to
distinguish between 1b and 2, correct? (i.e.Since we are just expecting
the user to set the sysctl variable). 1a is your case 3,
current behaviour.
thanks,
Nivedita
'
|