#ifndef _IPV6_PROTOCOL_DEFINES_
#define _IPV6_PROTOCOL_DEFINES_
-
#define IPV6HDR_TYPE_HOPBYHOP 0x0
#define IPV6HDR_TYPE_ROUTING 0x2B
#define IPV6HDR_TYPE_FRAGMENTATION 0x2C
#define IPV6HDR_TYPE_ENCRYPTEDSECURITYPAYLOAD 0x34
#define MASK_IPV6_CS_SPEC 0x2
-
-#define TCP_HEADER_TYPE 0x6
-#define UDP_HEADER_TYPE 0x11
+#define TCP_HEADER_TYPE 0x6
+#define UDP_HEADER_TYPE 0x11
#define IPV6_ICMP_HDR_TYPE 0x2
#define IPV6_FLOWLABEL_BITOFFSET 9
UCHAR ucHopLimit;
ULONG ulSrcIpAddress[4];
ULONG ulDestIpAddress[4];
-}IPV6Header;
+} IPV6Header;
typedef struct IPV6RoutingHeaderFormatTag
{
ULONG ulReserved;
//UCHAR aucAddressList[0];
-}IPV6RoutingHeader;
+} IPV6RoutingHeader;
typedef struct IPV6FragmentHeaderFormatTag
{
- UCHAR ucNextHeader;
- UCHAR ucReserved;
+ UCHAR ucNextHeader;
+ UCHAR ucReserved;
USHORT usFragmentOffset;
ULONG ulIdentification;
-}IPV6FragmentHeader;
+} IPV6FragmentHeader;
typedef struct IPV6DestOptionsHeaderFormatTag
{
UCHAR ucHdrExtLen;
UCHAR ucDestOptions[6];
//UCHAR udExtDestOptions[0];
-}IPV6DestOptionsHeader;
+} IPV6DestOptionsHeader;
typedef struct IPV6HopByHopOptionsHeaderFormatTag
{
UCHAR ucNextHeader;
UCHAR ucMisc[3];
ULONG ulJumboPayloadLen;
-}IPV6HopByHopOptionsHeader;
+} IPV6HopByHopOptionsHeader;
typedef struct IPV6AuthenticationHeaderFormatTag
{
- UCHAR ucNextHeader;
- UCHAR ucLength;
+ UCHAR ucNextHeader;
+ UCHAR ucLength;
USHORT usReserved;
ULONG ulSecurityParametersIndex;
//UCHAR ucAuthenticationData[0];
-
-}IPV6AuthenticationHeader;
+} IPV6AuthenticationHeader;
typedef struct IPV6IcmpHeaderFormatTag
{
- UCHAR ucType;
- UCHAR ucCode;
+ UCHAR ucType;
+ UCHAR ucCode;
USHORT usChecksum;
//UCHAR ucIcmpMsg[0];
-
-}IPV6IcmpHeader;
+} IPV6IcmpHeader;
typedef enum _E_IPADDR_CONTEXT
{
eSrcIpAddress,
eDestIpAddress
-
-}E_IPADDR_CONTEXT;
-
-
+} E_IPADDR_CONTEXT;
//Function Prototypes
-USHORT IpVersion6(struct bcm_mini_adapter *Adapter, /**< Pointer to the driver control structure */
+USHORT IpVersion6(struct bcm_mini_adapter *Adapter, /**< Pointer to the driver control structure */
PVOID pcIpHeader, /**<Pointer to the IP Hdr of the packet*/
- struct bcm_classifier_rule *pstClassifierRule );
+ struct bcm_classifier_rule *pstClassifierRule);
VOID DumpIpv6Address(ULONG *puIpv6Address);
-extern BOOLEAN MatchSrcPort(struct bcm_classifier_rule *pstClassifierRule,USHORT ushSrcPort);
-extern BOOLEAN MatchDestPort(struct bcm_classifier_rule *pstClassifierRule,USHORT ushSrcPort);
-extern BOOLEAN MatchProtocol(struct bcm_classifier_rule *pstClassifierRule,UCHAR ucProtocol);
-
+extern BOOLEAN MatchSrcPort(struct bcm_classifier_rule *pstClassifierRule, USHORT ushSrcPort);
+extern BOOLEAN MatchDestPort(struct bcm_classifier_rule *pstClassifierRule, USHORT ushSrcPort);
+extern BOOLEAN MatchProtocol(struct bcm_classifier_rule *pstClassifierRule, UCHAR ucProtocol);
#endif