Hi,

I have a Unifi Security Gateway that replaced an ER-8 because the latter
was too loud after all.  I have a 100/40 VDSL connection and in tests with
pppoe and routing from cnmac0 to cnmac1 gets me ~90 Mbit/s download.  I want
to claim that last 10% somehow and I have hacked the if_pppoe.c driver a little
but that didn't give me much more performance.  In fact I just was able to
get rid of an m_adj() which isn't all that much savings.

It seems to me in the cnmac driver that there is 4 bits set for ipoffp1 which
is weirdly expressed as ETHER_HDR_LEN + 1 which I assume is 0xf or all bits
turned on in 4 bits.  These 4 bits are then OR'ed in cn30xxpko_cmd_word0() at 
bit 24, 25, 26 and 27.  There is a gap before bit 31 starts making me hopeful
that perhaps there is functionality for IP offloading aka CSUM_IPv4?

I would be willing to explore this if someone who knows where the datasheet
of the cnmac ethernet is, would tell me where to get it.  Is it available?

Also do you know why this is seemingly convoluted in the driver?  It doesn't
make sense to put ETHER_HDR_LEN + 1 in there does it?  But turning on bits
1 through 4 does make sense to me somewhat.  Is this practice common?

Regards,
-peter

Reply via email to