[rdkb][common][bsp][Refactor and sync kernel from openwrt]
[Description]
9627c280 [CRITICAL][kernel][mt7988][eth][Fix issue of PSE hanging when the internal 2.5G PHY connection is disconnected]
ef2c790d [openwrt][common][config][Add AN8855 dsa and gsw config in alphabetical order]
97f46542 [MAC80211][hnat][Improve ETH to ETH performace in an unbalanced PHY rate test for mt7981/7986]
ab061242 [openwrt][common][bsp][Add support to reset boot count of dual image booting]
dff562ec [openwrt][common][bsp][Refactor dual image related patches]
4041ddc5 [CRITICAL][kernel][mt7988][eth][Increase CDM2 guard band settings to 4KB]
d8bd64af [kernel][mt7981][eth][Fix issue of GMAC RX hanging when internal GPHY connect to a legacy 10M/Half hub]
f8e2de72 [CRITICAL][kernel][mt7988][eth][Fix issue of transmitting abnormal data for SGMII]
84c34a72 [openwrt][mt7988][crypto][Fix 3 PPE issue for IPSec]
2f5b874e [MAC80211][hnat][Fix issue of multiple PPEs unbind for ETH in mt7981/7986]
15456702 [openwrt][common][network][Upgrade lldpd from 1.0.17 release 2 to release 3]
3d01da2e [openwrt][common][app][Fix switch cmd netlink issue on mt7988]
8d49660c [kernel][common][dts][Fix the mt7981 with an8855 syntax error dts]
88339b3b [kernel][common][hnat][Fix HNAT BIND issue with entry index 0x3fff]
9c805693 [openwrt][common][app][Add an8855 switch command support]
4cadd12b [openwrt][common][app][Refactor switch command to support switches with different design]
ba8a98e4 [kernel][common][net][Add AN8855 dsa and gsw driver]
6adb18b9 [kernel][common][hnat][Add PPE config to compare source PSE port as hit condition]
99170889 [kernel][common][eth][Add the new firmware for Aquantia AQR113C and CUX3410]
f634629e [kernel][mt7988][eth][macsec: Remove CK_TOP_NETSYS_TOPS_400M_SEL since it's not relevant]
f868325b [kernel][common][eth][Add Aquantia CUX3410 support]
6f2ddbf0 [openwrt][mt7988][tops][fix 3 PPE feature issue]
ff49cc9f [kernel][common][Refactor network backport patch path]
2c9fda11 [kernel][mtd/spi/nmbm/phy/][Change pending-5.4 & backport-5.4 files to correct folder]
[Release-log]
Change-Id: I793a18f2f96f185687080a0fb6b55379995b0398
diff --git a/recipes-devtools/switch/files/src/switch_fun.h b/recipes-devtools/switch/files/src/switch_fun.h
index 70e4d18..cc16c20 100644
--- a/recipes-devtools/switch/files/src/switch_fun.h
+++ b/recipes-devtools/switch/files/src/switch_fun.h
@@ -6,6 +6,84 @@
#include <stdbool.h>
+void (*pf_chip_func)(int argc, char *argv[]);
+
+struct switch_func_s {
+ void (*pf_table_dump)(int argc, char *argv[]);
+ void (*pf_table_clear)(int argc, char *argv[]);
+ void (*pf_switch_reset)(int argc, char *argv[]);
+ void (*pf_doArlAging)(int argc, char *argv[]);
+ void (*pf_read_mib_counters)(int argc, char *argv[]);
+ void (*pf_clear_mib_counters)(int argc, char *argv[]);
+ void (*pf_read_output_queue_counters)(int argc, char *argv[]);
+ void (*pf_read_free_page_counters)(int argc, char *argv[]);
+ void (*pf_rate_control)(int argc, char *argv[]);
+ void (*pf_igress_rate_set)(int argc, char *argv[]);
+ void (*pf_egress_rate_set)(int argc, char *argv[]);
+ void (*pf_table_add)(int argc, char *argv[]);
+ void (*pf_table_del_fid)(int argc, char *argv[]);
+ void (*pf_table_del_vid)(int argc, char *argv[]);
+ void (*pf_table_search_mac_fid)(int argc, char *argv[]);
+ void (*pf_table_search_mac_vid)(int argc, char *argv[]);
+ void (*pf_global_set_mac_fc)(int argc, char *argv[]);
+ void (*pf_set_mac_pfc)(int argc, char *argv[]);
+ void (*pf_qos_sch_select)(int argc, char *argv[]);
+ void (*pf_qos_set_base)(int argc, char *argv[]);
+ void (*pf_qos_wfq_set_weight)(int argc, char *argv[]);
+ void (*pf_qos_set_portpri)(int argc, char *argv[]);
+ void (*pf_qos_set_dscppri)(int argc, char *argv[]);
+ void (*pf_qos_pri_mapping_queue)(int argc, char *argv[]);
+ void (*pf_doStp)(int argc, char *argv[]);
+ void (*pf_sip_dump)(int argc, char *argv[]);
+ void (*pf_sip_add)(int argc, char *argv[]);
+ void (*pf_sip_del)(int argc, char *argv[]);
+ void (*pf_sip_clear)(int argc, char *argv[]);
+ void (*pf_dip_dump)(int argc, char *argv[]);
+ void (*pf_dip_add)(int argc, char *argv[]);
+ void (*pf_dip_del)(int argc, char *argv[]);
+ void (*pf_dip_clear)(int argc, char *argv[]);
+ void (*pf_set_mirror_to)(int argc, char *argv[]);
+ void (*pf_set_mirror_from)(int argc, char *argv[]);
+ void (*pf_doMirrorEn)(int argc, char *argv[]);
+ void (*pf_doMirrorPortBased)(int argc, char *argv[]);
+ void (*pf_acl_dip_add)(int argc, char *argv[]);
+ void (*pf_acl_dip_modify)(int argc, char *argv[]);
+ void (*pf_acl_dip_pppoe)(int argc, char *argv[]);
+ void (*pf_acl_dip_trtcm)(int argc, char *argv[]);
+ void (*pf_acl_dip_meter)(int argc, char *argv[]);
+ void (*pf_acl_mac_add)(int argc, char *argv[]);
+ void (*pf_acl_ethertype)(int argc, char *argv[]);
+ void (*pf_acl_sp_add)(int argc, char *argv[]);
+ void (*pf_acl_l4_add)(int argc, char *argv[]);
+ void (*pf_acl_port_enable)(int argc, char *argv[]);
+ void (*pf_acl_table_add)(int argc, char *argv[]);
+ void (*pf_acl_mask_table_add)(int argc, char *argv[]);
+ void (*pf_acl_rule_table_add)(int argc, char *argv[]);
+ void (*pf_acl_rate_table_add)(int argc, char *argv[]);
+ void (*pf_vlan_dump)(int argc, char *argv[]);
+ void (*pf_vlan_set)(int argc, char *argv[]);
+ void (*pf_vlan_clear)(int argc, char *argv[]);
+ void (*pf_doVlanSetVid)(int argc, char *argv[]);
+ void (*pf_doVlanSetPvid)(int argc, char *argv[]);
+ void (*pf_doVlanSetAccFrm)(int argc, char *argv[]);
+ void (*pf_doVlanSetPortAttr)(int argc, char *argv[]);
+ void (*pf_doVlanSetPortMode)(int argc, char *argv[]);
+ void (*pf_doVlanSetEgressTagPCR)(int argc, char *argv[]);
+ void (*pf_doVlanSetEgressTagPVC)(int argc, char *argv[]);
+ void (*pf_igmp_on)(int argc, char *argv[]);
+ void (*pf_igmp_off)(int argc, char *argv[]);
+ void (*pf_igmp_enable)(int argc, char *argv[]);
+ void (*pf_igmp_disable)(int argc, char *argv[]);
+ void (*pf_collision_pool_enable)(int argc, char *argv[]);
+ void (*pf_collision_pool_mac_dump)(int argc, char *argv[]);
+ void (*pf_collision_pool_dip_dump)(int argc, char *argv[]);
+ void (*pf_collision_pool_sip_dump)(int argc, char *argv[]);
+ void (*pf_pfc_get_rx_counter)(int argc, char *argv[]);
+ void (*pf_pfc_get_tx_counter)(int argc, char *argv[]);
+ void (*pf_eee_enable)(int argc, char *argv[]);
+ void (*pf_eee_dump)(int argc, char *argv[]);
+};
+
#define MT7530_T10_TEST_CONTROL 0x145
#define MAX_PORT 6
@@ -15,14 +93,18 @@
extern int chip_name;
extern struct mt753x_attr *attres;
extern bool nl_init_flag;
+extern struct switch_func_s mt753x_switch_func;
+extern struct switch_func_s an8855_switch_func;
/*basic operation*/
int reg_read(unsigned int offset, unsigned int *value);
int reg_write(unsigned int offset, unsigned int value);
int mii_mgr_read(unsigned int port_num, unsigned int reg, unsigned int *value);
int mii_mgr_write(unsigned int port_num, unsigned int reg, unsigned int value);
-int mii_mgr_c45_read(unsigned int port_num, unsigned int dev, unsigned int reg, unsigned int *value);
-int mii_mgr_c45_write(unsigned int port_num, unsigned int dev, unsigned int reg, unsigned int value);
+int mii_mgr_c45_read(unsigned int port_num, unsigned int dev, unsigned int reg,
+ unsigned int *value);
+int mii_mgr_c45_write(unsigned int port_num, unsigned int dev, unsigned int reg,
+ unsigned int value);
/*phy setting*/
int phy_dump(int phy_addr);
@@ -50,28 +132,28 @@
void acl_rate_table_add(int argc, char *argv[]);
/*dip table*/
-void dip_dump(void);
+void dip_dump(int argc, char *argv[]);
void dip_add(int argc, char *argv[]);
void dip_del(int argc, char *argv[]);
-void dip_clear(void);
+void dip_clear(int argc, char *argv[]);
/*sip table*/
-void sip_dump(void);
+void sip_dump(int argc, char *argv[]);
void sip_add(int argc, char *argv[]);
void sip_del(int argc, char *argv[]);
-void sip_clear(void);
+void sip_clear(int argc, char *argv[]);
/*stp*/
void doStp(int argc, char *argv[]);
/*mac table*/
-void table_dump(void);
+void table_dump(int argc, char *argv[]);
void table_add(int argc, char *argv[]);
void table_search_mac_vid(int argc, char *argv[]);
void table_search_mac_fid(int argc, char *argv[]);
void table_del_fid(int argc, char *argv[]);
void table_del_vid(int argc, char *argv[]);
-void table_clear(void);
+void table_clear(int argc, char *argv[]);
/*vlan table*/
void vlan_dump(int argc, char *argv[]);
@@ -88,7 +170,7 @@
/*igmp function*/
void igmp_on(int argc, char *argv[]);
-void igmp_off();
+void igmp_off(int argc, char *argv[]);
void igmp_disable(int argc, char *argv[]);
void igmp_enable(int argc, char *argv[]);
@@ -100,11 +182,11 @@
/*rate control*/
void rate_control(int argc, char *argv[]);
-int ingress_rate_set(int on_off, unsigned int port, unsigned int bw);
-int egress_rate_set(int on_off, int port, int bw);
+void ingress_rate_set(int argc, char *argv[]);
+void egress_rate_set(int argc, char *argv[]);
/*QoS*/
-int qos_sch_select(int argc, char *argv[]);
+void qos_sch_select(int argc, char *argv[]);
void qos_set_base(int argc, char *argv[]);
void qos_wfq_set_weight(int argc, char *argv[]);
void qos_set_portpri(int argc, char *argv[]);
@@ -112,32 +194,32 @@
void qos_pri_mapping_queue(int argc, char *argv[]);
/*flow control*/
-int global_set_mac_fc(int argc, char *argv[]);
-int phy_set_fc(int argc, char *argv[]);
-int phy_set_an(int argc, char *argv[]);
+void global_set_mac_fc(int argc, char *argv[]);
+void phy_set_fc(int argc, char *argv[]);
+void phy_set_an(int argc, char *argv[]);
/* collision pool functions */
-int collision_pool_enable(int argc, char *argv[]);
-void collision_pool_mac_dump();
-void collision_pool_dip_dump();
-void collision_pool_sip_dump();
+void collision_pool_enable(int argc, char *argv[]);
+void collision_pool_mac_dump(int argc, char *argv[]);
+void collision_pool_dip_dump(int argc, char *argv[]);
+void collision_pool_sip_dump(int argc, char *argv[]);
/*pfc functions*/
-int set_mac_pfc(int argc, char *argv[]);
+void set_mac_pfc(int argc, char *argv[]);
void pfc_get_rx_counter(int argc, char *argv[]);
void pfc_get_tx_counter(int argc, char *argv[]);
/*switch reset*/
-int switch_reset(int argc, char *argv[]);
+void switch_reset(int argc, char *argv[]);
/* EEE(802.3az) function */
void eee_enable(int argc, char *argv[]);
void eee_dump(int argc, char *argv[]);
-void read_mib_counters();
-void clear_mib_counters();
-void read_output_queue_counters();
-void read_free_page_counters();
+void read_mib_counters(int argc, char *argv[]);
+void clear_mib_counters(int argc, char *argv[]);
+void read_output_queue_counters(int argc, char *argv[]);
+void read_free_page_counters(int argc, char *argv[]);
void phy_crossover(int argc, char *argv[]);
void exit_free();