/**************************************************************************** * Ralink Tech Inc. * 4F, No. 2 Technology 5th Rd. * Science-based Industrial Park * Hsin-chu, Taiwan, R.O.C. * (c) Copyright 2002, Ralink Technology, Inc. * * All rights reserved. Ralink's source code is an unpublished work and the * use of a copyright notice does not imply otherwise. This source code * contains confidential trade secret material of Ralink Tech. Any attemp * or participation in deciphering, decoding, reverse engineering or in any * way altering the source code is stricitly prohibited, unless the prior * written consent of Ralink Technology, Inc. is obtained. ****************************************************************************/ The steps for bridge fast path function in wireless driver: 1. Change HAS_BGFP_SUPPORT=y and HAS_BGFP_OPEN_SUPPORT=y Note1: When you just only want to enable fast path in WLAN module, you can only enable HAS_BGFP_SUPPORT. Note2: When you want to enable fast path in WLAN and Ethernet module, you need to enable HAS_BGFP_SUPPORT and HAS_BGFP_OPEN_SUPPORT. The steps for bridge fast path function in ethernet driver: 1. Find the function you pass received packets to upper layer. 2. Path code to the function. Note: If the ethernet driver is a library type, i.e. ***.ko, you must insert the ethernet driver to the Linux kernel before RALINK WLAN driver. For examples: 1. Declare a symbol and a function prototype. UINT32 (*RALINK_FP_Handle)(PNDIS_PACKET pPacket); EXPORT_SYMBOL(RALINK_FP_Handle); 2. Support your received handler, called packet_forward() In Linux, find the keyword, netif_rx(), such as packet_forward() { ...... // pass the packet to upper layer skb->protocol = eth_type_trans(skb, skb->dev); netif_rx(skb); } 3. Change the code segment to packet_forward() { UINT32 HandRst = 1; ...... if (RALINK_FP_Handle != NULL) HandRst = RALINK_FP_Handle(skb); if (HandRst != 0) { // pass the packet to upper layer // printk("pass to upper layer!\n"); skb->protocol = eth_type_trans(skb, skb->dev); netif_rx(skb); } }