/****************************************************************************
 * 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);
		}
	}
