summaryrefslogtreecommitdiffstats
path: root/target/linux/realtek/files/include/net/rtl/rtl865x_multicast.h
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/realtek/files/include/net/rtl/rtl865x_multicast.h')
-rw-r--r--target/linux/realtek/files/include/net/rtl/rtl865x_multicast.h254
1 files changed, 127 insertions, 127 deletions
diff --git a/target/linux/realtek/files/include/net/rtl/rtl865x_multicast.h b/target/linux/realtek/files/include/net/rtl/rtl865x_multicast.h
index 2b55ad5b8..3552c3432 100644
--- a/target/linux/realtek/files/include/net/rtl/rtl865x_multicast.h
+++ b/target/linux/realtek/files/include/net/rtl/rtl865x_multicast.h
@@ -1,41 +1,41 @@
-#ifndef RTL865X_MULTICAST_H
-#define RTL865X_MULTICAST_H
-
-#define RTL865X_NETWORK_INTERFACE_DATA_STRUCTURE
-
-#define RTL865X_MULTICAST_TABLE_AGE 35
-#define RTL865X_MULTICAST_TABLE_ASIC_FULL_AGE 35
-#define RTL865X_MULTICAST_TABLE_ASIC_AGE 10 /* we would always write this value into ASIC */
-#define RTL865X_MULTICAST_SWAP_THRESHOLD 400
-#define SINGLE_BITMASK_ISSET(x) ((x & (x - 1)) == 0) /* chenyl: only 1 bit is set in vlanMask */
-
-
-/*================================================
- * Multicast Data Structure
- *================================================*/
-#define TBLDRV_MULTICAST_DATA_STRUCTURE
-
-/* mcast entry flag */
-#define RTL865X_MULTICAST_PPPOEPATCH_CPUBIT 0x01
-#define RTL865X_MULTICAST_EXTIP_SET 0x02
-#define RTL865X_MULTICAST_UPLOADONLY 0x04
-
-#define MAX_MCAST_FWD_DESCRIPTOR_CNT 256
-#define MAX_MCAST_TABLE_ENTRY_CNT 128
-
+#ifndef RTL865X_MULTICAST_H
+#define RTL865X_MULTICAST_H
+
+#define RTL865X_NETWORK_INTERFACE_DATA_STRUCTURE
+
+#define RTL865X_MULTICAST_TABLE_AGE 35
+#define RTL865X_MULTICAST_TABLE_ASIC_FULL_AGE 35
+#define RTL865X_MULTICAST_TABLE_ASIC_AGE 10 /* we would always write this value into ASIC */
+#define RTL865X_MULTICAST_SWAP_THRESHOLD 400
+#define SINGLE_BITMASK_ISSET(x) ((x & (x - 1)) == 0) /* chenyl: only 1 bit is set in vlanMask */
+
+
+/*================================================
+ * Multicast Data Structure
+ *================================================*/
+#define TBLDRV_MULTICAST_DATA_STRUCTURE
+
+/* mcast entry flag */
+#define RTL865X_MULTICAST_PPPOEPATCH_CPUBIT 0x01
+#define RTL865X_MULTICAST_EXTIP_SET 0x02
+#define RTL865X_MULTICAST_UPLOADONLY 0x04
+
+#define MAX_MCAST_FWD_DESCRIPTOR_CNT 256
+#define MAX_MCAST_TABLE_ENTRY_CNT 128
+
/*
* List definitions.
*/
-#define MC_LIST_HEAD(name, type) \
+#define MC_LIST_HEAD(name, type) \
struct name { \
struct type *lh_first; /* first element */ \
}
-#define MC_LIST_HEAD_INITIALIZER(head) \
+#define MC_LIST_HEAD_INITIALIZER(head) \
{ NULL }
-#define MC_LIST_ENTRY(type) \
+#define MC_LIST_ENTRY(type) \
struct { \
struct type *le_next; /* next element */ \
struct type **le_prev; /* address of previous next element */ \
@@ -45,18 +45,18 @@ struct { \
* List functions.
*/
-#define MC_LIST_EMPTY(head) ((head)->lh_first == NULL)
+#define MC_LIST_EMPTY(head) ((head)->lh_first == NULL)
-#define MC_LIST_FIRST(head) ((head)->lh_first)
+#define MC_LIST_FIRST(head) ((head)->lh_first)
-#define MC_LIST_FOREACH(var, head, field) \
+#define MC_LIST_FOREACH(var, head, field) \
for((var) = (head)->lh_first; (var); (var) = (var)->field.le_next)
-#define MC_LIST_INIT(head) do { \
+#define MC_LIST_INIT(head) do { \
(head)->lh_first = NULL; \
} while (0)
-#define MC_LIST_INSERT_AFTER(listelm, elm, field) do { \
+#define MC_LIST_INSERT_AFTER(listelm, elm, field) do { \
if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \
(listelm)->field.le_next->field.le_prev = \
&(elm)->field.le_next; \
@@ -64,32 +64,32 @@ struct { \
(elm)->field.le_prev = &(listelm)->field.le_next; \
} while (0)
-#define MC_LIST_INSERT_BEFORE(listelm, elm, field) do { \
+#define MC_LIST_INSERT_BEFORE(listelm, elm, field) do { \
(elm)->field.le_prev = (listelm)->field.le_prev; \
(elm)->field.le_next = (listelm); \
*(listelm)->field.le_prev = (elm); \
(listelm)->field.le_prev = &(elm)->field.le_next; \
} while (0)
-#define MC_LIST_INSERT_HEAD(head, elm, field) do { \
+#define MC_LIST_INSERT_HEAD(head, elm, field) do { \
if (((elm)->field.le_next = (head)->lh_first) != NULL) \
(head)->lh_first->field.le_prev = &(elm)->field.le_next;\
(head)->lh_first = (elm); \
(elm)->field.le_prev = &(head)->lh_first; \
} while (0)
-#define MC_LIST_NEXT(elm, field) ((elm)->field.le_next)
+#define MC_LIST_NEXT(elm, field) ((elm)->field.le_next)
-#define MC_LIST_REMOVE(elm, field) do { \
+#define MC_LIST_REMOVE(elm, field) do { \
if ((elm)->field.le_next != NULL) \
(elm)->field.le_next->field.le_prev = \
- (elm)->field.le_prev; \
- if ((elm)->field.le_prev != NULL) \
- *(elm)->field.le_prev = (elm)->field.le_next; \
+ (elm)->field.le_prev; \
+ if ((elm)->field.le_prev != NULL) \
+ *(elm)->field.le_prev = (elm)->field.le_next; \
} while (0)
-
-
-
+
+
+
/*
* Counting Tail queue definitions.
@@ -186,22 +186,22 @@ struct { \
*(elm)->field.tqe_prev = (elm)->field.tqe_next; \
(head)->tqh_count--;\
} while (0)
-
-#define ETHERNET_DEVICE_TYPE 0
-#define WIRELESS_DEVICE_TYPE 1
-#define VIRTUAL_DEVICE_TYPE 2
-typedef struct rtl865x_mcast_fwd_descriptor_s{
- char netifName[16];
- unsigned int descPortMask;
- char toCpu;
- unsigned int vid;
- unsigned int fwdPortMask;
- MC_LIST_ENTRY(rtl865x_mcast_fwd_descriptor_s) next;
-
-}rtl865x_mcast_fwd_descriptor_t;
-
-typedef MC_LIST_HEAD(mcast_fwd_descriptor_head_s, rtl865x_mcast_fwd_descriptor_s) mcast_fwd_descriptor_head_t;
-
+
+#define ETHERNET_DEVICE_TYPE 0
+#define WIRELESS_DEVICE_TYPE 1
+#define VIRTUAL_DEVICE_TYPE 2
+typedef struct rtl865x_mcast_fwd_descriptor_s{
+ char netifName[16];
+ unsigned int descPortMask;
+ char toCpu;
+ unsigned int vid;
+ unsigned int fwdPortMask;
+ MC_LIST_ENTRY(rtl865x_mcast_fwd_descriptor_s) next;
+
+}rtl865x_mcast_fwd_descriptor_t;
+
+typedef MC_LIST_HEAD(mcast_fwd_descriptor_head_s, rtl865x_mcast_fwd_descriptor_s) mcast_fwd_descriptor_head_t;
+
/*
* Tail queue definitions.
*/
@@ -290,71 +290,71 @@ struct { \
(head)->tqh_last = (elm)->field.tqe_prev; \
*(elm)->field.tqe_prev = (elm)->field.tqe_next; \
} while (0)
-
-typedef struct rtl865x_tblDrv_mCast_s {
- unsigned int sip;
- unsigned int dip;
- unsigned short svid;
- unsigned short port;
- unsigned int mbr;
- unsigned short age;
- unsigned short cpu;
- unsigned int extIp;
- /*above field is for asic table usage*/
- mcast_fwd_descriptor_head_t fwdDescChain;
- unsigned int count;
- unsigned int maxPPS;
- unsigned char cpuHold;
- unsigned char flag;
- unsigned char inAsic;
- unsigned char unKnownMCast;
-#if defined(CONFIG_RTL8196C_REVISION_B) || defined (CONFIG_RTL8198_REVISION_B)
- unsigned short liveTime;
-#endif
- TAILQ_ENTRY(rtl865x_tblDrv_mCast_s) nextMCast;
-
-} rtl865x_tblDrv_mCast_t;
-
-struct rtl865x_multicastTable{
-
- struct freeList_s {
-
- TAILQ_HEAD( _FreeMultiCastEntry, rtl865x_tblDrv_mCast_s) freeMultiCast;
- } freeList;
-
- struct inuseList_s {
- TAILQ_HEAD( _InuseMCast, rtl865x_tblDrv_mCast_s) *mCastTbl;
- }inuseList;
-
-};
-
-typedef struct rtl865x_mCastConfig_s{
- unsigned int externalPortMask;
-
-}rtl865x_mCastConfig_t;
-
-int rtl865x_initMulticast(rtl865x_mCastConfig_t * mCastConfig);
-int rtl865x_reinitMulticast(void);
-
-int rtl865x_addMulticastExternalPort(unsigned int extPort);
-int rtl865x_delMulticastExternalPort(unsigned int extPort);
-
-int rtl865x_setMulticastExternalPortMask(unsigned int extPortMask);
-int rtl865x_getMulticastExternalPortMask(void);
-
-int rtl865x_addMulticastExternalPortMask(unsigned int extPortMask);
-int rtl865x_delMulticastExternalPortMask(unsigned int extPortMask);
-
-rtl865x_tblDrv_mCast_t *rtl865x_findMCastEntry(unsigned int mAddr, unsigned int sip, unsigned short svid, unsigned short sport);
-
-int rtl865x_addMulticastEntry(unsigned int mAddr, unsigned int sip, unsigned short svid, unsigned short sport,
- rtl865x_mcast_fwd_descriptor_t * newFwdDescChain,
- int flushOldChain, unsigned int extIp, char cpuHold, unsigned char flag);
-
-int rtl865x_delMulticastEntry(unsigned int mcast_addr);
-
-int rtl865x_genVirtualMCastFwdDescriptor(unsigned int forceToCpu, unsigned int fwdPortMask, rtl865x_mcast_fwd_descriptor_t *fwdDescriptor);
-int rtl865x_blockMulticastFlow(unsigned int srcVlanId, unsigned int srcPort,unsigned int srcIpAddr, unsigned int destIpAddr);
-
-#endif
-
+
+typedef struct rtl865x_tblDrv_mCast_s {
+ unsigned int sip;
+ unsigned int dip;
+ unsigned short svid;
+ unsigned short port;
+ unsigned int mbr;
+ unsigned short age;
+ unsigned short cpu;
+ unsigned int extIp;
+ /*above field is for asic table usage*/
+ mcast_fwd_descriptor_head_t fwdDescChain;
+ unsigned int count;
+ unsigned int maxPPS;
+ unsigned char cpuHold;
+ unsigned char flag;
+ unsigned char inAsic;
+ unsigned char unKnownMCast;
+#if defined(CONFIG_RTL8196C_REVISION_B) || defined (CONFIG_RTL8198_REVISION_B) || defined(CONFIG_RTL_819XD) || defined(CONFIG_RTL_8196E)
+ unsigned short liveTime;
+#endif
+ TAILQ_ENTRY(rtl865x_tblDrv_mCast_s) nextMCast;
+
+} rtl865x_tblDrv_mCast_t;
+
+struct rtl865x_multicastTable{
+
+ struct freeList_s {
+
+ TAILQ_HEAD( _FreeMultiCastEntry, rtl865x_tblDrv_mCast_s) freeMultiCast;
+ } freeList;
+
+ struct inuseList_s {
+ TAILQ_HEAD( _InuseMCast, rtl865x_tblDrv_mCast_s) *mCastTbl;
+ }inuseList;
+
+};
+
+typedef struct rtl865x_mCastConfig_s{
+ unsigned int externalPortMask;
+
+}rtl865x_mCastConfig_t;
+
+int rtl865x_initMulticast(rtl865x_mCastConfig_t * mCastConfig);
+int rtl865x_reinitMulticast(void);
+
+int rtl865x_addMulticastExternalPort(unsigned int extPort);
+int rtl865x_delMulticastExternalPort(unsigned int extPort);
+
+int rtl865x_setMulticastExternalPortMask(unsigned int extPortMask);
+int rtl865x_getMulticastExternalPortMask(void);
+
+int rtl865x_addMulticastExternalPortMask(unsigned int extPortMask);
+int rtl865x_delMulticastExternalPortMask(unsigned int extPortMask);
+
+rtl865x_tblDrv_mCast_t *rtl865x_findMCastEntry(unsigned int mAddr, unsigned int sip, unsigned short svid, unsigned short sport);
+
+int rtl865x_addMulticastEntry(unsigned int mAddr, unsigned int sip, unsigned short svid, unsigned short sport,
+ rtl865x_mcast_fwd_descriptor_t * newFwdDescChain,
+ int flushOldChain, unsigned int extIp, char cpuHold, unsigned char flag);
+
+int rtl865x_delMulticastEntry(unsigned int mcast_addr);
+
+int rtl865x_genVirtualMCastFwdDescriptor(unsigned int forceToCpu, unsigned int fwdPortMask, rtl865x_mcast_fwd_descriptor_t *fwdDescriptor);
+int rtl865x_blockMulticastFlow(unsigned int srcVlanId, unsigned int srcPort,unsigned int srcIpAddr, unsigned int destIpAddr);
+
+#endif
+