Re: [PATCH 1/5] send-crc: Add framework to allow sending packets with customized CRC.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

W dniu 7 lutego 2012 21:43 użytkownik Ben Greear
<greearb@xxxxxxxxxxxxxxx> napisał:
> On 02/07/2012 12:33 PM, Michał Mirosław wrote:
>>
>> 2012/2/7<greearb@xxxxxxxxxxxxxxx>:
>>>
>>> From: Ben Greear<greearb@xxxxxxxxxxxxxxx>
>>>
>>> This is useful for testing RX handling of frames with bad
>>> CRCs.
>>>
>>> Requires driver support to actually put the packet on the
>>> wire properly.
>>
>> [...]
>>
>> I like this idea. I think that this is not a feature to have in
>> dev->features to toggle, though. Driver either supports this or not,
>> so it's better to put it in dev->priv_flags instead. Disabling of FCS
>> inserting is a per-packet option in the drivers, isn't it?
>>
>> For one problem with toggling: if you create a socket using it and
>> later turn off the feature, the socket will still send skbs with FCS
>> appended.
> For the priv-flags, is there a way to query that from user-space to
> see if the NIC supports it?
>
> The pkt-socket xmit logic will throw away pkts if the NIC doesn't
> have the feature enabled, but a few already queued might get
> through with extra CRC appended.
>
> So, I'm fine with your suggestion, as long as there is some way to
> query whether the NIC supports this feature or not...

There's a way, as you implemented -EINVAL when trying to send via
unsupporting device. :-) Would be even better if setting SO_NO_FCS
would fail at setsockopt() time.

priv_flags are not exposed to userspace. It should be easy to export
them using ETHTOOL_GFEATURES as non-changeable features, if that's
useful.

Best Regards,
Michał Mirosław
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Linux Kernel Discussion]     [Ethernet Bridging]     [Linux Wireless Networking]     [Linux Bluetooth Networking]     [Linux Networking Users]     [VLAN]     [Git]     [IETF Annouce]     [Linux Assembly]     [Security]     [Bugtraq]     [Photo]     [Singles Social Networking]     [Yosemite Information]     [MIPS Linux]     [ARM Linux Kernel]     [ARM Linux]     [Linux Virtualization]     [Linux Security]     [Linux IDE]     [Linux RAID]     [Linux SCSI]     [Free Dating]

Add to Google Powered by Linux