/* Copyright (C) 2006 Ikanos Communications * See IKANOS_PROP_LICENSE.txt for license information. */ #ifndef _HOSTCONFIG_H_ #define _HOSTCONFIG_H_ #include #include /* APU identifiers */ #define MAC1_ID 1 #define MAC2_ID 2 #define MAC3_ID 3 #define SPA_ID 4 #define BMU_ID 5 #define ATM_ID 6 #define EAP_ID 7 #define PERI_ID EAP_ID #define VDSL_ID 8 #define CLAP1_ID 9 #define CLAP2_ID 10 #define MIN_AP_ID MAC1_ID #if defined(IS_VX185) && (IS_VX185) #define MAX_AP_ID CLAP2_ID #elif (defined(IS_VX180) && (IS_VX180)) #define MAX_AP_ID VDSL_ID #else #define MAX_AP_ID PERI_ID #endif //AVMGRM: used in kdsld for compability #define AP_QOS_V2 #define AP_TO_HOST_Q0 0 #define AP_TO_HOST_Q1 1 #define AP_TO_HOST_Q2 2 #define AP_TO_HOST_Q3 3 #define MIN_IPC_QUEUE_NUM AP_TO_HOST_Q0 #define MAX_IPC_QUEUE_NUM AP_TO_HOST_Q3 #define MAX_NUMBER_IPC_QUEUES 4 #define MIN_IPC_QUEUE_SIZE 8 #ifdef ETH_NO_CLASSIFICATION #define MAX_IPC_QUEUE_SIZE 600 #define MAX_ETH_QUEUE_ENTRIES 600 #else #define MAX_IPC_QUEUE_SIZE 504 //CACHE:: added 4 to align to CACHE_LINE_SIZE #define MAX_ETH_QUEUE_ENTRIES 504 //CACHE:: added 4 to align to CACHE_LINE_SIZE #endif #define MAX_QUEUE_ENTRIES 56 //CACHE:: added 4 to align to CACHE_LINE_SIZE #define VDSL_LINE_BONDING 1 #define VDSL_LINE_NOBONDING 0 int bonding_Get_Mode(void); void bonding_Set_Mode(int mode); /* The pEgress pointer is, in general, the address of an AP input queue. There * are two important exceptions * * 0x0000 0000 - Free the packet * 0xffff ffff - forward the packet to the host CPU */ #define AP_EGRESS_DELETE 0x00000000 #define AP_EGRESS_HOST 0xffffffff /* There are a number of queues used to forward packets from the AP * to the host CPU. * * The queue head/tail information has a seperate pointer from the * queue base to allow the smaller head/tail to be located in fast * internal memory. * * The queue stare must be initialized to default (all zero) before * configuration * * Each queue entry is four bytle long (a single cluster pointer) */ #define AP_ETH_Q_TO_HOST 4 #define AP_SEC_Q_TO_HOST 2 #define SEC_HOST_MAX_Q_SZ 32 #define INITIALIZED_CHAR_ELEMENT 0xCA #define BRIDGE_EGRESS 0x1 #define TTL_ZERO_EGRESS 0x2 #define IP_VER_EGRESS 0x3 #define IP_CSUM_EGRESS 0x4 #define IP_FRAG_EGRESS 0x5 #define FW_ATTACK_EGRESS 0x6 #define UNKNOWN_EGRESS 0xf #define CREATE_TABLE 0xCC #define DELETE_TABLE 0xDD #define DISABLE_TABLE 0xDB #define CREATE_ENTRY 0xCE #define DELETE_ENTRY 0xDE #define DISABLE_ENTRY 0xDA #define SUSPEND_AP_FORCE 2 #define SUSPEND_AP 1 #define RESUME_AP 0 #define ADD_MAC 0xAD #define DELETE_MAC 0xDE // Next definitions decribe min and max MTU sizes #define MIN_MTU_SIZE_SUPPORTED_BY_AP 1024 #define FIRST_FRAGMENT_SIZE MIN_MTU_SIZE_SUPPORTED_BY_AP - 260 //256 /* To support jumbo frame upto 1728 */ #define MAX_MTU_SIZE_SUPPORTED_BY_AP 1710 #define MTU_SIZE_OFFSET_INSIDE_FLOW_ID 19 #define MTU_SIZE_MASK 0x7ff // 11 bits #define CHECK_RESULT(result) if( result != 0 ) return result; #endif /* _HOSTCONFIG_H_ */