;ň cEc@smdZdkZdkZdZdZdZdZdZdZdZ dZ dZ dZ dZ dZd Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dZ6dZ7dZ8dZ9dZ:dZ;dZ<dZ=dZ>d Z?d Z@d ZAdZBdZCdZDdZEdZFdZGdZHdZId ZJdeiKfd„ƒYZLdeiKfd„ƒYZMdeiKfd„ƒYZNdeiKfd„ƒYZOePdjo0dkQZQdeQiRfd„ƒYZSeQiTƒndS(sBorder Gateway Protocol.Niiiiiiiii i iiil˙l˙l˙l˙i sBGPcBsźtZddddfdddfdd effZd „Zd eifd „ƒYZd eifd„ƒYZdeifd„ƒYZ deifd„ƒYZ deifd„ƒYZ RS(Nsmarkers16ssislensHistypesBcCs!tii||ƒ|i|i|i |_|it jo |i |iƒ|_|_ nÁ|it jo |i |iƒ|_|_n‘|itjo |i|iƒ|_|_na|itjo |i|iƒ|_|_n1|itjo |i|iƒ|_|_ndS(N(sdpktsPacketsunpacksselfsbufsdataslens __hdr_len__stypesOPENsOpensopensUPDATEsUpdatesupdates NOTIFICATIONs Notifications notifiations KEEPALIVEs Keepalives keepalives ROUTE_REFRESHs RouteRefreshs route_refresh(sselfsbuf((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpack~s    sOpencBs~tZdddfdddfdddfdd dfd ddffZd „Zd „Zd „Zdeifd„ƒYZRS(NsvsBisassHisholdtimes identifiersIs param_lencCstii||ƒg}|i}xW|djoI|i|i ƒ}|i t |ƒ|_ |t |ƒ8}|i |ƒq%W||_ |_ dS(Ni(sdpktsPacketsunpacksselfsbufsls param_lensplens Parametersdatasparamslensappends parameters(sselfsbufsparamslsplen((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpack•s  cCs!|ittt|iƒƒSdS(N(sselfs __hdr_len__ssumsmapslens parameters(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__len__ scCs'|iƒditt|iƒƒSdS(Ns(sselfspack_hdrsjoinsmapsstrs parameters(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__str__¤ss ParametercBsatZdddfdddffZd„Zdeifd„ƒYZdeifd „ƒYZRS( NstypesBislencCsŠtii||ƒ|i|i |_|itjo |i |iƒ|_|_ n1|it jo |i |iƒ|_|_ ndS(N(sdpktsPacketsunpacksselfsbufsdataslenstypesAUTHENTICATIONsAuthenticationsauthentications CAPABILITYs Capabilitys capability(sselfsbuf((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpackŽs  sAuthenticationcBstZdddffZRS(NscodesBi(s__name__s __module__s__hdr__(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysAuthenticationˇss CapabilitycBs/tZdddfdddffZd„ZRS(NscodesBislencCs*tii||ƒ|i|i |_dS(N(sdpktsPacketsunpacksselfsbufsdataslen(sselfsbuf((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpackÂs(s__name__s __module__s__hdr__sunpack(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys Capabilityźs(s__name__s __module__s__hdr__sunpacksdpktsPacketsAuthentications Capability(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys Parameter¨s ( s__name__s __module__s__hdr__sunpacks__len__s__str__sdpktsPackets Parameter(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysOpenŒs B  sUpdatecBs<tZd„Zd„Zd„Zdeifd„ƒYZRS(NcCs‰||_tid|id ƒd}|id|_g}xT|djoFt|iƒ}|it |ƒ|_|t |ƒ8}|i |ƒq?W||_ tid|id ƒd}|id|_g}xW|djoI|i |iƒ}|it |ƒ|_|t |ƒ8}|i |ƒqŇW||_g}xA|io6t|iƒ}|it |ƒ|_|i |ƒq;W||_dS(Ns>Hii(sbufsselfsdatasstructsunpackswlensls RouteIPV4srouteslensappends withdrawnsplens Attributesattrs attributess announced(sselfsbufsrouteslswlensplensattr((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpackČs8      cCsNdttt|iƒƒdttt|iƒƒttt|iƒƒSdS(Ni(ssumsmapslensselfs withdrawns attributess announced(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__len__éscCs“tidttt|iƒƒƒditt|iƒƒtidttt|i ƒƒƒditt|i ƒƒditt|i ƒƒSdS(Ns>Hs( sstructspackssumsmapslensselfs withdrawnsjoinsstrs attributess announced(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__str__îss AttributecBsńtZdddfdddffZd„Zd„ZeeeƒZd„Zd„ZeeeƒZ d „Z d „Z ee e ƒZ d „Z d „Zee eƒZd „Zd„Zd„Zdeifd„ƒYZdeifd„ƒYZdeifd„ƒYZdeifd„ƒYZdeifd„ƒYZdeifd„ƒYZdeifd„ƒYZdeifd„ƒYZd eifd!„ƒYZd"eifd#„ƒYZd$eifd%„ƒYZd&eifd'„ƒYZ RS((NsflagssBistypecCs|id?d@SdS(Nii(sselfsflags(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys_get_oűscCs |id@|d@d>B|_dS(Ni˙˙˙ii(sselfsflagsso(sselfso((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys_set_oýscCs|id?d@SdS(Nii(sselfsflags(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys_get_tscCs |id@|d@d>B|_dS(Niż˙˙˙ii(sselfsflagsst(sselfst((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys_set_tscCs|id?d@SdS(Nii(sselfsflags(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys_get_pscCs |id@|d@d>B|_dS(Niß˙˙˙ii(sselfsflagssp(sselfsp((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys_set_p scCs|id?d@SdS(Nii(sselfsflags(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys_get_e scCs |id@|d@d>B|_dS(Niď˙˙˙ii(sselfsflagsse(sselfse((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys_set_escCsŘtii||ƒ|io4tid|id ƒd|_|id|_n1tid|id ƒd|_|id|_|i|i |_|i t jo |i |iƒ|_|_ n|i t jo |i|iƒ|_|_ná|i tjo |i|iƒ|_|_ną|i tjo |i|iƒ|_|_n|i tjo |i|iƒ|_|_nQ|i tjo |i|iƒ|_|_n!|i tjo |i|iƒ|_|_nń|i tjo |i |iƒ|_|_!nÁ|i t"jo |i#|iƒ|_|_$n‘|i t%jo |i&|iƒ|_|_'na|i t(jo |i)|iƒ|_|_*n1|i t+jo |i,|iƒ|_|_-ndS(Ns>HiisBi(.sdpktsPacketsunpacksselfsbufsextended_lengthsstructsdataslenstypesORIGINsOriginsoriginsAS_PATHsASPathsas_pathsNEXT_HOPsNextHopsnext_hopsMULTI_EXIT_DISCs MultiExitDiscsmulti_exit_discs LOCAL_PREFs LocalPrefs local_prefsATOMIC_AGGREGATEsAtomicAggregatesatomic_aggregates AGGREGATORs Aggregators aggregators COMMUNITIESs Communitiess communitiess ORIGINATOR_IDs OriginatorIDs originator_ids CLUSTER_LISTs ClusterLists cluster_lists MP_REACH_NLRIs MPReachNLRIs mp_reach_nlrisMP_UNREACH_NLRIs MPUnreachNLRIsmp_unreach_nlri(sselfsbuf((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpacks>              cCs6|io d}nd}|i|t|iƒSdS(Nii(sselfsextended_lengthsattr_lens __hdr_len__slensdata(sselfsattr_len((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__len__8s  cCsW|iotid|iƒ}ntid|iƒ}|iƒ|t|iƒSdS(Ns>HsB( sselfsextended_lengthsstructspackslens attr_len_strspack_hdrsstrsdata(sselfs attr_len_str((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__str__As sOrigincBstZddeffZRS(NstypesB(s__name__s __module__s ORIGIN_IGPs__hdr__(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysOriginJssASPathcBs<tZd„Zd„Zd„Zdeifd„ƒYZRS(NcCsj||_g}xD|io9|i|iƒ}|it|ƒ|_|i|ƒqW||_|_dS(N( sbufsselfsdatasls ASPathSegmentssegslensappendssegments(sselfsbufssegsl((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpackPs  cCsttt|iƒƒSdS(N(ssumsmapslensselfsdata(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__len__YscCsditt|iƒƒSdS(Ns(sjoinsmapsstrsselfsdata(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__str__\ss ASPathSegmentcBsAtZdddfdddffZd„Zd„Zd„ZRS(NstypesBislencCstii||ƒg}xQt|iƒD]@}t id|i d ƒd}|i d|_ |i |ƒq)W||_ |_ dS(Ns>Hii(sdpktsPacketsunpacksselfsbufslsrangeslensisstructsdatasASsappendspath(sselfsbufsASsisl((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpackescCs|idt|iƒSdS(Ni(sselfs __hdr_len__slenspath(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__len__nscCsBd}x'|iD]}|tid|ƒ7}qW|iƒ|SdS(Nss>H(sas_strsselfspathsASsstructspackspack_hdr(sselfsASsas_str((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__str__rs  (s__name__s __module__s__hdr__sunpacks__len__s__str__(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys ASPathSegment_s (s__name__s __module__sunpacks__len__s__str__sdpktsPackets ASPathSegment(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysASPathOs  sNextHopcBstZdddffZRS(NsipsIi(s__name__s __module__s__hdr__(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysNextHopyss MultiExitDisccBstZdddffZRS(NsvaluesIi(s__name__s __module__s__hdr__(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys MultiExitDisc~ss LocalPrefcBstZdddffZRS(NsvaluesIi(s__name__s __module__s__hdr__(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys LocalPrefƒssAtomicAggregatecBs#tZd„Zd„Zd„ZRS(NcCsdS(N((sselfsbuf((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpack‰scCsdSdS(Ni((sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__len__ŒscCsdSdS(Ns((sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__str__s(s__name__s __module__sunpacks__len__s__str__(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysAtomicAggregateˆs  s AggregatorcBs&tZdddfdddffZRS(NsassHisipsI(s__name__s __module__s__hdr__(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys Aggregator’ss CommunitiescBsUtZd„Zd„Zd„Zdeifd„ƒYZdeifd„ƒYZRS(NcCsŮ||_g}xł|io¨tid|id ƒd}|djo |djp|djo |djo|i|id ƒ}n|i |id ƒ}|it |ƒ|_|i |ƒqW||_|_ dS(Ns>Iiill˙lţl˙˙( sbufsselfsdataslsstructsunpacksvalsReservedCommunityscomms Communityslensappendslist(sselfsbufsvalslscomm((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpack™s  4cCsttt|iƒƒSdS(N(ssumsmapslensselfsdata(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__len__§scCsditt|iƒƒSdS(Ns(sjoinsmapsstrsselfsdata(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__str__Şss CommunitycBs&tZdddfdddffZRS(NsassHisvalue(s__name__s __module__s__hdr__(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys Community­ssReservedCommunitycBstZdddffZRS(NsvaluesIi(s__name__s __module__s__hdr__(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysReservedCommunityłs( s__name__s __module__sunpacks__len__s__str__sdpktsPackets CommunitysReservedCommunity(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys Communities˜s    s OriginatorIDcBstZdddffZRS(NsvaluesIi(s__name__s __module__s__hdr__(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys OriginatorID¸ss ClusterListcBs#tZd„Zd„Zd„ZRS(NcCso||_g}xI|io>tid|id ƒd}|id|_|i|ƒqW||_|_dS(Ns>Iii( sbufsselfsdataslsstructsunpacksidsappendslist(sselfsbufslsid((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpackžs  cCsdt|iƒSdS(Ni(slensselfslist(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__len__ÇscCs8d}x'|iD]}|tid|ƒ7}qW|SdS(Nss>I(s cluster_strsselfslistsvalsstructspack(sselfs cluster_strsval((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__str__Ęs  (s__name__s __module__sunpacks__len__s__str__(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys ClusterList˝s s MPReachNLRIcBsTtZddefddeffZd„Zd„Zd„Zdfd „ƒYZRS( NsafisHssafisBc Cs€tii||ƒtid|id ƒd}|id|_|i| |_|i||_g}tid|id ƒd}|id|_xIt |ƒD];}|i |iƒ}|it|ƒ|_|i|ƒq W||_|itjo t}n!|itjo t}nt}g}xA|io6||iƒ}|it|ƒ|_|i|ƒq+W||_|_dS(NsBii(sdpktsPacketsunpacksselfsbufsstructsdatasnlensnext_hopsls num_snpassrangesisSNPAssnpaslensappendssnpassafisAFI_IPV4s RouteIPV4sRoutesAFI_IPV6s RouteIPV6s RouteGenericsroutes announced( sselfsbufsroutesisls num_snpasssnpasnlensRoute((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpackÖs4     cCsL|idt|iƒdttt|iƒƒttt|iƒƒSdS(Ni(sselfs __hdr_len__slensnext_hopssumsmapssnpass announced(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__len__řscCs|iƒtidt|iƒƒt|iƒtidt|iƒƒdit t|iƒƒdit t|i ƒƒSdS(NsBs( sselfspack_hdrsstructspackslensnext_hopsstrssnpassjoinsmaps announced(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__str__ţssSNPAcBs#tZdddffZd„ZRS(NslensBicCs2tii||ƒ|i|idd |_dS(Nii(sdpktsPacketsunpacksselfsbufsdataslen(sselfsbuf((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpack s(s__name__s __module__s__hdr__sunpack(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysSNPAs( s__name__s __module__sAFI_IPV4s SAFI_UNICASTs__hdr__sunpacks__len__s__str__sSNPA(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys MPReachNLRIĐs  "  s MPUnreachNLRIcBsAtZddefddeffZd„Zd„Zd„ZRS(NsafisHssafisBcCsŤtii||ƒ|itjo t}n!|it jo t }nt }g}xA|i o6||i ƒ}|i t|ƒ|_ |i|ƒqVW||_ |_dS(N(sdpktsPacketsunpacksselfsbufsafisAFI_IPV4s RouteIPV4sRoutesAFI_IPV6s RouteIPV6s RouteGenericslsdatasrouteslensappends withdrawn(sselfsbufsroutesRoutesl((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpacks   cCs!|ittt|iƒƒSdS(N(sselfs __hdr_len__ssumsmapslensdata(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__len__'scCs'|iƒditt|iƒƒSdS(Ns(sselfspack_hdrsjoinsmapsstrsdata(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__str__+s(s__name__s __module__sAFI_IPV4s SAFI_UNICASTs__hdr__sunpacks__len__s__str__(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys MPUnreachNLRIs  (!s__name__s __module__s__hdr__s_get_os_set_ospropertysoptionals_get_ts_set_ts transitives_get_ps_set_pspartials_get_es_set_esextended_lengthsunpacks__len__s__str__sdpktsPacketsOriginsASPathsNextHops MultiExitDiscs LocalPrefsAtomicAggregates Aggregators Communitiess OriginatorIDs ClusterLists MPReachNLRIs MPUnreachNLRI(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys Attributeős8         % *  ?(s__name__s __module__sunpacks__len__s__str__sdpktsPackets Attribute(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysUpdateÇs !  s NotificationcBs/tZdddfdddffZd„ZRS(NscodesBissubcodecCs#tii||ƒ|i|_dS(N(sdpktsPacketsunpacksselfsbufsdataserror(sselfsbuf((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpack6s(s__name__s __module__s__hdr__sunpack(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys Notification0ss KeepalivecBs#tZd„Zd„Zd„ZRS(NcCsdS(N((sselfsbuf((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpack<scCsdSdS(Ni((sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__len__?scCsdSdS(Ns((sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__str__Bs(s__name__s __module__sunpacks__len__s__str__(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys Keepalive;s  s RouteRefreshcBs2tZddefdddfddeffZRS(NsafisHsrsvdsBissafi(s__name__s __module__sAFI_IPV4s SAFI_UNICASTs__hdr__(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys RouteRefreshFs( s__name__s __module__sOPENs__hdr__sunpacksdpktsPacketsOpensUpdates Notifications Keepalives RouteRefresh(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysBGPws. ;˙j  s RouteGenericcBs#tZdddffZd„ZRS(NslensBicCs9tii||ƒ|i|idd |_|_dS(Nii(sdpktsPacketsunpacksselfsbufsdataslensprefix(sselfsbuf((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpackSs(s__name__s __module__s__hdr__sunpack(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys RouteGenericNss RouteIPV4cBs5tZdddffZd„Zd„Zd„ZRS(NslensBicCsWtii||ƒ|i|idd }|dt|ƒd7}||_|_dS(Niiis( sdpktsPacketsunpacksselfsbufsdataslenstmpsprefix(sselfsbufstmp((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpack\scCs|i|iddSdS(Nii(sselfs __hdr_len__slen(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__len__bscCs$|iƒ|i|idd SdS(Nii(sselfspack_hdrsdataslen(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__str__fs(s__name__s __module__s__hdr__sunpacks__len__s__str__(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys RouteIPV4Ws  s RouteIPV6cBs5tZdddffZd„Zd„Zd„ZRS(NslensBicCsWtii||ƒ|i|idd }|dt|ƒd7}||_|_dS(Niiis( sdpktsPacketsunpacksselfsbufsdataslenstmpsprefix(sselfsbufstmp((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pysunpackoscCs|i|iddSdS(Nii(sselfs __hdr_len__slen(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__len__uscCs$|iƒ|i|idd SdS(Nii(sselfspack_hdrsdataslen(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys__str__ys(s__name__s __module__s__hdr__sunpacks__len__s__str__(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys RouteIPV6js  s__main__s BGPTestCasecBs2tZd„Zd„ZdZdZdZdZRS(NcCs°t|iƒ}|i|it|ƒjƒt|iƒ}|i|it|ƒjƒt|iƒ}|i|it|ƒjƒt|i ƒ}|i|i t|ƒjƒdS(N( sBGPsselfsbgp1sb1s failUnlesssstrsbgp2sb2sbgp3sb3sbgp4sb4(sselfsb4sb1sb2sb3((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pystestPack‚sc Cs t|iƒ}|i|idjƒ|i|itjƒ|i|it j ƒt|i ƒ}|i|it jƒ|it|i iƒdjƒ|it|i iƒdjƒ|it|i iƒdjƒ|i id}|i|itjƒ|i|idjƒ|it|iiƒdjƒ|iid} |i| itjƒ|i| idjƒ|it| iƒdjƒ|i| iddjƒ|i id}|i|itjƒ|i|id jƒ|it|iiƒd jƒ|iid}|i|id jƒ|i|idjƒ|i id} |i| id jƒ|i| id jƒt|i ƒ}|i|it jƒ|it|i iƒdjƒ|it|i iƒdjƒ|it|i iƒdjƒ|i id}|i|i"t#jƒ|i|i$t%jƒ|i|i&t#jƒ|i|i't#jƒ|i|it(jƒ|i|idjƒ|i)}|i|it+jƒ|i id}|i|i"t%jƒ|i|i$t#jƒ|i|i&t#jƒ|i|i't%jƒ|i|it,jƒ|i|idjƒ|i-}|i|i/t0jƒ|it|i1ƒdjƒ|it|iƒdjƒ|id} |i| idjƒt|i3ƒ}|i|idjƒ|i|it5jƒ|i|i6idjƒ|i|i6i7djƒ|it|i6i8ƒd jƒ|i6i8d} |i| it9jƒ|i| idjƒ| i:}|i|i;t<jƒ|i|idjƒ|i|i=djƒ|i6i8di:}|i|i;t>jƒ|i|idjƒdS(Niiii i iiôii iiżţisŔ¨iii`i-iíiis(?sBGPsselfsbgp1sb1s failUnlessslenstypes KEEPALIVEs keepalivesNonesbgp2sb2sUPDATEsupdates withdrawns announceds attributessasAS_PATHsas_pathssegmentssssAS_SETspaths COMMUNITIESs communitiesslistscsassvaluesrsprefixsbgp3sb3soptionalsFalses transitivesTruespartialsextended_lengthsORIGINsoriginsos ORIGIN_IGPs MP_REACH_NLRIs mp_reach_nlrismsafisAFI_IPV4ssnpasspsbgp4sb4sOPENsopens param_lens parameterss CAPABILITYs capabilityscodesCAP_MULTIPROTOCOLsdatasCAP_ROUTE_REFRESH( sselfsb1sb2sb3sasb4scsmsospsssr((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys testUnpackŒsŽ    s˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙sc˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙cH@@ ôôţť@Ŕ¨@d@ŔţşŔ¨ Ŕ ţżTú€ Ŕ¨€ Ŕ¨úŔ¨sy˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙yb@@@dŔ,,Ŕ€$ýé@@ł@,€ € € `wôô…s-˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙-íZĆnƒ}€(s__name__s __module__stestPacks testUnpacksbgp1sbgp2sbgp3sbgp4(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys BGPTestCases  M(Us__doc__sdpktsstructsOPENsUPDATEs NOTIFICATIONs KEEPALIVEs ROUTE_REFRESHsORIGINsAS_PATHsNEXT_HOPsMULTI_EXIT_DISCs LOCAL_PREFsATOMIC_AGGREGATEs AGGREGATORs COMMUNITIESs ORIGINATOR_IDs CLUSTER_LISTs MP_REACH_NLRIsMP_UNREACH_NLRIs ORIGIN_IGPs ORIGIN_EGPs INCOMPLETEsAS_SETs AS_SEQUENCEsAS_CONFED_SEQUENCEs AS_CONFED_SETs NO_EXPORTs NO_ADVERTISEsNO_EXPORT_SUBCONFEDsNO_PEERsAFI_IPV4sAFI_IPV6s SAFI_UNICASTsSAFI_MULTICASTsSAFI_UNICAST_MULTICASTsAUTHENTICATIONs CAPABILITYsCAP_MULTIPROTOCOLsCAP_ROUTE_REFRESHsMESSAGE_HEADER_ERRORsOPEN_MESSAGE_ERRORsUPDATE_MESSAGE_ERRORsHOLD_TIMER_EXPIREDs FSM_ERRORsCEASEsCONNECTION_NOT_SYNCHRONIZEDsBAD_MESSAGE_LENGTHsBAD_MESSAGE_TYPEsUNSUPPORTED_VERSION_NUMBERs BAD_PEER_ASsBAD_BGP_IDENTIFIERsUNSUPPORTED_OPTIONAL_PARAMETERsAUTHENTICATION_FAILUREsUNACCEPTABLE_HOLD_TIMEsUNSUPPORTED_CAPABILITYsMALFORMED_ATTRIBUTE_LISTsUNRECOGNIZED_ATTRIBUTEsMISSING_ATTRIBUTEsATTRIBUTE_FLAGS_ERRORsATTRIBUTE_LENGTH_ERRORsINVALID_ORIGIN_ATTRIBUTEsAS_ROUTING_LOOPsINVALID_NEXT_HOP_ATTRIBUTEsOPTIONAL_ATTRIBUTE_ERRORsINVALID_NETWORK_FIELDsMALFORMED_AS_PATHsMAX_NUMBER_OF_PREFIXES_REACHEDsADMINISTRATIVE_SHUTDOWNsPEER_DECONFIGUREDsADMINISTRATIVE_RESETsCONNECTION_REJECTEDsOTHER_CONFIGURATION_CHANGEsCONNECTION_COLLISION_RESOLUTIONsOUT_OF_RESOURCESsPacketsBGPs RouteGenerics RouteIPV4s RouteIPV6s__name__sunittestsTestCases BGPTestCasesmain(PsOUT_OF_RESOURCESsPEER_DECONFIGUREDsINVALID_NETWORK_FIELDsMISSING_ATTRIBUTEsSAFI_MULTICASTsNO_EXPORT_SUBCONFEDs NO_ADVERTISEsBGPsAUTHENTICATION_FAILUREsAS_PATHsCAP_ROUTE_REFRESHs AS_CONFED_SETsCONNECTION_COLLISION_RESOLUTIONs LOCAL_PREFsBAD_MESSAGE_LENGTHsOPENsUNSUPPORTED_CAPABILITYsBAD_BGP_IDENTIFIERs ROUTE_REFRESHs RouteIPV4sBAD_MESSAGE_TYPEsstructs MP_REACH_NLRIsCEASEs NOTIFICATIONsUNSUPPORTED_OPTIONAL_PARAMETERs BAD_PEER_ASsOPTIONAL_ATTRIBUTE_ERRORs BGPTestCases CAPABILITYsINVALID_ORIGIN_ATTRIBUTEsAS_CONFED_SEQUENCEsCONNECTION_REJECTEDsAFI_IPV6sAS_ROUTING_LOOPs COMMUNITIESsAFI_IPV4s AS_SEQUENCEsunittests INCOMPLETEs KEEPALIVEsORIGINsATTRIBUTE_FLAGS_ERRORs NO_EXPORTsMESSAGE_HEADER_ERRORsOPEN_MESSAGE_ERRORsMAX_NUMBER_OF_PREFIXES_REACHEDsOTHER_CONFIGURATION_CHANGEsATOMIC_AGGREGATEs FSM_ERRORsUPDATEsdpktsMP_UNREACH_NLRIsSAFI_UNICAST_MULTICASTs ORIGINATOR_IDsMALFORMED_AS_PATHsINVALID_NEXT_HOP_ATTRIBUTEsADMINISTRATIVE_RESETsAS_SETsUNACCEPTABLE_HOLD_TIMEsNO_PEERsUNSUPPORTED_VERSION_NUMBERsMULTI_EXIT_DISCsCONNECTION_NOT_SYNCHRONIZEDs CLUSTER_LISTsCAP_MULTIPROTOCOLsMALFORMED_ATTRIBUTE_LISTs SAFI_UNICASTsUPDATE_MESSAGE_ERRORsAUTHENTICATIONsNEXT_HOPsATTRIBUTE_LENGTH_ERRORs AGGREGATORs ORIGIN_EGPs RouteGenericsADMINISTRATIVE_SHUTDOWNsUNRECOGNIZED_ATTRIBUTEs ORIGIN_IGPsHOLD_TIMER_EXPIREDs RouteIPV6((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/bgp.pys?sŚ  ˙Ř   ]