W.A.S.P is an interface to Protocol++® to allow it to connect to a testbench and generate XML files with Protocol++® data. W.A.S.P accepts two input types either PPP (constraint file for random generation of packets) or PROTPP (data file containing packets to be driven into a testbench).
The PPP format (i.e., input.ppp) contains only stream, protocol, and security information. W.A.S.P interprets this type of file as either generating an output PROTPP file if the output is provided, or as generating random descriptors for the testbench that will subsequently be driven into the bench after generation.
The PPP has three possible formats as follows. NOTE: For all of these formats, any values not provided by the user are randomized
The PROTPP formation (i.e., input.protpp) contains stream, protocol, security, input, output, and expected values. W.A.S.P interpretes this type of input as the user wants to drive the testbench with the input file.
To use W.A.S.P, you can use one of the three constructs to pass in the XML input. W.A.S.P will parse the input and either
\class protocolpp protocolpp.xsd "schema/protocolpp.xsd"
\section ProtocolPPSchema Protocol++® (
ProtocolPP®) Configuration Schema
ProtocolPP® (Protocol++®) supports the following schema
\code
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="protocolpp">
<xs:complexType>
<xs:sequence>
<xs:element name="general" type="xs:string"/>
<xs:element name="stream" type="xs:string"/>
<xs:element name="protocol" type="xs:string"/>
<xs:element name="security" type="xs:string"/>
<xs:element name="input" type="xs:string"/>
<xs:element name="output" type="xs:string"/>
<xs:element name="expect" type="xs:string"/>
<xs:element name="data" type="xs:string"/>
</xs:sequence>
<xs:attribute name="ver" type="xs:string"/>
<xs:attribute name="format">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="ppp|protpp"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="general">
<xs:complexType>
<xs:attribute name="seed" type="xs:unsignedLong"/>
<xs:attribute name="debugclr">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="BLACK"/>
<xs:enumeration value="RED"/>
<xs:enumeration value="GREEN"/>
<xs:enumeration value="YELLOW"/>
<xs:enumeration value="BLUE"/>
<xs:enumeration value="MAGENTA"/>
<xs:enumeration value="CYAN"/>
<xs:enumeration value="WHITE"/>
<xs:enumeration value="BRIGHTBLACK"/>
<xs:enumeration value="BRIGHTRED"/>
<xs:enumeration value="BRIGHTGREEN"/>
<xs:enumeration value="BRIGHTYELLOW"/>
<xs:enumeration value="BRIGHTBLUE"/>
<xs:enumeration value="BRIGHTMAGENTA"/>
<xs:enumeration value="BRIGHTCYAN"/>
<xs:enumeration value="BRIGHTWHITE"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="infoclr">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="BLACK"/>
<xs:enumeration value="RED"/>
<xs:enumeration value="GREEN"/>
<xs:enumeration value="YELLOW"/>
<xs:enumeration value="BLUE"/>
<xs:enumeration value="MAGENTA"/>
<xs:enumeration value="CYAN"/>
<xs:enumeration value="WHITE"/>
<xs:enumeration value="BRIGHTBLACK"/>
<xs:enumeration value="BRIGHTRED"/>
<xs:enumeration value="BRIGHTGREEN"/>
<xs:enumeration value="BRIGHTYELLOW"/>
<xs:enumeration value="BRIGHTBLUE"/>
<xs:enumeration value="BRIGHTMAGENTA"/>
<xs:enumeration value="BRIGHTCYAN"/>
<xs:enumeration value="BRIGHTWHITE"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="warnclr">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="BLACK"/>
<xs:enumeration value="RED"/>
<xs:enumeration value="GREEN"/>
<xs:enumeration value="YELLOW"/>
<xs:enumeration value="BLUE"/>
<xs:enumeration value="MAGENTA"/>
<xs:enumeration value="CYAN"/>
<xs:enumeration value="WHITE"/>
<xs:enumeration value="BRIGHTBLACK"/>
<xs:enumeration value="BRIGHTRED"/>
<xs:enumeration value="BRIGHTGREEN"/>
<xs:enumeration value="BRIGHTYELLOW"/>
<xs:enumeration value="BRIGHTBLUE"/>
<xs:enumeration value="BRIGHTMAGENTA"/>
<xs:enumeration value="BRIGHTCYAN"/>
<xs:enumeration value="BRIGHTWHITE"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="fatalclr">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="BLACK"/>
<xs:enumeration value="RED"/>
<xs:enumeration value="GREEN"/>
<xs:enumeration value="YELLOW"/>
<xs:enumeration value="BLUE"/>
<xs:enumeration value="MAGENTA"/>
<xs:enumeration value="CYAN"/>
<xs:enumeration value="WHITE"/>
<xs:enumeration value="BRIGHTBLACK"/>
<xs:enumeration value="BRIGHTRED"/>
<xs:enumeration value="BRIGHTGREEN"/>
<xs:enumeration value="BRIGHTYELLOW"/>
<xs:enumeration value="BRIGHTBLUE"/>
<xs:enumeration value="BRIGHTMAGENTA"/>
<xs:enumeration value="BRIGHTCYAN"/>
<xs:enumeration value="BRIGHTWHITE"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="passclr">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="BLACK"/>
<xs:enumeration value="RED"/>
<xs:enumeration value="GREEN"/>
<xs:enumeration value="YELLOW"/>
<xs:enumeration value="BLUE"/>
<xs:enumeration value="MAGENTA"/>
<xs:enumeration value="CYAN"/>
<xs:enumeration value="WHITE"/>
<xs:enumeration value="BRIGHTBLACK"/>
<xs:enumeration value="BRIGHTRED"/>
<xs:enumeration value="BRIGHTGREEN"/>
<xs:enumeration value="BRIGHTYELLOW"/>
<xs:enumeration value="BRIGHTBLUE"/>
<xs:enumeration value="BRIGHTMAGENTA"/>
<xs:enumeration value="BRIGHTCYAN"/>
<xs:enumeration value="BRIGHTWHITE"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="endian">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="BIG"/>
<xs:enumeration value="LITTLE"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ptrsize">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:pattern value="8|16"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="sgtsize">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:pattern value="8|16"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="stream">
<xs:complexType>
<xs:sequence>
<xs:element name="protocol" type="xs:string"/>
<xs:element name="security" type="xs:string"/>
<xs:element name="input" type="xs:string"/>
<xs:element name="output" type="xs:string"/>
<xs:element name="expect" type="xs:string"/>
<xs:element name="data" type="xs:string"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="number" type="xs:string"/>
<xs:attribute name="packets" type="xs:string"/>
<xs:attribute name="datalen" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="protocol">
<xs:complexType>
<xs:sequence>
<xs:element name="security" type="xs:string"/>
<xs:element name="protocol" type="xs:string"/>
</xs:sequence>
<xs:attribute name="prot">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="PROTOCOL"/>
<xs:enumeration value="MACSEC"/>
<xs:enumeration value="WIFI"/>
<xs:enumeration value="WIGIG"/>
<xs:enumeration value="WIMAX"/>
<xs:enumeration value="LTE"/>
<xs:enumeration value="RLC"/>
<xs:enumeration value="TLS"/>
<xs:enumeration value="SRTP"/>
<xs:enumeration value="UDPP"/>
<xs:enumeration value="TCPP"/>
<xs:enumeration value="ICMP"/>
<xs:enumeration value="IP"/>
<xs:enumeration value="IPSEC"/>
<xs:enumeration value="XMLPARSER"/>
<xs:enumeration value="RSA"/>
<xs:enumeration value="DSA"/>
<xs:enumeration value="ECDSAED"/>
<xs:enumeration value="ECDSAFP"/>
<xs:enumeration value="ECDSAF2M"/>
<xs:enumeration value="INTEGRITY"/>
<xs:enumeration value="CONFIDENT"/>
<xs:enumeration value="BLOB"/>
<xs:enumeration value="XMSS"/>
<xs:enumeration value="LMS"/>
<xs:enumeration value="TLS13"/>
<xs:enumeration value="DTLS13"/>
<xs:enumeration value="EGRE"/>
<xs:enumeration value="NVGRE"/>
<xs:enumeration value="VXLAN"/>
<xs:enumeration value="NOPROTO"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="dir">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ENCAP"/>
<xs:enumeration value="DECAP"/>
<xs:enumeration value="ENC"/>
<xs:enumeration value="DEC"/>
<xs:enumeration value="UPLINK"/>
<xs:enumeration value="DOWNLINK"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="replay">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="NORMAL"/>
<xs:enumeration value="SHIFT"/>
<xs:enumeration value="WINDOW"/>
<xs:enumeration value="REPLAY"/>
<xs:enumeration value="LATE"/>
<xs:enumeration value="ROLLOVER"/>
<xs:enumeration value="ROLLUNDER"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="file" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="security">
<xs:complexType>
<xs:attribute name="name">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:string value="udpsa"/>
<xs:string value="tcpsa"/>
<xs:string value="ipsa"/>
<xs:string value="icmpsa"/>
<xs:string value="tlsa"/>
<xs:string value="tlsa13"/>
<xs:string value="dtlsa13"/>
<xs:string value="macsecsa"/>
<xs:string value="gresa"/>
<xs:string value="ltesa"/>
<xs:string value="srtpsa"/>
<xs:string value="wifisa"/>
<xs:string value="wimaxsa"/>
<xs:string value="rsasa"/>
<xs:string value="dsasa"/>
<xs:string value="ecdsaedsa"/>
<xs:string value="ecdsafpsa"/>
<xs:string value="ecdsaf2msa"/>
<xs:string value="integritysa"/>
<xs:string value="confidentsa"/>
<xs:string value="memblobsa"/>
<xs:string value="xmssa"/>
<xs:string value="lmsa"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute name="dir">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ENCAP"/>
<xs:enumeration value="DECAP"/>
<xs:enumeration value="ENC"/>
<xs:enumeration value="DEC"/>
<xs:enumeration value="UPLINK"/>
<xs:enumeration value="DOWNLINK"/>
<xs:enumeration value="NODIR"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="cipher">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="NULL_CIPHER"/>
<xs:enumeration value="DES_ECB"/>
<xs:enumeration value="DES_CBC"/>
<xs:enumeration value="TDES_ECB"/>
<xs:enumeration value="TDES_CBC"/>
<xs:enumeration value="AES_ECB"/>
<xs:enumeration value="AES_CBC"/>
<xs:enumeration value="AES_CTR"/>
<xs:enumeration value="AES_CCM"/>
<xs:enumeration value="AES_GCM"/>
<xs:enumeration value="SERPENT_ECB"/>
<xs:enumeration value="SERPENT_CBC"/>
<xs:enumeration value="SERPENT_CTR"/>
<xs:enumeration value="SERPENT_CCM"/>
<xs:enumeration value="SERPENT_GCM"/>
<xs:enumeration value="CHACHA20"/>
<xs:enumeration value="CHACHA20_POLY1305"/>
<xs:enumeration value="CAMELLIA_ECB"/>
<xs:enumeration value="CAMELLIA_CBC"/>
<xs:enumeration value="CAMELLIA_CTR"/>
<xs:enumeration value="CAMELLIA_CCM"/>
<xs:enumeration value="CAMELLIA_GCM"/>
<xs:enumeration value="ARIA_ECB"/>
<xs:enumeration value="ARIA_CBC"/>
<xs:enumeration value="ARIA_CTR"/>
<xs:enumeration value="ARIA_GCM"/>
<xs:enumeration value="SEED_ECB"/>
<xs:enumeration value="SEED_CBC"/>
<xs:enumeration value="SEED_CTR"/>
<xs:enumeration value="SEED_GCM"/>
<xs:enumeration value="SM4_ECB"/>
<xs:enumeration value="SM4_CBC"/>
<xs:enumeration value="SM4_CTR"/>
<xs:enumeration value="SM4_GCM"/>
<xs:enumeration value="SM4_CCM"/>
<xs:enumeration value="ARC4"/>
<xs:enumeration value="SNOWE"/>
<xs:enumeration value="SNOWV"/>
<xs:enumeration value="SNOWV_GCM"/>
<xs:enumeration value="ZUCE"/>
<xs:enumeration value="NONE_ENC"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="auth">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="NULL_AUTH"/>
<xs:enumeration value="MD5"/>
<xs:enumeration value="SHA1"/>
<xs:enumeration value="SHA224"/>
<xs:enumeration value="SHA256"/>
<xs:enumeration value="SHA384"/>
<xs:enumeration value="SHA512"/>
<xs:enumeration value="SHA3_224"/>
<xs:enumeration value="SHA3_256"/>
<xs:enumeration value="SHA3_384"/>
<xs:enumeration value="SHA3_512"/>
<xs:enumeration value="SHAKE128"/>
<xs:enumeration value="SHAKE256"/>
<xs:enumeration value="HMAC_MD5"/>
<xs:enumeration value="HMAC_SHA1"/>
<xs:enumeration value="HMAC_SHA2_224"/>
<xs:enumeration value="HMAC_SHA2_256"/>
<xs:enumeration value="HMAC_SHA2_384"/>
<xs:enumeration value="HMAC_SHA2_512"/>
<xs:enumeration value="HMAC_SHA3_224"/>
<xs:enumeration value="HMAC_SHA3_256"/>
<xs:enumeration value="HMAC_SHA3_384"/>
<xs:enumeration value="HMAC_SHA3_512"/>
<xs:enumeration value="AES_XCBC_MAC"/>
<xs:enumeration value="POLY1305"/>
<xs:enumeration value="AES_CMAC"/>
<xs:enumeration value="AES_GMAC"/>
<xs:enumeration value="SM3"/>
<xs:enumeration value="SNOWA"/>
<xs:enumeration value="SNOWVA"/>
<xs:enumeration value="ZUCA"/>
<xs:enumeration value="CRC5"/>
<xs:enumeration value="CRC7"/>
<xs:enumeration value="CRC8"/>
<xs:enumeration value="CRC11"/>
<xs:enumeration value="CRC12"/>
<xs:enumeration value="CRC16"/>
<xs:enumeration value="CRC16_CCITT"/>
<xs:enumeration value="CRC24"/>
<xs:enumeration value="CRC32_IETF"/>
<xs:enumeration value="CRC32_IEEE"/>
<xs:enumeration value="CRC_POLY"/>
<xs:enumeration value="XMSS_SHA2_10_256"/>
<xs:enumeration value="XMSS_SHA2_16_256"/>
<xs:enumeration value="XMSS_SHA2_20_256"/>
<xs:enumeration value="XMSS_SHA2_10_512"/>
<xs:enumeration value="XMSS_SHA2_16_512"/>
<xs:enumeration value="XMSS_SHA2_20_512"/>
<xs:enumeration value="XMSS_SHAKE_10_256"/>
<xs:enumeration value="XMSS_SHAKE_16_256"/>
<xs:enumeration value="XMSS_SHAKE_20_256"/>
<xs:enumeration value="XMSS_SHAKE_10_512"/>
<xs:enumeration value="XMSS_SHAKE_16_512"/>
<xs:enumeration value="XMSS_SHAKE_20_512"/>
<xs:enumeration value="LMS_SHA256_M32_H5"/>
<xs:enumeration value="LMS_SHA256_M32_H10"/>
<xs:enumeration value="LMS_SHA256_M32_H15"/>
<xs:enumeration value="LMS_SHA256_M32_H20"/>
<xs:enumeration value="LMS_SHA256_M32_H25"/>
<xs:enumeration value="NONE_AUTH"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="otsauth">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="LMOTS_SHA256_N32_W1"/>
<xs:enumeration value="LMOTS_SHA256_N32_W2"/>
<xs:enumeration value="LMOTS_SHA256_N32_W4"/>
<xs:enumeration value="LMOTS_SHA256_N32_W8"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ivlen">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="4096"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute name="ckeylen">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:pattern value="0|8|16|24|32"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="akeylen" type="xs:unsignedInt"/>
<xs:attribute name="polynomial" type="xs:unsignedInt"/>
<xs:attribute name="icvlen">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="64"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="aadlen">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="4096"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="blobkeylen">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="64"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="bkeklen">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="64"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="key" type="xs:unsignedInt"/>
<xs:attribute name="protype" type="xs:unsignedShort"/>
<xs:attribute name="flowid" type="xs:unsignedByte"/>
<xs:attribute name="seqnum" type="xs:unsignedLong"/>
<xs:attribute name="extseqnum" type="xs:unsignedLong"/>
<xs:attribute name="arlen">
<xs:simpleType>
<xs:restriction base="xs:unsignedLong">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="2048"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="arwin" type="xs:hexBinary"/>
<xs:attribute name="cipherkey" type="xs:hexBinary"/>
<xs:attribute name="authkey" type="xs:hexBinary"/>
<xs:attribute name="iv" type="xs:hexBinary"/>
<xs:attribute name="exthdr" type="xs:hexBinary"/>
<xs:attribute name="usext">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="enreceive">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="entransmit">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="protectframes">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="jumbogram">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="zeroinit">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="swapin">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="swapout">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="compout">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="msg">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ECHORPLYMSG"/>
<xs:enumeration value="RSVD1"/>
<xs:enumeration value="RSVD2"/>
<xs:enumeration value="DESTUNRCH"/>
<xs:enumeration value="SRCQNCH"/>
<xs:enumeration value="RDIRMSG"/>
<xs:enumeration value="ALTHOST"/>
<xs:enumeration value="RSVD"/>
<xs:enumeration value="ECHORQST"/>
<xs:enumeration value="RTRADVERT"/>
<xs:enumeration value="RTRSOLCIT"/>
<xs:enumeration value="TIMEXCEED"/>
<xs:enumeration value="BADIPHDR"/>
<xs:enumeration value="TIMESTMP"/>
<xs:enumeration value="TIMERPLY"/>
<xs:enumeration value="INFORQST"/>
<xs:enumeration value="INFORPLY"/>
<xs:enumeration value="ADMSKRQST"/>
<xs:enumeration value="ADMSKRPLY"/>
<xs:enumeration value="TRACERTE"/>
<xs:enumeration value="NODEST"/>
<xs:enumeration value="PKTBIG"/>
<xs:enumeration value="TIMEOUT"/>
<xs:enumeration value="PARAM"/>
<xs:enumeration value="PRVTE1"/>
<xs:enumeration value="PRVTE2"/>
<xs:enumeration value="RSVDE"/>
<xs:enumeration value="ECHORQSTV6"/>
<xs:enumeration value="ECHORPLYV6"/>
<xs:enumeration value="PRVTI1"/>
<xs:enumeration value="PRVTI2"/>
<xs:enumeration value="RSVDI"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="code">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ECHORPLY"/>
<xs:enumeration value="NONETWRK"/>
<xs:enumeration value="NOHOST"/>
<xs:enumeration value="NOPROT"/>
<xs:enumeration value="NOPORT"/>
<xs:enumeration value="FRAGRQD"/>
<xs:enumeration value="RTEFAIL"/>
<xs:enumeration value="DSTUNKNWN"/>
<xs:enumeration value="DSTHSTUNKNWN"/>
<xs:enumeration value="SRCHSTISOLT"/>
<xs:enumeration value="NETWKPROHIB"/>
<xs:enumeration value="HOSTPROHIB"/>
<xs:enumeration value="NETWKNOTOS"/>
<xs:enumeration value="HOSTNOTOS"/>
<xs:enumeration value="COMMPROHIB"/>
<xs:enumeration value="HOSTVILATE"/>
<xs:enumeration value="CUTOFF"/>
<xs:enumeration value="REDIRNETWK"/>
<xs:enumeration value="REDIRHOST"/>
<xs:enumeration value="REDIRTOSN"/>
<xs:enumeration value="REDIRTOSH"/>
<xs:enumeration value="TTLEXPIRE"/>
<xs:enumeration value="FRAGEXPIRE"/>
<xs:enumeration value="PTRINDERR"/>
<xs:enumeration value="OPTERR"/>
<xs:enumeration value="BADLENGTH"/>
<xs:enumeration value="NOROUTE"/>
<xs:enumeration value="COMMPROHIBV6"/>
<xs:enumeration value="BYNDSRCADDR"/>
<xs:enumeration value="ADDRUNREACH"/>
<xs:enumeration value="PORTUNREACH"/>
<xs:enumeration value="SRCADDRPLCY"/>
<xs:enumeration value="REJECTDST"/>
<xs:enumeration value="HOPLMTEXCD"/>
<xs:enumeration value="FRAGTIME"/>
<xs:enumeration value="ERRHDRFIELD"/>
<xs:enumeration value="NXTHDRERR"/>
<xs:enumeration value="IPV6OPTERR"/>
<xs:enumeration value="SEQNUMRST"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="src" type="xs:hexBinary"/>
<xs:attribute name="dst" type="xs:hexBinary"/>
<xs:attribute name="state">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="LISTEN"/>
<xs:enumeration value="SYN_SENT"/>
<xs:enumeration value="SYN_RCVD"/>
<xs:enumeration value="ESTABLISHED"/>
<xs:enumeration value="FIN_WAIT_1"/>
<xs:enumeration value="FIN_WAIT_2"/>
<xs:enumeration value="CLOSE_WAIT"/>
<xs:enumeration value="LAST_ACK"/>
<xs:enumeration value="TIME_WAIT"/>
<xs:enumeration value="CLOSED"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="mtu" type="xs:unsignedInt"/>
<xs:attribute name="acknum" type="xs:unsignedInt"/>
<xs:attribute name="version" type="xs:string"/>
<xs:attribute name="nh">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="LISTEN"/>
<xs:enumeration value="HOPOPT"/>
<xs:enumeration value="ICMP"/>
<xs:enumeration value="IGMP"/>
<xs:enumeration value="GGP"/>
<xs:enumeration value="IPV4"/>
<xs:enumeration value="ST"/>
<xs:enumeration value="TCP"/>
<xs:enumeration value="CBT"/>
<xs:enumeration value="EGP"/>
<xs:enumeration value="IGP"/>
<xs:enumeration value="BBN_RCC_MON"/>
<xs:enumeration value="NVP_II"/>
<xs:enumeration value="PUP"/>
<xs:enumeration value="ARGUS"/>
<xs:enumeration value="EMCON"/>
<xs:enumeration value="XNET"/>
<xs:enumeration value="CHAOS"/>
<xs:enumeration value="UDP"/>
<xs:enumeration value="MUX"/>
<xs:enumeration value="DCN_MEAS"/>
<xs:enumeration value="HMP"/>
<xs:enumeration value="PRM"/>
<xs:enumeration value="XNS_IDP"/>
<xs:enumeration value="TRUNK_1"/>
<xs:enumeration value="TRUNK_2"/>
<xs:enumeration value="LEAF_1"/>
<xs:enumeration value="LEAF_2"/>
<xs:enumeration value="RDP"/>
<xs:enumeration value="IRTP"/>
<xs:enumeration value="ISO_TP4"/>
<xs:enumeration value="NETBLT"/>
<xs:enumeration value="MFE_NSP"/>
<xs:enumeration value="MERIT_INP"/>
<xs:enumeration value="DCCP"/>
<xs:enumeration value="THREE_PC"/>
<xs:enumeration value="IDPR"/>
<xs:enumeration value="XTP"/>
<xs:enumeration value="DDP"/>
<xs:enumeration value="IDPR_CMTP"/>
<xs:enumeration value="TP_PLUS"/>
<xs:enumeration value="IL"/>
<xs:enumeration value="IPV6"/>
<xs:enumeration value="SDRP"/>
<xs:enumeration value="IPV6_ROUTE"/>
<xs:enumeration value="IPV6_FRAG"/>
<xs:enumeration value="IDRP"/>
<xs:enumeration value="RSVP"/>
<xs:enumeration value="GRE"/>
<xs:enumeration value="DSR"/>
<xs:enumeration value="BNA"/>
<xs:enumeration value="ESP"/>
<xs:enumeration value="AH"/>
<xs:enumeration value="I_NLSP"/>
<xs:enumeration value="SWIPE"/>
<xs:enumeration value="NARP"/>
<xs:enumeration value="MOBILE"/>
<xs:enumeration value="TLSP"/>
<xs:enumeration value="SKIP"/>
<xs:enumeration value="ICMPV6"/>
<xs:enumeration value="IPV6_NONXT"/>
<xs:enumeration value="IPV6_OPTS"/>
<xs:enumeration value="HOST_INT_PROT"/>
<xs:enumeration value="CFTP"/>
<xs:enumeration value="LOCAL_NET"/>
<xs:enumeration value="SAT_EXPAK"/>
<xs:enumeration value="KRYPTOLAN"/>
<xs:enumeration value="RVD"/>
<xs:enumeration value="IPPC"/>
<xs:enumeration value="DFS"/>
<xs:enumeration value="SAT_MON"/>
<xs:enumeration value="VISA"/>
<xs:enumeration value="IPCV"/>
<xs:enumeration value="CPNX"/>
<xs:enumeration value="CPHB"/>
<xs:enumeration value="WSN"/>
<xs:enumeration value="PVP"/>
<xs:enumeration value="BR_SAT_MON"/>
<xs:enumeration value="SUN_ND"/>
<xs:enumeration value="WB_MON"/>
<xs:enumeration value="WB_EXPAK"/>
<xs:enumeration value="ISO_IP"/>
<xs:enumeration value="VMTP"/>
<xs:enumeration value="SECURE_VMTP"/>
<xs:enumeration value="VINES"/>
<xs:enumeration value="TTP"/>
<xs:enumeration value="IPTM"/>
<xs:enumeration value="NSFNET_IGP"/>
<xs:enumeration value="DGP"/>
<xs:enumeration value="TCF"/>
<xs:enumeration value="EIGRP"/>
<xs:enumeration value="OSPFIGP"/>
<xs:enumeration value="SPRITE_RPC"/>
<xs:enumeration value="LARP"/>
<xs:enumeration value="MTP"/>
<xs:enumeration value="AX_25"/>
<xs:enumeration value="MICP"/>
<xs:enumeration value="SCC_SP"/>
<xs:enumeration value="ETHERIP"/>
<xs:enumeration value="IENCAP"/>
<xs:enumeration value="PRIV_ENCRYPT"/>
<xs:enumeration value="GMTP"/>
<xs:enumeration value="IFMP"/>
<xs:enumeration value="PNNI"/>
<xs:enumeration value="PIM"/>
<xs:enumeration value="ARIS"/>
<xs:enumeration value="SCPS"/>
<xs:enumeration value="QNX"/>
<xs:enumeration value="A_N"/>
<xs:enumeration value="IPCOMP"/>
<xs:enumeration value="SNP"/>
<xs:enumeration value="COMPAQ_PEER"/>
<xs:enumeration value="IPX_IN_IP"/>
<xs:enumeration value="VRRP"/>
<xs:enumeration value="PGM"/>
<xs:enumeration value="ZERO_HOP_PROT"/>
<xs:enumeration value="L2TP"/>
<xs:enumeration value="DDX"/>
<xs:enumeration value="IATP"/>
<xs:enumeration value="STP"/>
<xs:enumeration value="SRP"/>
<xs:enumeration value="UTI"/>
<xs:enumeration value="SMP"/>
<xs:enumeration value="SM"/>
<xs:enumeration value="PTP"/>
<xs:enumeration value="ISIS_OVER_IPV4"/>
<xs:enumeration value="FIRE"/>
<xs:enumeration value="CRTP"/>
<xs:enumeration value="CRUDP"/>
<xs:enumeration value="SSCOPMCE"/>
<xs:enumeration value="IPLT"/>
<xs:enumeration value="SPS"/>
<xs:enumeration value="PIPE"/>
<xs:enumeration value="SCTP"/>
<xs:enumeration value="FC"/>
<xs:enumeration value="RSVP_E2E_IGNORE"/>
<xs:enumeration value="MOBILITY_HEADER"/>
<xs:enumeration value="UDPLITE"/>
<xs:enumeration value="MPLS_IN_IP"/>
<xs:enumeration value="MANET"/>
<xs:enumeration value="HIP"/>
<xs:enumeration value="SHIM6"/>
<xs:enumeration value="WESP"/>
<xs:enumeration value="ROHC"/>
<xs:enumeration value="JUMBOGRAM"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="dsecn" type="xs:unsignedByte"/>
<xs:attribute name="flags" type="xs:unsignedByte"/>
<xs:attribute name="doffset" type="xs:unsignedByte"/>
<xs:attribute name="window" type="xs:unsignedShort"/>
<xs:attribute name="urgpointer" type="xs:unsignedShort"/>
<xs:attribute name="timeout" type="xs:unsignedInt"/>
<xs:attribute name="ttl">
<xs:simpleType>
<xs:restriction base="xs:unsignedByte">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="wimaxmode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="OFDM"/>
<xs:enumeration value="OFDMA"/>
<xs:enumeration value="AGMH_OFDM"/>
<xs:enumeration value="AGMH_OFDMA"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="macsecmode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="AES_GCM_128"/>
<xs:enumeration value="AES_GCM_256"/>
<xs:enumeration value="AES_GCM_XPN_128"/>
<xs:enumeration value="AES_GCM_XPN_256"/>
<xs:enumeration value="NULL_MACSEC"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="srtpcipher">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="NULL_SRTP"/>
<xs:enumeration value="AES_CTR_SHA1"/>
<xs:enumeration value="AEAD_AES_128_GCM"/>
<xs:enumeration value="AEAD_AES_256_GCM"/>
<xs:enumeration value="AEAD_AES_128_GCM_8"/>
<xs:enumeration value="AEAD_AES_256_GCM_8"/>
<xs:enumeration value="AEAD_AES_128_GCM_12"/>
<xs:enumeration value="AEAD_AES_256_GCM_12"/>
<xs:enumeration value="AEAD_AES_128_CCM"/>
<xs:enumeration value="AEAD_AES_256_CCM"/>
<xs:enumeration value="AEAD_AES_128_CCM_8"/>
<xs:enumeration value="AEAD_AES_256_CCM_8"/>
<xs:enumeration value="AEAD_AES_128_CCM_12"/>
<xs:enumeration value="AEAD_AES_256_CCM_12"/>
<xs:enumeration value="ARIA_128_CTR_HMAC_SHA1_80"/>
<xs:enumeration value="ARIA_128_CTR_HMAC_SHA1_32"/>
<xs:enumeration value="ARIA_192_CTR_HMAC_SHA1_80"/>
<xs:enumeration value="ARIA_192_CTR_HMAC_SHA1_32"/>
<xs:enumeration value="ARIA_256_CTR_HMAC_SHA1_80"/>
<xs:enumeration value="ARIA_256_CTR_HMAC_SHA1_32"/>
<xs:enumeration value="AEAD_ARIA_128_GCM"/>
<xs:enumeration value="AEAD_ARIA_256_GCM"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="id" type="xs:unsignedShort"/>
<xs:attribute name="label" type="xs:unsignedInt"/>
<xs:attribute name="mode" type="xs:string"/>
<xs:attribute name="spi" type="xs:unsignedInt"/>
<xs:attribute name="bytecnt" type="xs:unsignedLong"/>
<xs:attribute name="lifetime" type="xs:unsignedLong"/>
<xs:attribute name="seqnumovrflw">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="statefulfrag">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="bypassdf">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="bypassdscp">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="nat">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="nchk">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="natsrc">
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="65535"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="natdst">
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="65535"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="fragoff" type="xs:unsignedShort"/>
<xs:attribute name="morefrag">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="fragid" type="xs:unsignedInt"/>
<xs:attribute name="hdrlen">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="4096"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="vni">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="16777215"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tfclen">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="512"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="randiv">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="audit">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="auditlog" type="xs:string"/>
<xs:attribute name="sci" type="xs:unsignedLong"/>
<xs:attribute name="pn" type="xs:unsignedInt"/>
<xs:attribute name="xpn" type="xs:unsignedInt"/>
<xs:attribute name="ethtype" type="xs:unsignedShort"/>
<xs:attribute name="tcian" type="xs:unsignedByte"/>
<xs:attribute name="sl" type="xs:unsignedByte"/>
<xs:attribute name="roc" type="xs:unsignedInt"/>
<xs:attribute name="ssrc" type="xs:unsignedInt"/>
<xs:attribute name="ver" type="xs:unsignedInt"/>
<xs:attribute name="type" type="xs:unsignedInt"/>
<xs:attribute name="vlantag1" type="xs:unsignedInt"/>
<xs:attribute name="vlantag2" type="xs:unsignedInt"/>
<xs:attribute name="ssci" type="xs:unsignedInt"/>
<xs:attribute name="pad">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ext">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="marker">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="mki">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="mkilen" type="xs:unsignedInt"/>
<xs:attribute name="cc" type="xs:unsignedInt"/>
<xs:attribute name="blksize">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:pattern value="0|4|8|16"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="saltlen">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="3"/>
<xs:maxInclusive value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="salt" type="xs:hexBinary"/>
<xs:attribute name="mkidata" type="xs:hexBinary"/>
<xs:attribute name="csrc" type="xs:hexBinary"/>
<xs:attribute name="ctlext">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="SSW"/>
<xs:enumeration value="GRANT"/>
<xs:enumeration value="POLL"/>
<xs:enumeration value="SSWACK"/>
<xs:enumeration value="DMGDTS"/>
<xs:enumeration value="SSWFDBCK"/>
<xs:enumeration value="DMGCTS"/>
<xs:enumeration value="SPR"/>
<xs:enumeration value="GRANTACK"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="kdfalg">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="SHA1"/>
<xs:enumeration value="SHA256"/>
<xs:enumeration value="SHA384"/>
<xs:enumeration value="SHA512"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="sppcap">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="cbit">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="kbit">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="sbit">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="lbit">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="cid" type="xs:unsignedByte"/>
<xs:attribute name="authfail" type="xs:unsignedLong"/>
<xs:attribute name="appsec" type="xs:hexBinary"/>
<xs:attribute name="tlsver">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="SSL30"/>
<xs:enumeration value="TLS10"/>
<xs:enumeration value="TLS11"/>
<xs:enumeration value="TLS12"/>
<xs:enumeration value="DTLS"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tlstype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="CHG_CIPHER_SPEC"/>
<xs:enumeration value="ALERT"/>
<xs:enumeration value="HANDSHAKE"/>
<xs:enumeration value="APPLICATION"/>
<xs:enumeration value="HEARTBEAT"/>
<xs:enumeration value="ACK"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ciphersuite">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="TLS_NULL_WITH_NULL_NULL"/>
<xs:enumeration value="TLS_SM4_GCM_SM3"/>
<xs:enumeration value="TLS_SM4_CCM_SM3"/>
<xs:enumeration value="TLS_RSA_WITH_AES_256_GCM_SHA384"/>
<xs:enumeration value="TLS_DHE_RSA_WITH_AES_256_GCM_SHA384"/>
<xs:enumeration value="TLS_DH_RSA_WITH_AES_256_GCM_SHA384"/>
<xs:enumeration value="TLS_DHE_DSS_WITH_AES_256_GCM_SHA384"/>
<xs:enumeration value="TLS_DH_DSS_WITH_AES_256_GCM_SHA384"/>
<xs:enumeration value="TLS_DH_ANON_WITH_AES_256_GCM_SHA384"/>
<xs:enumeration value="TLS_PSK_WITH_AES_256_GCM_SHA384"/>
<xs:enumeration value="TLS_DHE_PSK_WITH_AES_256_GCM_SHA384"/>
<xs:enumeration value="TLS_RSA_PSK_WITH_AES_256_GCM_SHA384"/>
<xs:enumeration value="TLS_PSK_WITH_AES_256_CBC_SHA384"/>
<xs:enumeration value="TLS_PSK_WITH_NULL_SHA384"/>
<xs:enumeration value="TLS_DHE_PSK_WITH_AES_256_CBC_SHA384"/>
<xs:enumeration value="TLS_DHE_PSK_WITH_NULL_SHA384"/>
<xs:enumeration value="TLS_RSA_PSK_WITH_AES_256_CBC_SHA384"/>
<xs:enumeration value="TLS_RSA_PSK_WITH_NULL_SHA384"/>
<xs:enumeration value="TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"/>
<xs:enumeration value="TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384"/>
<xs:enumeration value="TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"/>
<xs:enumeration value="TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384"/>
<xs:enumeration value="TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"/>
<xs:enumeration value="TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384"/>
<xs:enumeration value="TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"/>
<xs:enumeration value="TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384"/>
<xs:enumeration value="TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384"/>
<xs:enumeration value="TLS_ECDHE_PSK_WITH_NULL_SHA384"/>
<xs:enumeration value="TLS_RSA_WITH_AES_256_CCM"/>
<xs:enumeration value="TLS_DHE_RSA_WITH_AES_256_CCM"/>
<xs:enumeration value="TLS_RSA_WITH_AES_256_CCM_8"/>
<xs:enumeration value="TLS_DHE_RSA_WITH_AES_256_CCM_8"/>
<xs:enumeration value="TLS_PSK_WITH_AES_256_CCM"/>
<xs:enumeration value="TLS_DHE_PSK_WITH_AES_256_CCM"/>
<xs:enumeration value="TLS_PSK_WITH_AES_256_CCM_8"/>
<xs:enumeration value="TLS_PSK_DHE_WITH_AES_256_CCM_8"/>
<xs:enumeration value="TLS_ECDHE_ECDSA_WITH_AES_256_CCM"/>
<xs:enumeration value="TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8"/>
<xs:enumeration value="TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256"/>
<xs:enumeration value="TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"/>
<xs:enumeration value="TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256"/>
<xs:enumeration value="TLS_PSK_WITH_CHACHA20_POLY1305_SHA256"/>
<xs:enumeration value="TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256"/>
<xs:enumeration value="TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256"/>
<xs:enumeration value="TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256"/>
<xs:enumeration value="TLS_AES_256_GCM_SHA384"/>
<xs:enumeration value="TLS_CHACHA20_POLY1305_SHA256"/>
<xs:enumeration value="TLS_NO_CIPHERSUITE"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="epoch" type="xs:unsignedShort"/>
<xs:attribute name="ivex">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="encthenmac">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="addr1" type="xs:unsignedLong"/>
<xs:attribute name="addr2" type="xs:unsignedLong"/>
<xs:attribute name="addr3" type="xs:unsignedLong"/>
<xs:attribute name="addr4" type="xs:unsignedLong"/>
<xs:attribute name="framectl" type="xs:unsignedShort"/>
<xs:attribute name="seqctl" type="xs:unsignedShort"/>
<xs:attribute name="qosctl" type="xs:unsignedShort"/>
<xs:attribute name="htctl" type="xs:unsignedInt"/>
<xs:attribute name="keyid" type="xs:unsignedByte"/>
<xs:attribute name="extiv">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="fcs">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="eks" type="xs:unsignedByte"/>
<xs:attribute name="fid" type="xs:unsignedByte"/>
<xs:attribute name="cid" type="xs:unsignedShort"/>
<xs:attribute name="eh">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ht">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ec">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="esf">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ci">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="datctrl">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pdutype" type="xs:unsignedByte"/>
<xs:attribute name="poll">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="rsn">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="true|false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="snlen">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:pattern value="5|7|12|15|16|18"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="hdrext" type="xs:unsignedByte"/>
<xs:attribute name="lenind" type="xs:unsignedShort"/>
<xs:attribute name="hfni" type="xs:unsignedInt"/>
<xs:attribute name="sufi" type="xs:unsignedInt"/>
<xs:attribute name="fms" type="xs:unsignedInt"/>
<xs:attribute name="pgkindex" type="xs:unsignedByte"/>
<xs:attribute name="ptkident" type="xs:unsignedShort"/>
<xs:attribute name="sdutype" type="xs:unsignedByte"/>
<xs:attribute name="kdid" type="xs:unsignedShort"/>
<xs:attribute name="nmp" type="xs:unsignedInt"/>
<xs:attribute name="hrw" type="xs:unsignedInt"/>
<xs:attribute name="count" type="xs:unsignedInt"/>
<xs:attribute name="bearer" type="xs:unsignedByte"/>
<xs:attribute name="fresh" type="xs:unsignedInt"/>
<xs:attribute name="bitmaplen" type="xs:unsignedInt"/>
<xs:attribute name="bitmap" type="xs:hexBinary"/>
<xs:attribute name="prime" type="xs:hexBinary"/>
<xs:attribute name="subprime" type="xs:hexBinary"/>
<xs:attribute name="generator" type="xs:hexBinary"/>
<xs:attribute name="prvkey" type="xs:hexBinary"/>
<xs:attribute name="pubkey" type="xs:hexBinary"/>
<xs:attribute name="bitsize" type="xs:unsignedInt"/>
<xs:attribute name="padtype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="PKCS15"/>
<xs:enumeration value="PSS"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="enc">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="PKCS"/>
<xs:enumeration value="OAEP_SHA"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="curve">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="SECP256K1"/>
<xs:enumeration value="SECP384R1"/>
<xs:enumeration value="SECP521R1"/>
<xs:enumeration value="CURVE448"/>
<xs:enumeration value="CURVE25519"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="input">
<xs:complexType>
<xs:sequence>
<xs:element name="data" type="xs:hexBinary"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="stream" type="xs:string"/>
<xs:attribute name="prev" type="xs:string"/>
<xs:attribute name="write" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="output">
<xs:complexType>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="stream" type="xs:string"/>
<xs:attribute name="len" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="expect">
<xs:complexType>
<xs:sequence>
<xs:element name="data" type="xs:hexBinary"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="stream" type="xs:string"/>
<xs:attribute name="read" type="xs:string"/>
<xs:attribute name="status" type="xs:unsignedInt"/>
</xs:complexType>
</xs:element>
<xs:element name="data">
<xs:complexType>
<xs:attribute name="width" type="xs:integer"/>
<xs:attribute name="len" type="xs:integer"/>
</xs:complexType>
</xs:element>
</xs:schema>
Definition: aead_chacha_poly1305.h:241
The source code contained or described herein and all documents related to the source code (herein called "Material") are owned by John Peter Greninger and Sheila Rocha Greninger. Title to the Material remains with John Peter Greninger and Sheila Rocha Greninger. The Material contains trade secrets and proprietary and confidential information of John Peter Greninger and Sheila Rocha Greninger. The Material is protected by worldwide copyright and trade secret laws and treaty provisions. No part of the Material may be used, copied, reproduced, modified, published, uploaded, posted, transmitted, distributed, or disclosed in any way without prior express written consent of John Peter Greninger and Sheila Rocha Greninger (both are required)
No license under any patent, copyright, trade secret, or other intellectual property right is granted to or conferred upon you by disclosure or delivery of the Materials, either expressly, by implication, inducement, estoppel, or otherwise. Any license under such intellectual property rights must be express and approved by John Peter Greninger and Sheila Rocha Greninger in writing
Use of the source code requires purchase of the source code. Source code can be purchased at www.protocolpp.com/shop
The name of its contributor may not be used to endorse or promote products derived from this software without specific prior written permission and licensing
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE