/*
* Copyright c                  Realtek Semiconductor Corporation, 2002  
* All rights reserved.
* 
* Program : Header File for IC-specific Function
* Abstract : 
* Author : Louis Yung-Chieh Lo (yjlou@realtek.com.tw)               
* $Id: rtl865xc_testModel_L34_test.h,v 1.3 2012/10/24 04:49:06 ikevin362 Exp $
*/

#ifndef _RTL865XC_IC_MODEL_L34_TEST_
#define _RTL865XC_IC_MODEL_L34_TEST_


#include <net/rtl/rtl_types.h>

int32 rtl865xC_testLayer3MTU(void);

int32 rtl865xC_testPktIPMulticastL2( void );
int32 rtl865xC_testPktIPMulticastL3( void );
int32 rtl865xC_testPktIPMulticastPPPoE( void );
int32 default_register(void);

int32 rtl865xC_testLayer3GuestVLAN(void);
int32 rtl865xC_testLayer3Routing(void);
int32 rtl865xC_testLayer3RoutingToCpu(void);
int32 rtl865xC_testIPMulticast(void);
int32 rtl865xC_testEnhancedGRE(void);
int32 rtl865xC_testIpOther(void);
int32 rtl865xC_testLayer3RoutingToCpu(void);
int32 rtl8198C_testPktIPMulticastL2(void);
int32 rtl8198C_testNAPTOutbound(void);
int32 rtl8198C_testNAPTInbound(void);
int32 rtl8198C_testV6ArpRouting(void);
int32 rtl8198C_testV6NxthopRouting(void);
int32 rtl8198C_testV6L2(void);
int32 rtl8198C_testNxthopRouting(void);
int32 rtl8198C_testV6ArpRouting(void);
int32 rtl8198C_testV6RdEncap_ArpRouting(void);
int32 rtl8198C_testV6RdDecap_ArpRouting(void);
int32 rtl8198C_testDsLiteEncap_NxthopRouting(void);
int32 rtl8198C_testDsLiteDecap_NxthopRouting(void);
int32 rtl8198C_testNAPTOutboundPerflow(void);
int32 rtl8198C_testV6RdEncapIPM_ArpRouting(void);
int32 rtl8198C_testV6RdDecapMtuBug_ArpRouting(void);
int32 rtl8198C_testDsLiteDecapMtuBug_NxthopRouting(void);
int32 rtl8198C_testV6RdEncapIPMTtlBug_ArpRouting(void);
int32 rtl8198C_testV6RdDecapIPMTtlBug_ArpRouting(void);
int32 rtl8198C_testDsLiteDecapIPMTtlBug_NxthopRouting(void);
int32 rtl8198C_testArpRouting_SnapMtuBug(void);
int32 rtl8198C_testNAPTOutboundAclRedirect(void);

int32 rtl8198C_testL2AclChangeVlanBug(void);
int32 rtl8198C_testL2UnknowSADA(void);
int32 rtl8198C_testL2_learnLimitDropAndClloision(void);
int32 rtl8198C_testL2_learnLimitDropAndAgingOut(void);

int32 rtl8198C_testL2_learnLimitForwardNotLearn(void);
int32 rtl8198C_testL2_learnLimitToCpu(void);
int32 rtl8198C_testL2_learnLimitForwardNotLearnCopyToCpu(void);
int32 rtl8198C_testL2AclChangeVlanBug(void);
int32 rtl8198C_testV6NxthopRouting_AclV6CombBug(void);
int32 rtl8198C_testPktIPMulticast_txRemarkVid(void);
int32  rtl8198C_testNAPTInbound_4way( void );
int32 rtl8198C_testNAPTOutbound_4way(void);
int32 rtl8198C_testMultipleWAN(void);
int32 rtl8198C_testMultipleWAN1(void);
int32 rtl8198C_testV6NxthopRouting_AclV6CombRedirect(void);



int32 rtl8198C_testNAPTOutboundAclRedirectChain(void);




int32 rtl8198C_testNxthopRouting_checksumbug(void);
int32 rtl8198C_testl4TCPCheckSum(void);
int32 rtl8198C_testl3CheckSum(void);
int32 rtl8198C_testl4CheckSum(void);
int32 rtl8198C_testArpRouting(void);
int32 rtl8198C_testL2(void);
int32 rtl8198C_testNAPTOutbound_ARP(void);

/* RL6405 */
#if defined(CONFIG_RTL_8685S_HWNAT)  
int32 rtl8198C_testV6Mcast(void);
int32 rtl8198C_testDsLiteDecapIPM_ALE_HangBug_NxthopRouting(void);

int32 rtl8198C_test2KL2(void);
int32 rtl8198C_test2KL2_basic(void);
int32 rtl8198C_test_IPMv4_selectDestIf(void);
int32 rtl8198C_testIPMv6_selectDestIf(void);
int32 rtl8198C_testIPMv4v6_DestSelectIf_StressTest(void);
int32 rtl8198C_testV6L2_l4hsbCheckErrorBug(void);
int32 rtl8198C_testL2_NicDirectTx(void);
int32 rtl8198C_testL2_checkSumOffLoad_HwLookUp(void);
int32 rtl8198C_testL2_NicDirectTx_VLANADD(void);
int32 rtl8198C_testL2_NicDirectTx_VLANADD_Test(void);
int32 rtl8198C_testL2_checkSumOffLoad_DirectTx(void);
int32 rtl8198C_testLearningLimit_SWAddSubCounter(void);
int32 rtl8198C_testNATOutbound(void);
int32 rtl8198C_testL2_aclFragmentPkt(void);
int32 rtl8198C_testL2_acl2kl2(void);
int32 rtl8198C_DirectTx_6RD_DSLITE_BUG(void);
int32 rtl8198C_testDsLiteDecap_NxthopRouting_directBug(void);
int32 rtl8198C_testV6RdEncap_ArpRouting_directBug( void );
int32 rtl8198C_testDsLiteEncap_NxthopRouting_directBug(void);
int32 acl_config_comb8Align( void );
int32 rtl8198C_testV6NxthopRouting_AclV6Comb8AlignBug(void);
void directIxia_init(void);

int32 rtl8198C_testPktIPMulticastL3(void);
int32 rtl8198C_testPktIPMulticastUnmatchSPA(void);
int32 rtl8198C_testPktIPMulticastPPPoERouing(void);
int32 rtl8198C_testNAPTHash1(void);
int32 rtl8198C_testNAPTHash1_APItest(void);

#endif
int32 rtl8198C_testL2_learnLimitToCpu_L2Hashfull(void);


//int32 rtl8198C_testPktIPMulticast(int layer,int isPPPoE);

#if defined(CONFIG_RTL_HW_NAPT_4KENTRY)
int32 rtl8198C_testNAPTOutbound4KEntry(void);
int32 rtl8198C_testNAPTInbound4KEntry(void);
#endif

#endif