VLAN offloads on FreeBSD 6.3 7.0
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
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
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
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
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]