On 2019-11-08, Peter J. Philipp <p...@centroid.eu> wrote:
> 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?

The chip does have some offloading, however I'm pretty sure it needs a
closed source component to use it. Not sure where to find more info.


Reply via email to