blob: d84d60ba48f934b59e94300d6d7e18633e8ea576 [file] [log] [blame]
Stephen Hemmingerf8942e02010-09-08 14:46:36 -07001#ifndef BCM_MINIPORT_PHSMODULE_H
2#define BCM_MINIPORT_PHSMODULE_H
3
Kevin McKinney29794602012-05-26 12:05:12 -04004int PHSTransmit(struct bcm_mini_adapter *Adapter,
Stephen Hemmingerf8942e02010-09-08 14:46:36 -07005 struct sk_buff **pPacket,
6 USHORT Vcid,
7 B_UINT16 uiClassifierRuleID,
Lisa Nguyen3abd6f12013-10-28 01:35:59 -07008 bool bHeaderSuppressionEnabled,
Stephen Hemmingerf8942e02010-09-08 14:46:36 -07009 PUINT PacketLen,
10 UCHAR bEthCSSupport);
11
Kevin McKinney29794602012-05-26 12:05:12 -040012int PHSReceive(struct bcm_mini_adapter *Adapter,
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070013 USHORT usVcid,
14 struct sk_buff *packet,
15 UINT *punPacketLen,
16 UCHAR *pucEthernetHdr,
17 UINT
18 );
19
20
21void DumpDataPacketHeader(PUCHAR pPkt);
22
Zahari Doychevad457762014-07-27 10:26:40 +020023void DumpFullPacket(UCHAR *pBuf, UINT nPktLen);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070024
Kevin McKinney60dadf92012-12-20 00:31:28 -050025void DumpPhsRules(struct bcm_phs_extension *pDeviceExtension);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070026
27
Zahari Doychevad457762014-07-27 10:26:40 +020028int phs_init(struct bcm_phs_extension *pPhsdeviceExtension,
29 struct bcm_mini_adapter *Adapter);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070030
Kevin McKinney60dadf92012-12-20 00:31:28 -050031int PhsCleanup(struct bcm_phs_extension *pPHSDeviceExt);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070032
Zahari Doychevad457762014-07-27 10:26:40 +020033/* Utility Functions */
34ULONG PhsUpdateClassifierRule(void *pvContext,
35 B_UINT16 uiVcid,
36 B_UINT16 uiClsId,
37 struct bcm_phs_rule *psPhsRule,
38 B_UINT8 u8AssociatedPHSI);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070039
Zahari Doychevad457762014-07-27 10:26:40 +020040ULONG PhsDeletePHSRule(void *pvContext, B_UINT16 uiVcid, B_UINT8 u8PHSI);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070041
Zahari Doychevad457762014-07-27 10:26:40 +020042ULONG PhsDeleteClassifierRule(void *pvContext,
43 B_UINT16 uiVcid,
44 B_UINT16 uiClsId);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070045
Zahari Doychevad457762014-07-27 10:26:40 +020046ULONG PhsDeleteSFRules(void *pvContext, B_UINT16 uiVcid);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070047
48
Lisa Nguyen3abd6f12013-10-28 01:35:59 -070049bool ValidatePHSRule(struct bcm_phs_rule *psPhsRule);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070050
Zahari Doychevad457762014-07-27 10:26:40 +020051UINT GetServiceFlowEntry(struct bcm_phs_table *psServiceFlowTable,
52 B_UINT16 uiVcid,
53 struct bcm_phs_entry **ppstServiceFlowEntry);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070054
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070055
Kevin McKinney60dadf92012-12-20 00:31:28 -050056void DumpPhsRules(struct bcm_phs_extension *pDeviceExtension);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070057
58
59#endif