VLAN offloads on FreeBSD 6.3 7.0

2008-11-16 Thread Yony Yossef
Hi All,

I'm working on an Ethernet driver for FreeBSD, currently implementing
VLAN offloads.
I have two problems, one is enabling TSO over the VLAN interface and
the second is enabling the VLAN filtering offload.

About the TSO problem, I'm currently suffering a hugh performance
penalty since I have no TSO enabled over my vlan interfaces.
When I create a VLAN interface it does not inherit the features of
it's mother-interface, e.g. IFCAP_TSO.
Can it be done on FreeBSD 6.3 / 7.0 ?

Second, my NIC is capable of holding a vlan table on HW, filtering
vlans on it's own, now I need to find a way to update that HW table
with added/deleted VLANs in order to use that VLAN filtering offload.
One way is to recieve a ioctl from the OS of it's vlan table events
(add, remove). I can't find such ioctl.

Second way is to have direct access from the driver to the OS vlan
table. I'm not familiar with the interface though (something parallel
to vlan_group_get_device on linux) or if it's possible at all, can
anyone help on this one?

Thanks,
Yony
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: VLAN offloads on FreeBSD 6.3 7.0

2008-11-16 Thread Max Laier
On Sunday 16 November 2008 15:10:19 Yony Yossef wrote:
 Hi All,

 I'm working on an Ethernet driver for FreeBSD, currently implementing
 VLAN offloads.
 I have two problems, one is enabling TSO over the VLAN interface and
 the second is enabling the VLAN filtering offload.

 About the TSO problem, I'm currently suffering a hugh performance
 penalty since I have no TSO enabled over my vlan interfaces.
 When I create a VLAN interface it does not inherit the features of
 it's mother-interface, e.g. IFCAP_TSO.
 Can it be done on FreeBSD 6.3 / 7.0 ?

 Second, my NIC is capable of holding a vlan table on HW, filtering
 vlans on it's own, now I need to find a way to update that HW table
 with added/deleted VLANs in order to use that VLAN filtering offload.
 One way is to recieve a ioctl from the OS of it's vlan table events
 (add, remove). I can't find such ioctl.

 Second way is to have direct access from the driver to the OS vlan
 table. I'm not familiar with the interface though (something parallel
 to vlan_group_get_device on linux) or if it's possible at all, can
 anyone help on this one?

See http://svn.freebsd.org/viewvc/base?view=revisionrevision=180510 for the 
VLAN tag issue.  Simply EVENTHANDLER_REGISTER a function in your driver to 
update the hw-table on config/unconfig events.  I hope this helps.

-- 
/\  Best regards,  | [EMAIL PROTECTED]
\ /  Max Laier  | ICQ #67774661
 X   http://pf4freebsd.love2party.net/  | [EMAIL PROTECTED]
/ \  ASCII Ribbon Campaign  | Against HTML Mail and News
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: VLAN offloads on FreeBSD 6.3 7.0

2008-11-16 Thread Yony Yossef
Thanks! it looks like a solution.

On Sun, Nov 16, 2008 at 5:08 PM, Max Laier [EMAIL PROTECTED] wrote:
 On Sunday 16 November 2008 15:10:19 Yony Yossef wrote:
 Hi All,

 I'm working on an Ethernet driver for FreeBSD, currently implementing
 VLAN offloads.
 I have two problems, one is enabling TSO over the VLAN interface and
 the second is enabling the VLAN filtering offload.

 About the TSO problem, I'm currently suffering a hugh performance
 penalty since I have no TSO enabled over my vlan interfaces.
 When I create a VLAN interface it does not inherit the features of
 it's mother-interface, e.g. IFCAP_TSO.
 Can it be done on FreeBSD 6.3 / 7.0 ?

 Second, my NIC is capable of holding a vlan table on HW, filtering
 vlans on it's own, now I need to find a way to update that HW table
 with added/deleted VLANs in order to use that VLAN filtering offload.
 One way is to recieve a ioctl from the OS of it's vlan table events
 (add, remove). I can't find such ioctl.

 Second way is to have direct access from the driver to the OS vlan
 table. I'm not familiar with the interface though (something parallel
 to vlan_group_get_device on linux) or if it's possible at all, can
 anyone help on this one?

 See http://svn.freebsd.org/viewvc/base?view=revisionrevision=180510 for the
 VLAN tag issue.  Simply EVENTHANDLER_REGISTER a function in your driver to
 update the hw-table on config/unconfig events.  I hope this helps.

 --
 /\  Best regards,  | [EMAIL PROTECTED]
 \ /  Max Laier  | ICQ #67774661
  X   http://pf4freebsd.love2party.net/  | [EMAIL PROTECTED]
 / \  ASCII Ribbon Campaign  | Against HTML Mail and News

___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: VLAN offloads on FreeBSD 6.3 7.0

2008-11-16 Thread Christian Weisgerber
Yony Yossef [EMAIL PROTECTED] wrote:

 Second, my NIC is capable of holding a vlan table on HW, filtering
 vlans on it's own, now I need to find a way to update that HW table
 with added/deleted VLANs in order to use that VLAN filtering offload.

If I may piggyback a question here: What is the use of a HW VLAN
filter? In what scenario do we receive significant traffic of frames
with our station address or multicast but not for any VLAN we have
joined?

-- 
Christian naddy Weisgerber  [EMAIL PROTECTED]

___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: VLAN offloads on FreeBSD 6.3 7.0

2008-11-16 Thread Yony Yossef
Hi Max, do you happen to know if TSO (as other capabilities) can be
enabled on a VLAN interface?
I've already posted this question so I'm not sending this mail to the list.

On Sun, Nov 16, 2008 at 5:08 PM, Max Laier [EMAIL PROTECTED] wrote:
 On Sunday 16 November 2008 15:10:19 Yony Yossef wrote:
 Hi All,

 I'm working on an Ethernet driver for FreeBSD, currently implementing
 VLAN offloads.
 I have two problems, one is enabling TSO over the VLAN interface and
 the second is enabling the VLAN filtering offload.

 About the TSO problem, I'm currently suffering a hugh performance
 penalty since I have no TSO enabled over my vlan interfaces.
 When I create a VLAN interface it does not inherit the features of
 it's mother-interface, e.g. IFCAP_TSO.
 Can it be done on FreeBSD 6.3 / 7.0 ?

 Second, my NIC is capable of holding a vlan table on HW, filtering
 vlans on it's own, now I need to find a way to update that HW table
 with added/deleted VLANs in order to use that VLAN filtering offload.
 One way is to recieve a ioctl from the OS of it's vlan table events
 (add, remove). I can't find such ioctl.

 Second way is to have direct access from the driver to the OS vlan
 table. I'm not familiar with the interface though (something parallel
 to vlan_group_get_device on linux) or if it's possible at all, can
 anyone help on this one?

 See http://svn.freebsd.org/viewvc/base?view=revisionrevision=180510 for the
 VLAN tag issue.  Simply EVENTHANDLER_REGISTER a function in your driver to
 update the hw-table on config/unconfig events.  I hope this helps.

 --
 /\  Best regards,  | [EMAIL PROTECTED]
 \ /  Max Laier  | ICQ #67774661
  X   http://pf4freebsd.love2party.net/  | [EMAIL PROTECTED]
 / \  ASCII Ribbon Campaign  | Against HTML Mail and News

___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to [EMAIL PROTECTED]