Oldjim - correct this is a two byte wide field, but window scaling means that it is to be reinterpreted as something shifted left n places, so this is how you get the big values. The wider (shifted) result value that you can enter clearly has to be a multiple of 2n bytes and it has been suggested that you make the thing a multiple of MSS as discussed earlier, a slight tweak, not critical, if my understanding is correct (very rusty). I have heard of window scale shift values that are quite high, they are not always the smallest values that will reach a particular result. ( eg << 8 even though the result is nowhere big enough to need it.)