Proposal for changes to network device drivers and network
stack (RFC)
Anuranjan Shukla
anshukla at juniper.net
Fri Sep 7 08:29:32 UTC 2012
Hi George,
Thanks for taking a look. Some answers/comments below.
>
>> Building FreeBSD without the network stack (network stack as a module)
>> ----------------------------------------------------------------------
>>
>This would be interesting for many reasons, and I think it would be a good
>contribution. Does the work you've done in this area handle the VNET
>stuff that is in the stack as well? That is, how well does the network
>stack
>as a module play with the vnet architecture?
I'll follow up on this one separately.
>
>> struct socket {
>>
>> int so_fibnum; /* routing domain for this socket */
>> uint32_t so_user_cookie;
>> + u_int so_oqueue; /* manage send prioritizing based on
>>application
>> needs */
>> + u_short so_lrid; /* logical routing */
>> };
>>
>
>I'd be interested to know how this is used.
We use the first one as a 'direction' to the forwarding path to select an
appropriate priority queue to send the packet on. In a generic (i.e.
Something other than our specific system) system, one could consider
interesting ways to use queues on a multi queue NIC with help from a
driver. The second one is for a system with logical routing capabilities
(multiple routing systems within the same chassis). It gives an
application opening a socket an option to select the specific logical
routing instance.
I'll provide smaller pieces of diffs for the kernel without networking
patch I'd sent out. Let me know if you prefer the device driver interface
to be in that too.
Thanks,
Anu
More information about the freebsd-net
mailing list