From 137a8a18635aa56f46684cbd7c506ff81413f58f Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Mon, 2 Sep 2019 00:21:03 +0000 Subject: [PATCH] Implement handling of OSPFv3 packets --- go.mod | 2 + go.sum | 5 + protocols/ospf/packetv3/common.go | 80 ++ .../fixtures/OSPFv3_NBMA_adjacencies.cap | Bin 0 -> 13188 bytes .../fixtures/OSPFv3_broadcast_adjacency.cap | Bin 0 -> 5536 bytes .../OSPFv3_multipoint_adjacencies.cap | Bin 0 -> 11816 bytes .../packets/OSPFv3_NBMA_adjacencies.cap.go | 960 ++++++++++++++++++ .../packets/OSPFv3_broadcast_adjacency.cap.go | 398 ++++++++ .../OSPFv3_multipoint_adjacencies.cap.go | 836 +++++++++++++++ .../ospf/packetv3/fixtures/packets/base.go | 6 + .../ospf/packetv3/fixtures/packets/gen/gen.go | 192 ++++ protocols/ospf/packetv3/fixtures/utils.go | 43 + protocols/ospf/packetv3/lsa.go | 554 ++++++++++ protocols/ospf/packetv3/lsa_prefix.go | 105 ++ protocols/ospf/packetv3/packet.go | 389 +++++++ protocols/ospf/packetv3/packet_test.go | 116 +++ util/checksum/ipv6_upperlayer.go | 75 ++ 17 files changed, 3761 insertions(+) create mode 100644 protocols/ospf/packetv3/common.go create mode 100644 protocols/ospf/packetv3/fixtures/OSPFv3_NBMA_adjacencies.cap create mode 100644 protocols/ospf/packetv3/fixtures/OSPFv3_broadcast_adjacency.cap create mode 100644 protocols/ospf/packetv3/fixtures/OSPFv3_multipoint_adjacencies.cap create mode 100644 protocols/ospf/packetv3/fixtures/packets/OSPFv3_NBMA_adjacencies.cap.go create mode 100644 protocols/ospf/packetv3/fixtures/packets/OSPFv3_broadcast_adjacency.cap.go create mode 100644 protocols/ospf/packetv3/fixtures/packets/OSPFv3_multipoint_adjacencies.cap.go create mode 100644 protocols/ospf/packetv3/fixtures/packets/base.go create mode 100644 protocols/ospf/packetv3/fixtures/packets/gen/gen.go create mode 100644 protocols/ospf/packetv3/fixtures/utils.go create mode 100644 protocols/ospf/packetv3/lsa.go create mode 100644 protocols/ospf/packetv3/lsa_prefix.go create mode 100644 protocols/ospf/packetv3/packet.go create mode 100644 protocols/ospf/packetv3/packet_test.go create mode 100644 util/checksum/ipv6_upperlayer.go diff --git a/go.mod b/go.mod index 7b5410979..53897f9d5 100644 --- a/go.mod +++ b/go.mod @@ -7,6 +7,7 @@ require ( github.com/gogo/protobuf v1.3.0 // indirect github.com/golang/protobuf v1.3.1 github.com/google/btree v1.0.0 + github.com/google/gopacket v1.1.17 github.com/grpc-ecosystem/go-grpc-middleware v1.0.0 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 github.com/pkg/errors v0.8.0 @@ -17,6 +18,7 @@ require ( github.com/urfave/cli v1.21.0 github.com/vishvananda/netlink v1.0.0 github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc // indirect + golang.org/x/net v0.0.0-20190613194153-d28f0bde5980 google.golang.org/genproto v0.0.0-20181221175505-bd9b4fb69e2f // indirect google.golang.org/grpc v1.17.0 gopkg.in/yaml.v2 v2.2.2 diff --git a/go.sum b/go.sum index efb151ce0..44176158b 100644 --- a/go.sum +++ b/go.sum @@ -32,6 +32,8 @@ github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/gopacket v1.1.17 h1:rMrlX2ZY2UbvT+sdz3+6J+pp2z+msCq9MxTU6ymxbBY= +github.com/google/gopacket v1.1.17/go.mod h1:UdDNZ1OO62aGYVnPhxT1U6aI7ukYtA/kB8vaU0diBUM= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0 h1:Iju5GlWwrvL6UBg4zJJt3btmonfrMlCDdsejg4CZE7c= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= @@ -88,6 +90,7 @@ golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTk golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980 h1:dfGZHvZk057jK2MCeWus/TowKpJ8y4AmooUzdBSR9GU= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -100,6 +103,8 @@ golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190405154228-4b34438f7a67 h1:1Fzlr8kkDLQwqMP8GxrhptBLqZG/EDpiATneiZHY998= +golang.org/x/sys v0.0.0-20190405154228-4b34438f7a67/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/protocols/ospf/packetv3/common.go b/protocols/ospf/packetv3/common.go new file mode 100644 index 000000000..e818e2d6a --- /dev/null +++ b/protocols/ospf/packetv3/common.go @@ -0,0 +1,80 @@ +package packetv3 + +import ( + "bytes" + "encoding/binary" + + "github.com/bio-routing/bio-rd/net" + "github.com/bio-routing/tflow2/convert" + "github.com/pkg/errors" +) + +// Serializable represents any packet which can be serialized +// to bytes to be on the wire +type Serializable interface { + Serialize(buf *bytes.Buffer) +} + +// ID is a common type used for 32-bit IDs in OSPF +type ID uint32 + +func DeserializeID(buf *bytes.Buffer) (ID, int, error) { + var id uint32 + if err := binary.Read(buf, binary.BigEndian, &id); err != nil { + return ID(id), 0, errors.Wrap(err, "unable to read ID from buffer") + } + return ID(id), 4, nil +} + +func (i ID) Serialize(buf *bytes.Buffer) { + buf.Write(convert.Uint32Byte(uint32(i))) +} + +// bitmasks for flags in RouterOptions +const ( + RouterOptV6 uint16 = 1 << iota + RouterOptE + _ + RouterOptN + RouterOptR + RouterOptDC + _ + _ + RouterOptAF +) + +type RouterOptions struct { + _ uint8 + Flags uint16 +} + +func (r *RouterOptions) Serialize(buf *bytes.Buffer) { + buf.WriteByte(0) + buf.Write(convert.Uint16Byte(uint16(r.Flags))) +} + +type LSType uint16 + +func (t LSType) Serialize(buf *bytes.Buffer) { + buf.Write(convert.Uint16Byte(uint16(t))) +} + +type deserializableIP struct { + Higher uint64 + Lower uint64 +} + +func (ip deserializableIP) ToNetIP() net.IP { + return *(net.IPv6(ip.Higher, ip.Lower)) +} + +func serializeIPv6(ip net.IP, buf *bytes.Buffer) { + if ip.IsIPv4() { + for i := 0; i < 16; i++ { + buf.WriteByte(0) + } + return + } + + buf.Write(ip.Bytes()) +} diff --git a/protocols/ospf/packetv3/fixtures/OSPFv3_NBMA_adjacencies.cap b/protocols/ospf/packetv3/fixtures/OSPFv3_NBMA_adjacencies.cap new file mode 100644 index 0000000000000000000000000000000000000000..7aa8fae0f5175f4fe00bdcad8942d575e299a5c5 GIT binary patch literal 13188 zcmd^G3yfS<8UD|mneFbjU9fHF(g#j(tyMQw($y|l<0h7N3oRi85d@(==nG1b7Ok;` z5ut1$f{%h29=1Lb6A1!husm$RM2Hb&Eu^i2NK--~Z7LOzN-cihdEI;Goax+U5fh!{ z%-%V3&j0+*cm8|N?32H_dt)MH@vo}L1^DpN`uqAH*f&B>#Wh?1b8DZu2!EyPEOn^H z3;!zBeNIYBx=MI)#C138aV=jI87s%gD%Vf>FJ9XXDe5hL@E)aS`QqL+%1N!{%b5dIEbRa#fF$JK%}szQde*gm!V0_jpGRf(Ol zm8YI>LEpc0U&+c-gX5*EGG6y3ZtfkkeIL81L+yXn_my4Wk#|AfTxq3Vr(^9C(p#Bm z`kao-wxVym>2q^8%#~g>x7voe;^ywWN4nt$`Z~pp+q_%48Sg)DRw?XbId}8x4n-|0^TyrIv zXMK@#AI48AEa@AJaq5VUC#@$M}iy`+& zd}8zd?F#%0<(6fau@n2mFSXo?tcc(fiu&+%RgL}?{*+~n9+Ss4I3_cu$BxObhy0k5 zT%E?M1{iQ{W1pH{x1SMHDkEFu>Tqp{s=|BG`Y^W7+A56C6qQI9kj&=dqh1f<6Xw6H zUU&K5Ig!$3RC#f#r)D`6il;+#AHHv4V@#74GtP3E=HJ*j`J)*}J&>olo8!uB)3t|w z&C8HIUCV}0j<0m;Jmh#4V{&=0V>r$8F~;QbsSas5Ic~3$Ge(_kbXhy~o=`ugGRfrA z`mD&`^rbGJ2vt6x>LfGI$>v@VnTM|YJjBRzNe$nT^F^g`>%#>)y^G>oQY00hehcQuozpb-OM2c{&qRvMTxcF z=61xjE2NWgBj!)}d7BJi5S!O?PM{~Wzbxl4MwljZzQT7&I*!c6E*bZlR2f-*smEG7 zY-~G@U4i-ycGRy4+O=wFyDY#wHg8v0|HS<7asKa|g2_+?0J>vuX{Jhd&wiqp}&22HXx=->8g9ky0XR@3$) zE-oZDv>h09HtzmTR_>@Bl-mor3y>f-cV7{yK_hZikCQw0JTDh%PF5$~DIRLzpbspU zsje>N9Q2L8^*re;FE!(A&P)wDkgi#b(_EJvTP4;@7E@~9!L%;5^3)?$)Rq(UxO@$2 z`l!Nlo*kFt%E~bj-m!J5)1hn7qs=%cFI$7Uaj)Hk8gwA!BgT8l^;nCDHJgujxEAX% z4}7R|s1tFJu^;8Tt3i`B@?!vSX4_unh3+r5)1G;qByr_9$URF^oQKtL@i&5wD4lb$1MZo#Q@> zFY*Uo$r{St1iAO%6Px#MAlL)KbzYJIW2eXylPS;mXM8r-n)eIU!#Whe0zQ;wyYu1rN9lu9T&>0an&l&io$hKI+pl>A?KHj$@Hzm21>cje0=UtoH! zPL-M-ljoUyo_g$8ggxYOjIcw zlZRo&|4>YB`f0mtfJ1DK6J=$A{ih-;nLkXEqk#1oMxyzT3yHu z8^T&MT=Tf^bN0@?m{zCveHMqw)IUj8vbB!o9{YVq`J3_kzC*Cr?)+f$}rhpdfr0a zBL4pBlgkR)WuNO6vFpmLU5(>aZx{JAwM!rRrE9TayoO-c&j#MPXE4mq>{%l;c?lg7*J!~YlYTJ(jHMb62?J+Fcz0lb*EQS(Kjxw+xK{{7F66r4-w=6Sj| zz;BHAdbwUHzgypz>t~k4rhBfH+%+q}-57z+&efw*osQE&ov}63OB_+>)NOn(uJeOg zoep=+brN@}&h10f`JufX>7L^J4EK~UciDR7Laoz3r*2rU?@TfatP$KG+jrBjkgM>~Vas z1oB$z zndf4A9M1QO<}((5+OhanoF&0@Hoq2ng0)Z|Z>~{)p0|rnE=;`j^9qaepf;kuH*RlB z_j(uW@HcU>wb$j=UI%_q=lssG`kQ@0y?g@;80{ z{C5ESgIDmIKIWA^QqS_N9v7$PdidMERL|PO>lqI{JEp1heAVd*&sW2IWPanf_gh8} z=+ys4k$x~Y)N%RO+GH_?u=%}sW>bvu{$VC%Q2JSRO-sH`Z`=37c%4qYo3nbIZ_V`* z+o@i=u8ZnD8hRH_9{!p2i{>|i{>++jAU^na0(49|pi-PW9ER&C#vi_BKK~K~HWE+D zKeIDQ<-6F0@WuPr0UL*qAumoK>hgAKLf+D2@s0{c2XP^J|Eh zIQu?&Cx!LC8+v~{vSZlsT*7BB`Fv?#DS!RF8ToG!4~zKRFd}~nTtDCj+Di>5J+Ae59I(HJqmksg zIR2=2+`)`q=U<4wa9u&KTUQ@8zculC*-yRIm5ucd-lK-S-nw6~{@ULp6w!MitGBVg zvHHSuaQE(^>3u)qJpY>3biFlR5A}MJ68MW8OO2-yuXa6Tb4&SO%F1_sh5T4AU*+Tz zrw!z9SedDl8rvV@GxJQO_cq9nM&pLcH=h<8x+lT-Asnmy>fKseKRUzVo1Z}`*)pPFLJAd~kE;MA}?#_I3 z_dDnNJ2Sh}pPwBMq$u&LETVAo-RqOXE$d41434>ad+`=tkahE-4qw}Y6Y1Kn{;BdH zeyM+h_?QP_K}naw3&-lO!}?l?lhsm^iax{JFF^YEv&LmW`W;B&-OCZvO&|?iUXGZ8 z5K7(+^iNS|(#v&Y;ixE((jxEw%=4=VCS4Dy=k4l?V%7v6o zt^7o~jE&p4PyPCCYzwSyaxS(NtnIn&uyslU{DsCA3^Yi;be0>_7&Bjrj`m<*NiN|6 zm#1PUoM?R&J7Fufe>X9N6+=WFLsE>Q<@G9}JvWMI!zfx~Q@?!$#*s}~+ZU6ujV69q zom>^$3f8uHA8f@aT5B8ajUsCuTFOqj`Y;32k>R6bh@J8X5Z=ZamnU~SYsg(ec9J(7 zs2;kJq&slTuF#b=$GY<7n8igWC7px4an)gut4*fo$4YVx8@N0@z0G0j_H;qEMTnv{ zpMx92G-4kyO&#+PQE9ubs%0A4lZuhu6xc1HYCJ%8x>Cqb$1o8_c9modXIyUls$4_- zMOC)(|2(D<>M^76htlCyHM0yuuiT$h4tAwyQsnVL>@BMm=kZZ6d$O}EGMd^`G<)bi z(SWR<4Q7w!5NU_VV9Jlk`lK_e;7L6o&%E}6mr8xFN!BM_gzqV8hNvWF>@AsinwaJ1 zk>#~;%;lMf87IrGmK0^ibcp(ac@n9EHozZf<5e{pLiSP@W!c!3)`Dzy3T6+tBpQ;> za^xqgJy|~+j33J((yV-z!=$UhQ&ES=GnZw~x-eVei>a=^hHz5_qiA^P354qT}Wbpk&5Z_BZ zPamFpsfR&)FWnnWb`cE7$ll*n_hl*LyqBn&tzzFc$20M2yYAcgJA>G4`*!7>nH~?C z=jbcyIQkP4Esv|1+oz8%9PN{M`Z)yOT%LSyttsDIZN8^Y!Hv#$rmupHw|S?R(PgH$ zg#1^g1NjsexIFnk;xKZ54}@|==K46*1GBSp`ub!2055_OJjap&nLIgk1-psaC+R*`Mp z)t*ki9hrEezdrv|pPuYW4Vh3;?Z@Fj^s2? z71BELw?SbaQI@~DreO0oJ(-(whLXR&7W zxdV)@P1VaDxZ(2Tq~EQYqy8bZ&QxtT-DK5A_YCeh`ni`KTgCGM^^xcwyjRMjr)R`P z_o+ocy#iMad?@1W7f+9@0{ZEeQhq|y|HQZx>h=RB)W$yh0yuaklE>%U%|? zNfReImpeb_{*Ui}p1X74m)jqUq$J6wE^-^bJowO_f$rDZi?!x|gUk z4c;W5_-vHi^QIgt>5lQ?mj@^DDwSm-T{1;h>TkG^|AH+4mo7g4Tch?=|1seI*Q={3 z|BH;zL%^r=bSw*j71w~%f2N1O3gACe;X|xXP2g23_>#k){-KP4cR|Lj)shTA3B8;h zlRP`(rnpjZB$Hemz44T`qpSRiw1~71QTI*r3i0*gm3$pOM}L;(d)W^1-3`9I0F2Aw zuBx8C0lup0_`dYJgfFtAeMlzPwLkd(4Ux{L7sy2Qtf58tfYuSMmziqF&}cVkZEyV; zv{&lPu!^NcD{hx=nNnwdl`TK@rw-)YEKMs}e(KkC>5jgrX=0yMzvxM5%F*Wh0JP8R zeUYQR^Co0WmP;tt$+&O7^umr-(8SU1nkYTc544F+Ml|#nnN1vzEhx#Qu$s%^D91b; zLw-L-Jt*gcCwLY59pBscs%LUIcGT|zK9-inQR+DyYhPO>6XTB>TnGYPHiXq7#r8O$8*(fPovZZLDSS2sux@%cCK*$P2i2|o7} zz$cb_$P16jo_V~cnBYE%72I==_Nl$sKDYPUKzpy_2zwKMgP!=*+#8=$@9Nzbo_8mA zQE%;6{L{Xdd}n~~ckqoX!DE?+ho5(`ETd2Hn7nTluXTNIFwz)kAAwFhv=8k)w}58o zmWRf`(siu!p874jzmVObcuwos)6`Gf4ISH`C*QAv??Qaza&{}f&ii~zYNpXsWXA)V zZ;MPzZEuL^xCh(0pwsqztfId3gIHI!-T0@+?#aiv$b`(ElHEhGX>R2C#PRGD&j!MV zc?SMjS)DS?&lAiDbDMeqbygYq0{Mwg$eXz&Dq}OE-`aym^+)^eQyWUMMTuSs#w!cN zR!OaNvGpG|Vv$zVUT}hNd>XEnLw9v3%{|afod%s)vA%GBv`}M{ud_`UM>pv`x%v!o zS^RqJ9#?a9U2obG%T&!L*CU$tbYdpc@osHVtno0e*$=cg=LguD)Q1LaWz83r+TV`{ z5V=Aac1_kUlRK0{JF= z^d%WiV3h?XV(lQkAu{gjrRYbD1(AOIe}#*7)1J3KSxByLPf7a71H7dF5U;6R(i^aE ze8ZPZoi;%3*XLK$InvFketn5Tb0p)I0^c6bYj}>Nj3?d&8C@%@=^W|o7Ip@4MVmw4~SzaW@lNX{*4|C4kX=paq z^f^_zE|*Ma+TkgYUEW#^qu_)_O7E*T`7b5^Hk&Nf)oF zKi$2_{WQNpXUu5)?7ha<(G5Sd-#nY*h&@RTyL;}T4g3F4mD|CXE3u*9v%!z!So)~| z9+S1N^IAtHpfGE@j2`CR=wazv58hMuYmhyFXY?BFOz;6pb!W2L4dmN;swxMd4VSY? zZ7pC^No{pDoqR|0ZIjs8MS9~LGosk~OkA{gnO9(-kuq0>~Ig?gA_X7%}C>n&lNe}0XILlmBCzN zi7ZLZB2W|`9k-`SH93wiT+YYxoabXd_e$~{@gbwZK3?$x-S!}ho0&oAJ3Fsgx}GJl zzpWn^t5b3Yb9*=+AncmYV3ema&#~_%xzND>afT3Ux8~*Bt#hWOTq}|@zTKI5@3?ud z&p8?&lQR!&D}<+C2Y@GIlALb3l2_n4HO=`3Y%7e(RO5Hg4|Nl>4r9)Akdybr)Y0Mj zNY-vQ$M|v7Y`2QDc3(xa-&=O?I8u{!P?{^rpTPq8Q-it z)1!woM#?!K27I;=_4{)xD(M;D^@Y9yy5X$tbh~kg8iYmx5b+;N%PC;=I58MTlQVnAE_bo ztDKALVc%s@Zs(_4Q@O+Eb+f-B)Y|0TUEj-AZl$=~d0Dx`+uJOcH9nPl;QZxo{6<@9 z?yhb!1*gT|ObLBX``Tx^BC7EYahi zLGL|#_G~}?+s#0fIkUYaixIV4u6C-~p3G*9;afG^)rr++=5B#Z_80dz)A+U(y5HyC z#aq4HyP9at-JV`0yT`rbiT-xT+tXwBxOYR*H&=UmV(dY^O#Vh1|NO)`-j~~cWBt^z z)Xsx|g^*RaSlhDSiMiEdM4Ye5;%sB80M3Zz49=&ag~?z%l6i2}BhVv|KOwxgK<0`kD(UYl zoy=~}_K?hOS8M+}3o`SyR@=QD{MXEHm&N#RuB2}T=FPz0#gln+J*P255qf;?_m#{U z>OeV9W#u?K#z4+*mS^l4LpkeSsE#>qJAm8f9{er};BqCg@BeOL)W3hFjD2G)V;5vx XHMy4B;rf7Y$EbgQK^b2dV;TPgnYg34 literal 0 HcmV?d00001 diff --git a/protocols/ospf/packetv3/fixtures/packets/OSPFv3_NBMA_adjacencies.cap.go b/protocols/ospf/packetv3/fixtures/packets/OSPFv3_NBMA_adjacencies.cap.go new file mode 100644 index 000000000..9b878d459 --- /dev/null +++ b/protocols/ospf/packetv3/fixtures/packets/OSPFv3_NBMA_adjacencies.cap.go @@ -0,0 +1,960 @@ + +// GENERATED FILE - do not edit! +// to regenerate this, run "go run ./protocols/ospf/packetv3/fixtures/packets/gen/" + +package packets + +import ( + "github.com/bio-routing/bio-rd/net" + "github.com/bio-routing/bio-rd/protocols/ospf/packetv3" +) + +func init() { + filePkts := make([]*packetv3.OSPFv3Message, 86) + filePkts[0] = packet_OSPFv3_NBMA_adjacencies_001() + filePkts[1] = packet_OSPFv3_NBMA_adjacencies_002() + filePkts[2] = packet_OSPFv3_NBMA_adjacencies_003() + filePkts[3] = packet_OSPFv3_NBMA_adjacencies_004() + filePkts[4] = packet_OSPFv3_NBMA_adjacencies_005() + filePkts[5] = packet_OSPFv3_NBMA_adjacencies_006() + filePkts[6] = packet_OSPFv3_NBMA_adjacencies_007() + filePkts[7] = packet_OSPFv3_NBMA_adjacencies_008() + filePkts[8] = packet_OSPFv3_NBMA_adjacencies_009() + filePkts[9] = packet_OSPFv3_NBMA_adjacencies_010() + filePkts[10] = packet_OSPFv3_NBMA_adjacencies_011() + filePkts[11] = packet_OSPFv3_NBMA_adjacencies_012() + filePkts[12] = packet_OSPFv3_NBMA_adjacencies_013() + filePkts[13] = packet_OSPFv3_NBMA_adjacencies_014() + filePkts[14] = packet_OSPFv3_NBMA_adjacencies_015() + filePkts[15] = packet_OSPFv3_NBMA_adjacencies_016() + filePkts[16] = packet_OSPFv3_NBMA_adjacencies_017() + filePkts[17] = packet_OSPFv3_NBMA_adjacencies_018() + filePkts[18] = packet_OSPFv3_NBMA_adjacencies_019() + filePkts[19] = packet_OSPFv3_NBMA_adjacencies_020() + filePkts[20] = packet_OSPFv3_NBMA_adjacencies_021() + filePkts[21] = packet_OSPFv3_NBMA_adjacencies_022() + filePkts[22] = packet_OSPFv3_NBMA_adjacencies_023() + filePkts[23] = packet_OSPFv3_NBMA_adjacencies_024() + filePkts[24] = packet_OSPFv3_NBMA_adjacencies_025() + filePkts[25] = packet_OSPFv3_NBMA_adjacencies_026() + filePkts[26] = packet_OSPFv3_NBMA_adjacencies_027() + filePkts[27] = packet_OSPFv3_NBMA_adjacencies_028() + filePkts[28] = packet_OSPFv3_NBMA_adjacencies_029() + filePkts[29] = packet_OSPFv3_NBMA_adjacencies_030() + filePkts[30] = packet_OSPFv3_NBMA_adjacencies_031() + filePkts[31] = packet_OSPFv3_NBMA_adjacencies_032() + filePkts[32] = packet_OSPFv3_NBMA_adjacencies_033() + filePkts[33] = packet_OSPFv3_NBMA_adjacencies_034() + filePkts[34] = packet_OSPFv3_NBMA_adjacencies_035() + filePkts[35] = packet_OSPFv3_NBMA_adjacencies_036() + filePkts[36] = packet_OSPFv3_NBMA_adjacencies_037() + filePkts[37] = packet_OSPFv3_NBMA_adjacencies_038() + filePkts[38] = packet_OSPFv3_NBMA_adjacencies_039() + filePkts[39] = packet_OSPFv3_NBMA_adjacencies_040() + filePkts[40] = packet_OSPFv3_NBMA_adjacencies_041() + filePkts[41] = packet_OSPFv3_NBMA_adjacencies_042() + filePkts[42] = packet_OSPFv3_NBMA_adjacencies_043() + filePkts[43] = packet_OSPFv3_NBMA_adjacencies_044() + filePkts[44] = packet_OSPFv3_NBMA_adjacencies_045() + filePkts[45] = packet_OSPFv3_NBMA_adjacencies_046() + filePkts[46] = packet_OSPFv3_NBMA_adjacencies_047() + filePkts[47] = packet_OSPFv3_NBMA_adjacencies_048() + filePkts[48] = packet_OSPFv3_NBMA_adjacencies_049() + filePkts[49] = packet_OSPFv3_NBMA_adjacencies_050() + filePkts[50] = packet_OSPFv3_NBMA_adjacencies_051() + filePkts[51] = packet_OSPFv3_NBMA_adjacencies_052() + filePkts[52] = packet_OSPFv3_NBMA_adjacencies_053() + filePkts[53] = packet_OSPFv3_NBMA_adjacencies_054() + filePkts[54] = packet_OSPFv3_NBMA_adjacencies_055() + filePkts[55] = packet_OSPFv3_NBMA_adjacencies_056() + filePkts[56] = packet_OSPFv3_NBMA_adjacencies_057() + filePkts[57] = packet_OSPFv3_NBMA_adjacencies_058() + filePkts[58] = packet_OSPFv3_NBMA_adjacencies_059() + filePkts[59] = packet_OSPFv3_NBMA_adjacencies_060() + filePkts[60] = packet_OSPFv3_NBMA_adjacencies_061() + filePkts[61] = packet_OSPFv3_NBMA_adjacencies_062() + filePkts[62] = packet_OSPFv3_NBMA_adjacencies_063() + filePkts[63] = packet_OSPFv3_NBMA_adjacencies_064() + filePkts[64] = packet_OSPFv3_NBMA_adjacencies_065() + filePkts[65] = packet_OSPFv3_NBMA_adjacencies_066() + filePkts[66] = packet_OSPFv3_NBMA_adjacencies_067() + filePkts[67] = packet_OSPFv3_NBMA_adjacencies_068() + filePkts[68] = packet_OSPFv3_NBMA_adjacencies_069() + filePkts[69] = packet_OSPFv3_NBMA_adjacencies_070() + filePkts[70] = packet_OSPFv3_NBMA_adjacencies_071() + filePkts[71] = packet_OSPFv3_NBMA_adjacencies_072() + filePkts[72] = packet_OSPFv3_NBMA_adjacencies_073() + filePkts[73] = packet_OSPFv3_NBMA_adjacencies_074() + filePkts[74] = packet_OSPFv3_NBMA_adjacencies_075() + filePkts[75] = packet_OSPFv3_NBMA_adjacencies_076() + filePkts[76] = packet_OSPFv3_NBMA_adjacencies_077() + filePkts[77] = packet_OSPFv3_NBMA_adjacencies_078() + filePkts[78] = packet_OSPFv3_NBMA_adjacencies_079() + filePkts[79] = packet_OSPFv3_NBMA_adjacencies_080() + filePkts[80] = packet_OSPFv3_NBMA_adjacencies_081() + filePkts[81] = packet_OSPFv3_NBMA_adjacencies_082() + filePkts[82] = packet_OSPFv3_NBMA_adjacencies_083() + filePkts[83] = packet_OSPFv3_NBMA_adjacencies_084() + filePkts[84] = packet_OSPFv3_NBMA_adjacencies_085() + filePkts[85] = packet_OSPFv3_NBMA_adjacencies_086() + Packets["OSPFv3_NBMA_adjacencies.cap"] = filePkts +} + +func packet_OSPFv3_NBMA_adjacencies_001() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x24, RouterID:0x3030303, AreaID:0x0, Checksum:0x8e9b, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x3030303, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_002() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x24, RouterID:0x3030303, AreaID:0x0, Checksum:0x8e9c, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x3030303, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_003() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x1010101, AreaID:0x0, Checksum:0xf396, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x1010101, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID{0x3030303}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_004() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x3030303, AreaID:0x0, Checksum:0xdecf, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x7, DDSequenceNumber:0x149b, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_005() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x1010101, AreaID:0x0, Checksum:0xdc07, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x7, DDSequenceNumber:0x1b67, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_006() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x134, RouterID:0x1010101, AreaID:0x0, Checksum:0x1a8b, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x2, DDSequenceNumber:0x149b, LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 14) + body.LSAHeaders[0] = &packetv3.LSA{Age:0xd1, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000d, Checksum:0xbb45, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x205, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000a, Checksum:0xc89, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x467, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000006, Checksum:0xf59f, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x485, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x6f6b, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x14a, Type:0x2003, ID:0x4, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe506, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x1fd, Type:0x2003, ID:0x3, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xd117, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[6] = &packetv3.LSA{Age:0x517, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xae46, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[7] = &packetv3.LSA{Age:0x517, Type:0x2003, ID:0x3, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xf2f5, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[8] = &packetv3.LSA{Age:0x517, Type:0x2003, ID:0x4, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x10b1, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[9] = &packetv3.LSA{Age:0x149, Type:0x8, ID:0x6, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x86d0, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[10] = &packetv3.LSA{Age:0x51b, Type:0x8, ID:0x6, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x7ed3, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[11] = &packetv3.LSA{Age:0x517, Type:0x8, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa049, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[12] = &packetv3.LSA{Age:0x149, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe2b4, Length:0x2c, Body:packetv3.Serializable(nil)} + body.LSAHeaders[13] = &packetv3.LSA{Age:0x485, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xbfe8, Length:0x2c, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_007() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x94, RouterID:0x3030303, AreaID:0x0, Checksum:0xe737, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x3, DDSequenceNumber:0x149c, LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 6) + body.LSAHeaders[0] = &packetv3.LSA{Age:0xe, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x956e, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x7c, Type:0x2003, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xc234, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x7c, Type:0x2003, ID:0x1, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x2e96, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x72, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xfcec, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x86, Type:0x8, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa049, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x86, Type:0x2009, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xb7c, Length:0x2c, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_008() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x3, PacketLength:0xa0, RouterID:0x3030303, AreaID:0x0, Checksum:0x6dd1, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateRequestMsg{Requests:[]packetv3.LinkStateRequest{packetv3.LinkStateRequest{LSType:0x2001, LinkStateID:0x0, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2001, LinkStateID:0x0, AdvertisingRouter:0x2020202}, packetv3.LinkStateRequest{LSType:0x2001, LinkStateID:0x0, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x2002, LinkStateID:0x6, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x4, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x3, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x3, AdvertisingRouter:0x2020202}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x4, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x8, LinkStateID:0x6, AdvertisingRouter:0x2020202}, packetv3.LinkStateRequest{LSType:0x8, LinkStateID:0x6, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x2009, LinkStateID:0x1800, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2009, LinkStateID:0x0, AdvertisingRouter:0x1010101}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_009() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x1010101, AreaID:0x0, Checksum:0xe2d9, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x0, DDSequenceNumber:0x149c, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_010() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x3, PacketLength:0x4c, RouterID:0x1010101, AreaID:0x0, Checksum:0x5ec2, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateRequestMsg{Requests:[]packetv3.LinkStateRequest{packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x2, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x1, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x0, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x8, LinkStateID:0x6, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2009, LinkStateID:0x0, AdvertisingRouter:0x3030303}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_011() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x3030303, AreaID:0x0, Checksum:0xded3, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x1, DDSequenceNumber:0x149d, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_012() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0xe4, RouterID:0x3030303, AreaID:0x0, Checksum:0x8eb5, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 5) + body.LSAs[0] = &packetv3.LSA{Age:0x73, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xfcec, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0x14}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000004, 0x0)}}} + body.LSAs[1] = &packetv3.LSA{Age:0x7d, Type:0x2003, ID:0x1, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x2e96, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000034, 0x0)}}} + body.LSAs[2] = &packetv3.LSA{Age:0x7d, Type:0x2003, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xc234, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000003, 0x0)}}} + body.LSAs[3] = &packetv3.LSA{Age:0x87, Type:0x8, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa049, Length:0x38, Body:&packetv3.LinkLSA{RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x3), PrefixNum:0x1, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[4] = &packetv3.LSA{Age:0x87, Type:0x2009, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xb7c, Length:0x2c, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x3030303, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x40, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_013() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x1f8, RouterID:0x1010101, AreaID:0x0, Checksum:0xe21b, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 12) + body.LSAs[0] = &packetv3.LSA{Age:0x468, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000006, Checksum:0xf59f, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + body.LSAs[1] = &packetv3.LSA{Age:0x206, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000a, Checksum:0xc89, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + body.LSAs[2] = &packetv3.LSA{Age:0xd2, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000d, Checksum:0xbb45, Length:0x18, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription(nil)}} + body.LSAs[3] = &packetv3.LSA{Age:0x486, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x6f6b, Length:0x24, Body:&packetv3.NetworkLSA{Options:packetv3.RouterOptions{Flags:0x33}, AttachedRouter:[]packetv3.ID{0x3030303, 0x2020202, 0x1010101}}} + body.LSAs[4] = &packetv3.LSA{Age:0x518, Type:0x2003, ID:0x4, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x10b1, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000034, 0x0)}}} + body.LSAs[5] = &packetv3.LSA{Age:0x518, Type:0x2003, ID:0x3, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xf2f5, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0x14}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000004, 0x0)}}} + body.LSAs[6] = &packetv3.LSA{Age:0x1fe, Type:0x2003, ID:0x3, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xd117, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + body.LSAs[7] = &packetv3.LSA{Age:0x14b, Type:0x2003, ID:0x4, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe506, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + body.LSAs[8] = &packetv3.LSA{Age:0x51c, Type:0x8, ID:0x6, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x7ed3, Length:0x38, Body:&packetv3.LinkLSA{RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x2), PrefixNum:0x1, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[9] = &packetv3.LSA{Age:0x14a, Type:0x8, ID:0x6, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x86d0, Length:0x38, Body:&packetv3.LinkLSA{RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x1), PrefixNum:0x1, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[10] = &packetv3.LSA{Age:0x486, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xbfe8, Length:0x2c, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2002, ReferencedLinkStateID:0x6, ReferencedAdvertisingRouter:0x3030303, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[11] = &packetv3.LSA{Age:0x14a, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe2b4, Length:0x2c, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x1010101, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x40, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_014() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x1010101, AreaID:0x0, Checksum:0xe2d8, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x0, DDSequenceNumber:0x149d, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_015() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x2c, RouterID:0x3030303, AreaID:0x0, Checksum:0xc66f, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000007, Checksum:0x8b73, Length:0x18, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription(nil)}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_016() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x5c, RouterID:0x1010101, AreaID:0x0, Checksum:0x4777, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil}} + body.LSAs = make([]*packetv3.LSA, 2) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0x14f6, Length:0x20, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x1010101, Prefixes:[]packetv3.LSAPrefix(nil)}} + body.LSAs[1] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000e, Checksum:0x2273, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_017() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x34, RouterID:0x3030303, AreaID:0x0, Checksum:0xe226, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x3cbe, Length:0x20, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x3030303, Prefixes:[]packetv3.LSAPrefix(nil)}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_018() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x2020202, AreaID:0x0, Checksum:0xef91, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x2020202, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID{0x3030303}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_019() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x3030303, AreaID:0x0, Checksum:0xf0ed, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x7, DDSequenceNumber:0x27c, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_020() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x2020202, AreaID:0x0, Checksum:0xe892, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x7, DDSequenceNumber:0xcd9, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_021() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x134, RouterID:0x2020202, AreaID:0x0, Checksum:0x135f, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x2, DDSequenceNumber:0x27c, LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 14) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x22c, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000a, Checksum:0x2a6f, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0xd1, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000d, Checksum:0x9d5f, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x46a, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000006, Checksum:0xf59f, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x488, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x6f6b, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x222, Type:0x2003, ID:0x3, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xeffc, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x14a, Type:0x2003, ID:0x4, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xc720, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[6] = &packetv3.LSA{Age:0x51a, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xae46, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[7] = &packetv3.LSA{Age:0x51a, Type:0x2003, ID:0x3, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xf2f5, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[8] = &packetv3.LSA{Age:0x51a, Type:0x2003, ID:0x4, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x10b1, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[9] = &packetv3.LSA{Age:0x51e, Type:0x8, ID:0x6, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x86d0, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[10] = &packetv3.LSA{Age:0x149, Type:0x8, ID:0x6, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x7ed3, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[11] = &packetv3.LSA{Age:0x519, Type:0x8, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa049, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[12] = &packetv3.LSA{Age:0x149, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xf698, Length:0x2c, Body:packetv3.Serializable(nil)} + body.LSAHeaders[13] = &packetv3.LSA{Age:0x488, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xbfe8, Length:0x2c, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_022() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x15c, RouterID:0x3030303, AreaID:0x0, Checksum:0x1336, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x3, DDSequenceNumber:0x27d, LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 16) + body.LSAHeaders[0] = &packetv3.LSA{Age:0xd4, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000d, Checksum:0xbb45, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x208, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000a, Checksum:0xc89, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x2, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000007, Checksum:0x8b73, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x488, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x6f6b, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x14d, Type:0x2003, ID:0x4, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe506, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x200, Type:0x2003, ID:0x3, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xd117, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[6] = &packetv3.LSA{Age:0x7f, Type:0x2003, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xc234, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[7] = &packetv3.LSA{Age:0x7f, Type:0x2003, ID:0x1, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x2e96, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[8] = &packetv3.LSA{Age:0x75, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xfcec, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[9] = &packetv3.LSA{Age:0x51a, Type:0x2003, ID:0x3, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xf2f5, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[10] = &packetv3.LSA{Age:0x51a, Type:0x2003, ID:0x4, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x10b1, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[11] = &packetv3.LSA{Age:0x14c, Type:0x8, ID:0x6, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x86d0, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[12] = &packetv3.LSA{Age:0x51e, Type:0x8, ID:0x6, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x7ed3, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[13] = &packetv3.LSA{Age:0x88, Type:0x8, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa049, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[14] = &packetv3.LSA{Age:0x14c, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe2b4, Length:0x2c, Body:packetv3.Serializable(nil)} + body.LSAHeaders[15] = &packetv3.LSA{Age:0x488, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xbfe8, Length:0x2c, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_023() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x3, PacketLength:0x4c, RouterID:0x3030303, AreaID:0x0, Checksum:0x66c7, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateRequestMsg{Requests:[]packetv3.LinkStateRequest{packetv3.LinkStateRequest{LSType:0x2001, LinkStateID:0x0, AdvertisingRouter:0x2020202}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x4, AdvertisingRouter:0x2020202}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x3, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x8, LinkStateID:0x6, AdvertisingRouter:0x2020202}, packetv3.LinkStateRequest{LSType:0x2009, LinkStateID:0x0, AdvertisingRouter:0x2020202}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_024() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x2020202, AreaID:0x0, Checksum:0xf2f5, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x0, DDSequenceNumber:0x27d, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_025() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x3, PacketLength:0x88, RouterID:0x2020202, AreaID:0x0, Checksum:0xd01d, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateRequestMsg{Requests:[]packetv3.LinkStateRequest{packetv3.LinkStateRequest{LSType:0x2001, LinkStateID:0x0, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2001, LinkStateID:0x0, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x2, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x1, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x0, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x3, AdvertisingRouter:0x2020202}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x4, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x8, LinkStateID:0x6, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x8, LinkStateID:0x6, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x2009, LinkStateID:0x0, AdvertisingRouter:0x1010101}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_026() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0xd8, RouterID:0x2020202, AreaID:0x0, Checksum:0x39c8, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 5) + body.LSAs[0] = &packetv3.LSA{Age:0xd2, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000d, Checksum:0x9d5f, Length:0x18, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription(nil)}} + body.LSAs[1] = &packetv3.LSA{Age:0x14b, Type:0x2003, ID:0x4, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xc720, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + body.LSAs[2] = &packetv3.LSA{Age:0x223, Type:0x2003, ID:0x3, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xeffc, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + body.LSAs[3] = &packetv3.LSA{Age:0x14a, Type:0x8, ID:0x6, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x7ed3, Length:0x38, Body:&packetv3.LinkLSA{RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x2), PrefixNum:0x1, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[4] = &packetv3.LSA{Age:0x14a, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xf698, Length:0x2c, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x2020202, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x40, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_027() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x3030303, AreaID:0x0, Checksum:0xf0f1, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x1, DDSequenceNumber:0x27e, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_028() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x194, RouterID:0x3030303, AreaID:0x0, Checksum:0xd7b9, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 10) + body.LSAs[0] = &packetv3.LSA{Age:0x3, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000007, Checksum:0x8b73, Length:0x18, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription(nil)}} + body.LSAs[1] = &packetv3.LSA{Age:0xd5, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000d, Checksum:0xbb45, Length:0x18, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription(nil)}} + body.LSAs[2] = &packetv3.LSA{Age:0x76, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xfcec, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0x14}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000004, 0x0)}}} + body.LSAs[3] = &packetv3.LSA{Age:0x80, Type:0x2003, ID:0x1, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x2e96, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000034, 0x0)}}} + body.LSAs[4] = &packetv3.LSA{Age:0x80, Type:0x2003, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xc234, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000003, 0x0)}}} + body.LSAs[5] = &packetv3.LSA{Age:0x201, Type:0x2003, ID:0x3, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xd117, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + body.LSAs[6] = &packetv3.LSA{Age:0x14e, Type:0x2003, ID:0x4, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe506, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + body.LSAs[7] = &packetv3.LSA{Age:0x89, Type:0x8, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa049, Length:0x38, Body:&packetv3.LinkLSA{RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x3), PrefixNum:0x1, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[8] = &packetv3.LSA{Age:0x14d, Type:0x8, ID:0x6, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x86d0, Length:0x38, Body:&packetv3.LinkLSA{RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x1), PrefixNum:0x1, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[9] = &packetv3.LSA{Age:0x14d, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe2b4, Length:0x2c, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x1010101, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x40, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_029() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x2020202, AreaID:0x0, Checksum:0xf2f4, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x0, DDSequenceNumber:0x27e, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_030() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x88, RouterID:0x1010101, AreaID:0x0, Checksum:0xfdd, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 6) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x73, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xfcec, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x7d, Type:0x2003, ID:0x1, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x2e96, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x7d, Type:0x2003, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xc234, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x87, Type:0x8, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa049, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x87, Type:0x2009, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xb7c, Length:0x2c, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000007, Checksum:0x8b73, Length:0x18, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_031() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0xd8, RouterID:0x3030303, AreaID:0x0, Checksum:0x37c1, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 5) + body.LSAs[0] = &packetv3.LSA{Age:0x14b, Type:0x8, ID:0x6, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x7ed3, Length:0x38, Body:&packetv3.LinkLSA{RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x2), PrefixNum:0x1, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[1] = &packetv3.LSA{Age:0xd3, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000d, Checksum:0x9d5f, Length:0x18, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription(nil)}} + body.LSAs[2] = &packetv3.LSA{Age:0x14c, Type:0x2003, ID:0x4, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xc720, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + body.LSAs[3] = &packetv3.LSA{Age:0x224, Type:0x2003, ID:0x3, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xeffc, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + body.LSAs[4] = &packetv3.LSA{Age:0x14b, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xf698, Length:0x2c, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x2020202, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x40, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_032() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0xd8, RouterID:0x3030303, AreaID:0x0, Checksum:0x37c2, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 5) + body.LSAs[0] = &packetv3.LSA{Age:0x14b, Type:0x8, ID:0x6, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x7ed3, Length:0x38, Body:&packetv3.LinkLSA{RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x2), PrefixNum:0x1, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[1] = &packetv3.LSA{Age:0xd3, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000d, Checksum:0x9d5f, Length:0x18, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription(nil)}} + body.LSAs[2] = &packetv3.LSA{Age:0x14c, Type:0x2003, ID:0x4, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xc720, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + body.LSAs[3] = &packetv3.LSA{Age:0x224, Type:0x2003, ID:0x3, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xeffc, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + body.LSAs[4] = &packetv3.LSA{Age:0x14b, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xf698, Length:0x2c, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x2020202, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x40, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_033() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x74, RouterID:0x2020202, AreaID:0x0, Checksum:0x16dd, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 5) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x14b, Type:0x8, ID:0x6, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x7ed3, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0xd3, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000d, Checksum:0x9d5f, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x14c, Type:0x2003, ID:0x4, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xc720, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x224, Type:0x2003, ID:0x3, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xeffc, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x14b, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xf698, Length:0x2c, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_034() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x5c, RouterID:0x2020202, AreaID:0x0, Checksum:0x4970, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil}} + body.LSAs = make([]*packetv3.LSA, 2) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x28da, Length:0x20, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x2020202, Prefixes:[]packetv3.LSAPrefix(nil)}} + body.LSAs[1] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000e, Checksum:0x48d, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_035() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0xd8, RouterID:0x2020202, AreaID:0x0, Checksum:0xd0bb, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 10) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x3, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000007, Checksum:0x8b73, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0xd5, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000d, Checksum:0xbb45, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x76, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xfcec, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x80, Type:0x2003, ID:0x1, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x2e96, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x80, Type:0x2003, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xc234, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x201, Type:0x2003, ID:0x3, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xd117, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[6] = &packetv3.LSA{Age:0x14e, Type:0x2003, ID:0x4, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe506, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[7] = &packetv3.LSA{Age:0x89, Type:0x8, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa049, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[8] = &packetv3.LSA{Age:0x14d, Type:0x8, ID:0x6, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x86d0, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[9] = &packetv3.LSA{Age:0x14d, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe2b4, Length:0x2c, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_036() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x74, RouterID:0x1010101, AreaID:0x0, Checksum:0x18e0, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 5) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x14b, Type:0x8, ID:0x6, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x7ed3, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0xd3, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000d, Checksum:0x9d5f, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x14c, Type:0x2003, ID:0x4, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xc720, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x224, Type:0x2003, ID:0x3, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xeffc, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x14b, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xf698, Length:0x2c, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_037() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x5c, RouterID:0x1010101, AreaID:0x0, Checksum:0x4773, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil}} + body.LSAs = make([]*packetv3.LSA, 2) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0x14f6, Length:0x20, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x1010101, Prefixes:[]packetv3.LSAPrefix(nil)}} + body.LSAs[1] = &packetv3.LSA{Age:0x5, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000e, Checksum:0x2273, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_038() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x5c, RouterID:0x3030303, AreaID:0x0, Checksum:0x436d, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil}} + body.LSAs = make([]*packetv3.LSA, 2) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0x14f6, Length:0x20, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x1010101, Prefixes:[]packetv3.LSAPrefix(nil)}} + body.LSAs[1] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000e, Checksum:0x2273, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_039() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x5c, RouterID:0x3030303, AreaID:0x0, Checksum:0x436e, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil}} + body.LSAs = make([]*packetv3.LSA, 2) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0x14f6, Length:0x20, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x1010101, Prefixes:[]packetv3.LSAPrefix(nil)}} + body.LSAs[1] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000e, Checksum:0x2273, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_040() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x34, RouterID:0x3030303, AreaID:0x0, Checksum:0xe226, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x3cbe, Length:0x20, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x3030303, Prefixes:[]packetv3.LSAPrefix(nil)}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_041() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0xf4, RouterID:0x3030303, AreaID:0x0, Checksum:0x80c1, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 6) + body.LSAs[0] = &packetv3.LSA{Age:0x1, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x6d6c, Length:0x24, Body:&packetv3.NetworkLSA{Options:packetv3.RouterOptions{Flags:0x33}, AttachedRouter:[]packetv3.ID{0x3030303, 0x2020202, 0x1010101}}} + body.LSAs[1] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x4, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xd1f8, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000034, 0x0)}}} + body.LSAs[2] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x3, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x7883, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000004, 0x0)}}} + body.LSAs[3] = &packetv3.LSA{Age:0x1, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xbde9, Length:0x2c, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2002, ReferencedLinkStateID:0x6, ReferencedAdvertisingRouter:0x3030303, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[4] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000008, Checksum:0xf1a1, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + body.LSAs[5] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000003, Checksum:0x3abf, Length:0x20, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x3030303, Prefixes:[]packetv3.LSAPrefix(nil)}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_042() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0xf4, RouterID:0x3030303, AreaID:0x0, Checksum:0x80c2, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 6) + body.LSAs[0] = &packetv3.LSA{Age:0x1, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x6d6c, Length:0x24, Body:&packetv3.NetworkLSA{Options:packetv3.RouterOptions{Flags:0x33}, AttachedRouter:[]packetv3.ID{0x3030303, 0x2020202, 0x1010101}}} + body.LSAs[1] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x4, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xd1f8, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000034, 0x0)}}} + body.LSAs[2] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x3, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x7883, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000004, 0x0)}}} + body.LSAs[3] = &packetv3.LSA{Age:0x1, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xbde9, Length:0x2c, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2002, ReferencedLinkStateID:0x6, ReferencedAdvertisingRouter:0x3030303, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[4] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000008, Checksum:0xf1a1, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + body.LSAs[5] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000003, Checksum:0x3abf, Length:0x20, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x3030303, Prefixes:[]packetv3.LSAPrefix(nil)}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_043() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x24, RouterID:0x2020202, AreaID:0x0, Checksum:0xc4d, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil}} + body.LSAHeaders = make([]*packetv3.LSA, 1) + body.LSAHeaders[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000003, Checksum:0x3abf, Length:0x20, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_044() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x38, RouterID:0x1010101, AreaID:0x0, Checksum:0x2cdc, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x3, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0xb144, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_045() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x38, RouterID:0x3030303, AreaID:0x0, Checksum:0x28d7, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x3, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0xb144, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_046() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x38, RouterID:0x3030303, AreaID:0x0, Checksum:0x28d8, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x3, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0xb144, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_047() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x5c, RouterID:0x2020202, AreaID:0x0, Checksum:0x496c, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil}} + body.LSAs = make([]*packetv3.LSA, 2) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x28da, Length:0x20, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x2020202, Prefixes:[]packetv3.LSAPrefix(nil)}} + body.LSAs[1] = &packetv3.LSA{Age:0x5, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000e, Checksum:0x48d, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_048() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0xb0, RouterID:0x2020202, AreaID:0x0, Checksum:0x3425, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 8) + body.LSAHeaders[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0x14f6, Length:0x20, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000e, Checksum:0x2273, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x1, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x6d6c, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x4, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xd1f8, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x3, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x7883, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x1, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xbde9, Length:0x2c, Body:packetv3.Serializable(nil)} + body.LSAHeaders[6] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000008, Checksum:0xf1a1, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[7] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x3, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0xb144, Length:0x24, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_049() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x5c, RouterID:0x3030303, AreaID:0x0, Checksum:0x4769, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil}} + body.LSAs = make([]*packetv3.LSA, 2) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x28da, Length:0x20, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x2020202, Prefixes:[]packetv3.LSAPrefix(nil)}} + body.LSAs[1] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000e, Checksum:0x48d, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_050() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x5c, RouterID:0x3030303, AreaID:0x0, Checksum:0x476a, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil}} + body.LSAs = make([]*packetv3.LSA, 2) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x28da, Length:0x20, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x2020202, Prefixes:[]packetv3.LSAPrefix(nil)}} + body.LSAs[1] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000e, Checksum:0x48d, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_051() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0xec, RouterID:0x1010101, AreaID:0x0, Checksum:0xc0c7, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 11) + body.LSAHeaders[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0x14f6, Length:0x20, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000e, Checksum:0x2273, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x3cbe, Length:0x20, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x1, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x6d6c, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x4, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xd1f8, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x3, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x7883, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[6] = &packetv3.LSA{Age:0x1, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xbde9, Length:0x2c, Body:packetv3.Serializable(nil)} + body.LSAHeaders[7] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000008, Checksum:0xf1a1, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[8] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x3, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0xb144, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[9] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x28da, Length:0x20, Body:packetv3.Serializable(nil)} + body.LSAHeaders[10] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000e, Checksum:0x48d, Length:0x28, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_052() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x38, RouterID:0x2020202, AreaID:0x0, Checksum:0x46bd, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x3, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x935e, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_053() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x38, RouterID:0x3030303, AreaID:0x0, Checksum:0x44bb, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x3, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x935e, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_054() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x38, RouterID:0x3030303, AreaID:0x0, Checksum:0x44bc, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x3, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x935e, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_055() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x4c, RouterID:0x2020202, AreaID:0x0, Checksum:0x3177, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 3) + body.LSAHeaders[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x28da, Length:0x20, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000e, Checksum:0x48d, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x3, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x935e, Length:0x24, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_056() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x34, RouterID:0x3030303, AreaID:0x0, Checksum:0xe424, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000003, Checksum:0x3abf, Length:0x20, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x3030303, Prefixes:[]packetv3.LSAPrefix(nil)}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_057() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x24, RouterID:0x1010101, AreaID:0x0, Checksum:0xe50, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil}} + body.LSAHeaders = make([]*packetv3.LSA, 1) + body.LSAHeaders[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000003, Checksum:0x3abf, Length:0x20, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_058() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x24, RouterID:0x1010101, AreaID:0x0, Checksum:0xb7b2, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil}} + body.LSAHeaders = make([]*packetv3.LSA, 1) + body.LSAHeaders[0] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x3, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x935e, Length:0x24, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_059() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x2c, RouterID:0x3030303, AreaID:0x0, Checksum:0x8885, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x3030303, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID{0x2020202, 0x1010101}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_060() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x2c, RouterID:0x3030303, AreaID:0x0, Checksum:0x8886, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x3030303, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID{0x2020202, 0x1010101}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_061() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x1010101, AreaID:0x0, Checksum:0xed90, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x3030303, BackupDesignatedRouterID:0x1010101, Neighbors:[]packetv3.ID{0x3030303}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_062() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x3030303, AreaID:0x0, Checksum:0x59bb, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000009, Checksum:0xefa2, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_063() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x3030303, AreaID:0x0, Checksum:0x59bc, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000009, Checksum:0xefa2, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_064() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x2020202, AreaID:0x0, Checksum:0xe98b, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x3030303, BackupDesignatedRouterID:0x2020202, Neighbors:[]packetv3.ID{0x3030303}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_065() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x24, RouterID:0x2020202, AreaID:0x0, Checksum:0x6572, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil}} + body.LSAHeaders = make([]*packetv3.LSA, 1) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000009, Checksum:0xefa2, Length:0x28, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_066() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x24, RouterID:0x1010101, AreaID:0x0, Checksum:0x6775, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil}} + body.LSAHeaders = make([]*packetv3.LSA, 1) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000009, Checksum:0xefa2, Length:0x28, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_067() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x3030303, AreaID:0x0, Checksum:0x5bb9, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000a, Checksum:0xeda3, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_068() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x3030303, AreaID:0x0, Checksum:0x5bba, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000a, Checksum:0xeda3, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_069() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x24, RouterID:0x1010101, AreaID:0x0, Checksum:0x6973, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil}} + body.LSAHeaders = make([]*packetv3.LSA, 1) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000a, Checksum:0xeda3, Length:0x28, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_070() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x24, RouterID:0x2020202, AreaID:0x0, Checksum:0x6770, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil}} + body.LSAHeaders = make([]*packetv3.LSA, 1) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000a, Checksum:0xeda3, Length:0x28, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_071() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x2c, RouterID:0x3030303, AreaID:0x0, Checksum:0x8481, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x3030303, BackupDesignatedRouterID:0x2020202, Neighbors:[]packetv3.ID{0x2020202, 0x1010101}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_072() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x2c, RouterID:0x3030303, AreaID:0x0, Checksum:0x8482, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x3030303, BackupDesignatedRouterID:0x2020202, Neighbors:[]packetv3.ID{0x2020202, 0x1010101}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_073() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x2020202, AreaID:0x0, Checksum:0x4ace, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000f, Checksum:0x28e, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_074() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x1010101, AreaID:0x0, Checksum:0x30ed, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000f, Checksum:0x2074, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_075() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x3030303, AreaID:0x0, Checksum:0x2ce7, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x2, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000f, Checksum:0x2074, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_076() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x3030303, AreaID:0x0, Checksum:0x2ce8, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x2, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000f, Checksum:0x2074, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_077() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x24, RouterID:0x3030303, AreaID:0x0, Checksum:0x5281, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil}} + body.LSAHeaders = make([]*packetv3.LSA, 1) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000f, Checksum:0x28e, Length:0x28, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_078() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x24, RouterID:0x3030303, AreaID:0x0, Checksum:0x5282, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil}} + body.LSAHeaders = make([]*packetv3.LSA, 1) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000f, Checksum:0x28e, Length:0x28, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_079() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x24, RouterID:0x2020202, AreaID:0x0, Checksum:0x389e, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil}} + body.LSAHeaders = make([]*packetv3.LSA, 1) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x2, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000f, Checksum:0x2074, Length:0x28, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_080() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x24, RouterID:0x1010101, AreaID:0x0, Checksum:0x3aa1, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil}} + body.LSAHeaders = make([]*packetv3.LSA, 1) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x2, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000f, Checksum:0x2074, Length:0x28, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_081() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x3030303, AreaID:0x0, Checksum:0x48c8, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000f, Checksum:0x28e, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_082() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x24, RouterID:0x1010101, AreaID:0x0, Checksum:0x5681, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil}} + body.LSAHeaders = make([]*packetv3.LSA, 1) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000f, Checksum:0x28e, Length:0x28, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_083() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x1010101, AreaID:0x0, Checksum:0xed90, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x3030303, BackupDesignatedRouterID:0x1010101, Neighbors:[]packetv3.ID{0x3030303}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_084() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x2020202, AreaID:0x0, Checksum:0xe98b, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x3030303, BackupDesignatedRouterID:0x2020202, Neighbors:[]packetv3.ID{0x3030303}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_085() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x2c, RouterID:0x3030303, AreaID:0x0, Checksum:0x8481, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x3030303, BackupDesignatedRouterID:0x2020202, Neighbors:[]packetv3.ID{0x2020202, 0x1010101}} + packet.Body = body + return packet +} + +func packet_OSPFv3_NBMA_adjacencies_086() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x2c, RouterID:0x3030303, AreaID:0x0, Checksum:0x8482, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x3030303, BackupDesignatedRouterID:0x2020202, Neighbors:[]packetv3.ID{0x2020202, 0x1010101}} + packet.Body = body + return packet +} diff --git a/protocols/ospf/packetv3/fixtures/packets/OSPFv3_broadcast_adjacency.cap.go b/protocols/ospf/packetv3/fixtures/packets/OSPFv3_broadcast_adjacency.cap.go new file mode 100644 index 000000000..4c006edee --- /dev/null +++ b/protocols/ospf/packetv3/fixtures/packets/OSPFv3_broadcast_adjacency.cap.go @@ -0,0 +1,398 @@ + +// GENERATED FILE - do not edit! +// to regenerate this, run "go run ./protocols/ospf/packetv3/fixtures/packets/gen/" + +package packets + +import ( + "github.com/bio-routing/bio-rd/net" + "github.com/bio-routing/bio-rd/protocols/ospf/packetv3" +) + +func init() { + filePkts := make([]*packetv3.OSPFv3Message, 38) + filePkts[0] = packet_OSPFv3_broadcast_adjacency_001() + filePkts[1] = packet_OSPFv3_broadcast_adjacency_002() + filePkts[2] = packet_OSPFv3_broadcast_adjacency_003() + filePkts[3] = packet_OSPFv3_broadcast_adjacency_004() + filePkts[4] = packet_OSPFv3_broadcast_adjacency_005() + filePkts[5] = packet_OSPFv3_broadcast_adjacency_006() + filePkts[6] = packet_OSPFv3_broadcast_adjacency_007() + filePkts[7] = packet_OSPFv3_broadcast_adjacency_008() + filePkts[8] = packet_OSPFv3_broadcast_adjacency_009() + filePkts[9] = packet_OSPFv3_broadcast_adjacency_010() + filePkts[10] = packet_OSPFv3_broadcast_adjacency_011() + filePkts[11] = packet_OSPFv3_broadcast_adjacency_012() + filePkts[12] = packet_OSPFv3_broadcast_adjacency_013() + filePkts[13] = packet_OSPFv3_broadcast_adjacency_014() + filePkts[14] = packet_OSPFv3_broadcast_adjacency_015() + filePkts[15] = packet_OSPFv3_broadcast_adjacency_016() + filePkts[16] = packet_OSPFv3_broadcast_adjacency_017() + filePkts[17] = packet_OSPFv3_broadcast_adjacency_018() + filePkts[18] = packet_OSPFv3_broadcast_adjacency_019() + filePkts[19] = packet_OSPFv3_broadcast_adjacency_020() + filePkts[20] = packet_OSPFv3_broadcast_adjacency_021() + filePkts[21] = packet_OSPFv3_broadcast_adjacency_022() + filePkts[22] = packet_OSPFv3_broadcast_adjacency_023() + filePkts[23] = packet_OSPFv3_broadcast_adjacency_024() + filePkts[24] = packet_OSPFv3_broadcast_adjacency_025() + filePkts[25] = packet_OSPFv3_broadcast_adjacency_026() + filePkts[26] = packet_OSPFv3_broadcast_adjacency_027() + filePkts[27] = packet_OSPFv3_broadcast_adjacency_028() + filePkts[28] = packet_OSPFv3_broadcast_adjacency_029() + filePkts[29] = packet_OSPFv3_broadcast_adjacency_030() + filePkts[30] = packet_OSPFv3_broadcast_adjacency_031() + filePkts[31] = packet_OSPFv3_broadcast_adjacency_032() + filePkts[32] = packet_OSPFv3_broadcast_adjacency_033() + filePkts[33] = packet_OSPFv3_broadcast_adjacency_034() + filePkts[34] = packet_OSPFv3_broadcast_adjacency_035() + filePkts[35] = packet_OSPFv3_broadcast_adjacency_036() + filePkts[36] = packet_OSPFv3_broadcast_adjacency_037() + filePkts[37] = packet_OSPFv3_broadcast_adjacency_038() + Packets["OSPFv3_broadcast_adjacency.cap"] = filePkts +} + +func packet_OSPFv3_broadcast_adjacency_001() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x24, RouterID:0x1010101, AreaID:0x1, Checksum:0xfb86, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x5, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0xa, RouterDeadInterval:0x28, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_002() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x24, RouterID:0x1010101, AreaID:0x1, Checksum:0xfb86, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x5, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0xa, RouterDeadInterval:0x28, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_003() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x24, RouterID:0x1010101, AreaID:0x1, Checksum:0xfb86, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x5, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0xa, RouterDeadInterval:0x28, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_004() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x24, RouterID:0x1010101, AreaID:0x1, Checksum:0xfb86, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x5, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0xa, RouterDeadInterval:0x28, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_005() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x24, RouterID:0x2020202, AreaID:0x1, Checksum:0xf983, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x5, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0xa, RouterDeadInterval:0x28, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_006() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x1010101, AreaID:0x1, Checksum:0xf578, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x5, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0xa, RouterDeadInterval:0x28, DesignatedRouterID:0x1010101, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID{0x2020202}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_007() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x2020202, AreaID:0x1, Checksum:0xd826, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x7, DDSequenceNumber:0x1d46, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_008() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x1010101, AreaID:0x1, Checksum:0xd342, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x7, DDSequenceNumber:0x242c, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_009() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0xa8, RouterID:0x1010101, AreaID:0x1, Checksum:0x79f6, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x2, DDSequenceNumber:0x1d46, LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 7) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x27, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0xd13a, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x28, Type:0x2003, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xebd, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x28, Type:0x2003, ID:0x1, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xeba0, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x28, Type:0x2003, ID:0x2, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xbaf6, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x28, Type:0x2003, ID:0x3, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x6259, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x22, Type:0x8, ID:0x5, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0x3d08, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[6] = &packetv3.LSA{Age:0x22, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe8d2, Length:0x2c, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_010() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x94, RouterID:0x2020202, AreaID:0x1, Checksum:0x7867, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x3, DDSequenceNumber:0x1d47, LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 6) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x4, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0xb354, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x5, Type:0x2003, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xefd7, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x5, Type:0x2003, ID:0x1, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xcdba, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x5, Type:0x2003, ID:0x2, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x9c11, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x5, Type:0x2003, ID:0x3, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x4473, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x4, Type:0x8, ID:0x5, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x5433, Length:0x2c, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_011() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x1010101, AreaID:0x1, Checksum:0xda2e, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x0, DDSequenceNumber:0x1d47, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_012() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x3, PacketLength:0x64, RouterID:0x2020202, AreaID:0x1, Checksum:0x2c9a, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateRequestMsg{Requests:[]packetv3.LinkStateRequest{packetv3.LinkStateRequest{LSType:0x2001, LinkStateID:0x0, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x3, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x2, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x1, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x0, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x8, LinkStateID:0x5, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x2009, LinkStateID:0x0, AdvertisingRouter:0x1010101}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_013() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x3, PacketLength:0x58, RouterID:0x1010101, AreaID:0x1, Checksum:0x44b3, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateRequestMsg{Requests:[]packetv3.LinkStateRequest{packetv3.LinkStateRequest{LSType:0x2001, LinkStateID:0x0, AdvertisingRouter:0x2020202}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x3, AdvertisingRouter:0x2020202}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x2, AdvertisingRouter:0x2020202}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x1, AdvertisingRouter:0x2020202}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x0, AdvertisingRouter:0x2020202}, packetv3.LinkStateRequest{LSType:0x8, LinkStateID:0x5, AdvertisingRouter:0x2020202}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_014() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x2020202, AreaID:0x1, Checksum:0xd82a, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x1, DDSequenceNumber:0x1d48, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_015() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x120, RouterID:0x1010101, AreaID:0x1, Checksum:0xe556, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 7) + body.LSAs[0] = &packetv3.LSA{Age:0x28, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0xd13a, Length:0x18, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription(nil)}} + body.LSAs[1] = &packetv3.LSA{Age:0x29, Type:0x2003, ID:0x3, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x6259, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0x4a}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000003, 0x0)}}} + body.LSAs[2] = &packetv3.LSA{Age:0x29, Type:0x2003, ID:0x2, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xbaf6, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0x54}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000004, 0x0)}}} + body.LSAs[3] = &packetv3.LSA{Age:0x29, Type:0x2003, ID:0x1, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xeba0, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0x4a}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000034, 0x0)}}} + body.LSAs[4] = &packetv3.LSA{Age:0x29, Type:0x2003, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xebd, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}} + body.LSAs[5] = &packetv3.LSA{Age:0x23, Type:0x8, ID:0x5, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0x3d08, Length:0x38, Body:&packetv3.LinkLSA{RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x1), PrefixNum:0x1, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}}} + body.LSAs[6] = &packetv3.LSA{Age:0x23, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe8d2, Length:0x2c, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x1010101, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0xa, Address:net.IPv6(0x20010db800000012, 0x0)}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_016() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0xe8, RouterID:0x2020202, AreaID:0x1, Checksum:0xe1b8, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 6) + body.LSAs[0] = &packetv3.LSA{Age:0x5, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0xb354, Length:0x18, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription(nil)}} + body.LSAs[1] = &packetv3.LSA{Age:0x6, Type:0x2003, ID:0x3, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x4473, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0x4a}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000003, 0x0)}}} + body.LSAs[2] = &packetv3.LSA{Age:0x6, Type:0x2003, ID:0x2, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x9c11, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0x54}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000004, 0x0)}}} + body.LSAs[3] = &packetv3.LSA{Age:0x6, Type:0x2003, ID:0x1, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xcdba, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0x4a}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000034, 0x0)}}} + body.LSAs[4] = &packetv3.LSA{Age:0x6, Type:0x2003, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xefd7, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}} + body.LSAs[5] = &packetv3.LSA{Age:0x5, Type:0x8, ID:0x5, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x5433, Length:0x2c, Body:&packetv3.LinkLSA{RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x2), PrefixNum:0x0, Prefixes:[]packetv3.LSAPrefix(nil)}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_017() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x1010101, AreaID:0x1, Checksum:0xda2d, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x0, DDSequenceNumber:0x1d48, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_018() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x2020202, AreaID:0x1, Checksum:0x197a, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000003, Checksum:0x37a5, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, InterfaceID:0x5, NeighborInterfaceID:0x5, NeighborRouterID:0x1010101}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_019() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0xa8, RouterID:0x1010101, AreaID:0x1, Checksum:0x722a, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 4) + body.LSAs[0] = &packetv3.LSA{Age:0x1, Type:0x2002, ID:0x5, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x27cc, Length:0x20, Body:&packetv3.NetworkLSA{Options:packetv3.RouterOptions{Flags:0x33}, AttachedRouter:[]packetv3.ID{0x1010101, 0x2020202}}} + body.LSAs[1] = &packetv3.LSA{Age:0x1, Type:0x2009, ID:0x1400, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x8f1c, Length:0x2c, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2002, ReferencedLinkStateID:0x5, ReferencedAdvertisingRouter:0x1010101, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}}} + body.LSAs[2] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0x14f6, Length:0x20, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x1010101, Prefixes:[]packetv3.LSAPrefix(nil)}} + body.LSAs[3] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000003, Checksum:0x558b, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, InterfaceID:0x5, NeighborInterfaceID:0x5, NeighborRouterID:0x1010101}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_020() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x4c, RouterID:0x2020202, AreaID:0x1, Checksum:0xd39f, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x1, Type:0x8, ID:0x5, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x350b, Length:0x38, Body:&packetv3.LinkLSA{RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x2), PrefixNum:0x1, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_021() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x88, RouterID:0x1010101, AreaID:0x1, Checksum:0x9d2c, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 6) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x5, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0xb354, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x6, Type:0x2003, ID:0x3, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x4473, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x6, Type:0x2003, ID:0x2, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x9c11, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x6, Type:0x2003, ID:0x1, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xcdba, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x6, Type:0x2003, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xefd7, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x5, Type:0x8, ID:0x5, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x5433, Length:0x2c, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_022() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0xc4, RouterID:0x2020202, AreaID:0x1, Checksum:0x8b15, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 9) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x28, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0xd13a, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x29, Type:0x2003, ID:0x3, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x6259, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x29, Type:0x2003, ID:0x2, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xbaf6, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x29, Type:0x2003, ID:0x1, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xeba0, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x29, Type:0x2003, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xebd, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x23, Type:0x8, ID:0x5, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0x3d08, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[6] = &packetv3.LSA{Age:0x23, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe8d2, Length:0x2c, Body:packetv3.Serializable(nil)} + body.LSAHeaders[7] = &packetv3.LSA{Age:0x1, Type:0x2002, ID:0x5, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x27cc, Length:0x20, Body:packetv3.Serializable(nil)} + body.LSAHeaders[8] = &packetv3.LSA{Age:0x1, Type:0x2009, ID:0x1400, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x8f1c, Length:0x2c, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_023() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x2020202, AreaID:0x1, Checksum:0xf173, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x5, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0xa, RouterDeadInterval:0x28, DesignatedRouterID:0x1010101, BackupDesignatedRouterID:0x2020202, Neighbors:[]packetv3.ID{0x1010101}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_024() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x2020202, AreaID:0x1, Checksum:0x19fc, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x5, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000003, Checksum:0x37a5, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, InterfaceID:0x5, NeighborInterfaceID:0x5, NeighborRouterID:0x1010101}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_025() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x5c, RouterID:0x1010101, AreaID:0x1, Checksum:0x18a1, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil}} + body.LSAs = make([]*packetv3.LSA, 2) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0x14f6, Length:0x20, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x1010101, Prefixes:[]packetv3.LSAPrefix(nil)}} + body.LSAs[1] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000003, Checksum:0x558b, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, InterfaceID:0x5, NeighborInterfaceID:0x5, NeighborRouterID:0x1010101}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_026() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x1010101, AreaID:0x1, Checksum:0x197, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000004, Checksum:0x538c, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, InterfaceID:0x5, NeighborInterfaceID:0x5, NeighborRouterID:0x1010101}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_027() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x4c, RouterID:0x2020202, AreaID:0x1, Checksum:0xd421, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x5, Type:0x8, ID:0x5, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x350b, Length:0x38, Body:&packetv3.LinkLSA{RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x2), PrefixNum:0x1, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_028() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x38, RouterID:0x1010101, AreaID:0x1, Checksum:0x676e, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 2) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x5, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000003, Checksum:0x37a5, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x5, Type:0x8, ID:0x5, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x350b, Length:0x38, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_029() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x38, RouterID:0x2020202, AreaID:0x1, Checksum:0x3dae, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 2) + body.LSAHeaders[0] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0x14f6, Length:0x20, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000003, Checksum:0x558b, Length:0x28, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_030() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x1010101, AreaID:0x1, Checksum:0xf174, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x5, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0xa, RouterDeadInterval:0x28, DesignatedRouterID:0x1010101, BackupDesignatedRouterID:0x2020202, Neighbors:[]packetv3.ID{0x2020202}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_031() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x1010101, AreaID:0x1, Checksum:0x218, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x5, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000004, Checksum:0x538c, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, InterfaceID:0x5, NeighborInterfaceID:0x5, NeighborRouterID:0x1010101}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_032() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x2020202, AreaID:0x1, Checksum:0x1b78, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000004, Checksum:0x35a6, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x2, Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, InterfaceID:0x5, NeighborInterfaceID:0x5, NeighborRouterID:0x1010101}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_033() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x24, RouterID:0x2020202, AreaID:0x1, Checksum:0x509, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil}} + body.LSAHeaders = make([]*packetv3.LSA, 1) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x5, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000004, Checksum:0x538c, Length:0x28, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_034() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x24, RouterID:0x1010101, AreaID:0x1, Checksum:0x22f4, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil}} + body.LSAHeaders = make([]*packetv3.LSA, 1) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000004, Checksum:0x35a6, Length:0x28, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_035() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x2020202, AreaID:0x1, Checksum:0xf173, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x5, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0xa, RouterDeadInterval:0x28, DesignatedRouterID:0x1010101, BackupDesignatedRouterID:0x2020202, Neighbors:[]packetv3.ID{0x1010101}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_036() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x1010101, AreaID:0x1, Checksum:0xf174, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x5, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0xa, RouterDeadInterval:0x28, DesignatedRouterID:0x1010101, BackupDesignatedRouterID:0x2020202, Neighbors:[]packetv3.ID{0x2020202}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_037() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x2020202, AreaID:0x1, Checksum:0xf173, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x5, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0xa, RouterDeadInterval:0x28, DesignatedRouterID:0x1010101, BackupDesignatedRouterID:0x2020202, Neighbors:[]packetv3.ID{0x1010101}} + packet.Body = body + return packet +} + +func packet_OSPFv3_broadcast_adjacency_038() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x1010101, AreaID:0x1, Checksum:0xf174, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x5, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0xa, RouterDeadInterval:0x28, DesignatedRouterID:0x1010101, BackupDesignatedRouterID:0x2020202, Neighbors:[]packetv3.ID{0x2020202}} + packet.Body = body + return packet +} diff --git a/protocols/ospf/packetv3/fixtures/packets/OSPFv3_multipoint_adjacencies.cap.go b/protocols/ospf/packetv3/fixtures/packets/OSPFv3_multipoint_adjacencies.cap.go new file mode 100644 index 000000000..b32774cd9 --- /dev/null +++ b/protocols/ospf/packetv3/fixtures/packets/OSPFv3_multipoint_adjacencies.cap.go @@ -0,0 +1,836 @@ + +// GENERATED FILE - do not edit! +// to regenerate this, run "go run ./protocols/ospf/packetv3/fixtures/packets/gen/" + +package packets + +import ( + "github.com/bio-routing/bio-rd/net" + "github.com/bio-routing/bio-rd/protocols/ospf/packetv3" +) + +func init() { + filePkts := make([]*packetv3.OSPFv3Message, 73) + filePkts[0] = packet_OSPFv3_multipoint_adjacencies_001() + filePkts[1] = packet_OSPFv3_multipoint_adjacencies_002() + filePkts[2] = packet_OSPFv3_multipoint_adjacencies_003() + filePkts[3] = packet_OSPFv3_multipoint_adjacencies_004() + filePkts[4] = packet_OSPFv3_multipoint_adjacencies_005() + filePkts[5] = packet_OSPFv3_multipoint_adjacencies_006() + filePkts[6] = packet_OSPFv3_multipoint_adjacencies_007() + filePkts[7] = packet_OSPFv3_multipoint_adjacencies_008() + filePkts[8] = packet_OSPFv3_multipoint_adjacencies_009() + filePkts[9] = packet_OSPFv3_multipoint_adjacencies_010() + filePkts[10] = packet_OSPFv3_multipoint_adjacencies_011() + filePkts[11] = packet_OSPFv3_multipoint_adjacencies_012() + filePkts[12] = packet_OSPFv3_multipoint_adjacencies_013() + filePkts[13] = packet_OSPFv3_multipoint_adjacencies_014() + filePkts[14] = packet_OSPFv3_multipoint_adjacencies_015() + filePkts[15] = packet_OSPFv3_multipoint_adjacencies_016() + filePkts[16] = packet_OSPFv3_multipoint_adjacencies_017() + filePkts[17] = packet_OSPFv3_multipoint_adjacencies_018() + filePkts[18] = packet_OSPFv3_multipoint_adjacencies_019() + filePkts[19] = packet_OSPFv3_multipoint_adjacencies_020() + filePkts[20] = packet_OSPFv3_multipoint_adjacencies_021() + filePkts[21] = packet_OSPFv3_multipoint_adjacencies_022() + filePkts[22] = packet_OSPFv3_multipoint_adjacencies_023() + filePkts[23] = packet_OSPFv3_multipoint_adjacencies_024() + filePkts[24] = packet_OSPFv3_multipoint_adjacencies_025() + filePkts[25] = packet_OSPFv3_multipoint_adjacencies_026() + filePkts[26] = packet_OSPFv3_multipoint_adjacencies_027() + filePkts[27] = packet_OSPFv3_multipoint_adjacencies_028() + filePkts[28] = packet_OSPFv3_multipoint_adjacencies_029() + filePkts[29] = packet_OSPFv3_multipoint_adjacencies_030() + filePkts[30] = packet_OSPFv3_multipoint_adjacencies_031() + filePkts[31] = packet_OSPFv3_multipoint_adjacencies_032() + filePkts[32] = packet_OSPFv3_multipoint_adjacencies_033() + filePkts[33] = packet_OSPFv3_multipoint_adjacencies_034() + filePkts[34] = packet_OSPFv3_multipoint_adjacencies_035() + filePkts[35] = packet_OSPFv3_multipoint_adjacencies_036() + filePkts[36] = packet_OSPFv3_multipoint_adjacencies_037() + filePkts[37] = packet_OSPFv3_multipoint_adjacencies_038() + filePkts[38] = packet_OSPFv3_multipoint_adjacencies_039() + filePkts[39] = packet_OSPFv3_multipoint_adjacencies_040() + filePkts[40] = packet_OSPFv3_multipoint_adjacencies_041() + filePkts[41] = packet_OSPFv3_multipoint_adjacencies_042() + filePkts[42] = packet_OSPFv3_multipoint_adjacencies_043() + filePkts[43] = packet_OSPFv3_multipoint_adjacencies_044() + filePkts[44] = packet_OSPFv3_multipoint_adjacencies_045() + filePkts[45] = packet_OSPFv3_multipoint_adjacencies_046() + filePkts[46] = packet_OSPFv3_multipoint_adjacencies_047() + filePkts[47] = packet_OSPFv3_multipoint_adjacencies_048() + filePkts[48] = packet_OSPFv3_multipoint_adjacencies_049() + filePkts[49] = packet_OSPFv3_multipoint_adjacencies_050() + filePkts[50] = packet_OSPFv3_multipoint_adjacencies_051() + filePkts[51] = packet_OSPFv3_multipoint_adjacencies_052() + filePkts[52] = packet_OSPFv3_multipoint_adjacencies_053() + filePkts[53] = packet_OSPFv3_multipoint_adjacencies_054() + filePkts[54] = packet_OSPFv3_multipoint_adjacencies_055() + filePkts[55] = packet_OSPFv3_multipoint_adjacencies_056() + filePkts[56] = packet_OSPFv3_multipoint_adjacencies_057() + filePkts[57] = packet_OSPFv3_multipoint_adjacencies_058() + filePkts[58] = packet_OSPFv3_multipoint_adjacencies_059() + filePkts[59] = packet_OSPFv3_multipoint_adjacencies_060() + filePkts[60] = packet_OSPFv3_multipoint_adjacencies_061() + filePkts[61] = packet_OSPFv3_multipoint_adjacencies_062() + filePkts[62] = packet_OSPFv3_multipoint_adjacencies_063() + filePkts[63] = packet_OSPFv3_multipoint_adjacencies_064() + filePkts[64] = packet_OSPFv3_multipoint_adjacencies_065() + filePkts[65] = packet_OSPFv3_multipoint_adjacencies_066() + filePkts[66] = packet_OSPFv3_multipoint_adjacencies_067() + filePkts[67] = packet_OSPFv3_multipoint_adjacencies_068() + filePkts[68] = packet_OSPFv3_multipoint_adjacencies_069() + filePkts[69] = packet_OSPFv3_multipoint_adjacencies_070() + filePkts[70] = packet_OSPFv3_multipoint_adjacencies_071() + filePkts[71] = packet_OSPFv3_multipoint_adjacencies_072() + filePkts[72] = packet_OSPFv3_multipoint_adjacencies_073() + Packets["OSPFv3_multipoint_adjacencies.cap"] = filePkts +} + +func packet_OSPFv3_multipoint_adjacencies_001() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x24, RouterID:0x3030303, AreaID:0x0, Checksum:0x941c, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_002() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x24, RouterID:0x3030303, AreaID:0x0, Checksum:0x941c, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_003() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x24, RouterID:0x3030303, AreaID:0x0, Checksum:0x941c, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_004() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x24, RouterID:0x3030303, AreaID:0x0, Checksum:0x941c, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_005() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x1010101, AreaID:0x0, Checksum:0xf514, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID{0x3030303}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_006() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x1010101, AreaID:0x0, Checksum:0xf514, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID{0x3030303}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_007() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x3030303, AreaID:0x0, Checksum:0xe7ad, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x7, DDSequenceNumber:0xbbd, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_008() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x1010101, AreaID:0x0, Checksum:0xe1b9, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x7, DDSequenceNumber:0x15b5, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_009() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x10c, RouterID:0x1010101, AreaID:0x0, Checksum:0xd1cd, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x2, DDSequenceNumber:0xbbd, LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 12) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x1d, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000012, Checksum:0xb14a, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x1b4, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000f, Checksum:0x28e, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x1bd, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000a, Checksum:0xeda3, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x1dc, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x6d6c, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x1e, Type:0x2003, ID:0x5, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xdb0f, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x32a, Type:0x2003, ID:0x4, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xc720, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[6] = &packetv3.LSA{Age:0x25d, Type:0x2003, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xc234, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[7] = &packetv3.LSA{Age:0x25d, Type:0x2003, ID:0x1, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x2e96, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[8] = &packetv3.LSA{Age:0x253, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xfcec, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[9] = &packetv3.LSA{Age:0x1d, Type:0x8, ID:0x6, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x86d0, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[10] = &packetv3.LSA{Age:0x1d, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x7418, Length:0x34, Body:packetv3.Serializable(nil)} + body.LSAHeaders[11] = &packetv3.LSA{Age:0x1dc, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xbde9, Length:0x2c, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_010() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0xe4, RouterID:0x3030303, AreaID:0x0, Checksum:0x25ea, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x3, DDSequenceNumber:0xbbe, LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 10) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x1b3, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000f, Checksum:0x2074, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x1b3, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000f, Checksum:0x28e, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x20, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000d, Checksum:0x7f79, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x32b, Type:0x2003, ID:0x4, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe506, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x329, Type:0x2003, ID:0x4, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xc720, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x20, Type:0x2003, ID:0x3, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa44f, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[6] = &packetv3.LSA{Age:0x20, Type:0x2003, ID:0x4, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xe8fe, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[7] = &packetv3.LSA{Age:0x20, Type:0x2003, ID:0x5, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x6ba, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[8] = &packetv3.LSA{Age:0x20, Type:0x8, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa049, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[9] = &packetv3.LSA{Age:0x20, Type:0x2009, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xe099, Length:0x34, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_011() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x3, PacketLength:0x7c, RouterID:0x3030303, AreaID:0x0, Checksum:0xba3b, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateRequestMsg{Requests:[]packetv3.LinkStateRequest{packetv3.LinkStateRequest{LSType:0x2001, LinkStateID:0x0, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x2002, LinkStateID:0x6, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x2, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x1, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x0, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x5, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x8, LinkStateID:0x6, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x2009, LinkStateID:0x1800, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2009, LinkStateID:0x0, AdvertisingRouter:0x1010101}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_012() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x1010101, AreaID:0x0, Checksum:0xebb7, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x0, DDSequenceNumber:0xbbe, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_013() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x3, PacketLength:0x64, RouterID:0x1010101, AreaID:0x0, Checksum:0x1679, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateRequestMsg{Requests:[]packetv3.LinkStateRequest{packetv3.LinkStateRequest{LSType:0x2001, LinkStateID:0x0, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x5, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x4, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x3, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x4, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x8, LinkStateID:0x6, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2009, LinkStateID:0x0, AdvertisingRouter:0x3030303}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_014() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x3030303, AreaID:0x0, Checksum:0xe7b1, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x1, DDSequenceNumber:0xbbf, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_015() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x128, RouterID:0x3030303, AreaID:0x0, Checksum:0xb58b, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 7) + body.LSAs[0] = &packetv3.LSA{Age:0x21, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000d, Checksum:0x7f79, Length:0x18, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription(nil)}} + body.LSAs[1] = &packetv3.LSA{Age:0x21, Type:0x2003, ID:0x5, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x6ba, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000034, 0x0)}}} + body.LSAs[2] = &packetv3.LSA{Age:0x21, Type:0x2003, ID:0x4, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xe8fe, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0x14}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000004, 0x0)}}} + body.LSAs[3] = &packetv3.LSA{Age:0x21, Type:0x2003, ID:0x3, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa44f, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000003, 0x0)}}} + body.LSAs[4] = &packetv3.LSA{Age:0x32c, Type:0x2003, ID:0x4, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe506, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + body.LSAs[5] = &packetv3.LSA{Age:0x21, Type:0x8, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa049, Length:0x38, Body:&packetv3.LinkLSA{RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x3), PrefixNum:0x1, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[6] = &packetv3.LSA{Age:0x21, Type:0x2009, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xe099, Length:0x34, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x3030303, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x80, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:true, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x3)}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_016() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x178, RouterID:0x1010101, AreaID:0x0, Checksum:0xf954, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 9) + body.LSAs[0] = &packetv3.LSA{Age:0x1e, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000012, Checksum:0xb14a, Length:0x18, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription(nil)}} + body.LSAs[1] = &packetv3.LSA{Age:0x1dd, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x6d6c, Length:0x24, Body:&packetv3.NetworkLSA{Options:packetv3.RouterOptions{Flags:0x33}, AttachedRouter:[]packetv3.ID{0x3030303, 0x2020202, 0x1010101}}} + body.LSAs[2] = &packetv3.LSA{Age:0x254, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xfcec, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0x14}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000004, 0x0)}}} + body.LSAs[3] = &packetv3.LSA{Age:0x25e, Type:0x2003, ID:0x1, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x2e96, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000034, 0x0)}}} + body.LSAs[4] = &packetv3.LSA{Age:0x25e, Type:0x2003, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xc234, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000003, 0x0)}}} + body.LSAs[5] = &packetv3.LSA{Age:0x1f, Type:0x2003, ID:0x5, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xdb0f, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + body.LSAs[6] = &packetv3.LSA{Age:0x1e, Type:0x8, ID:0x6, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x86d0, Length:0x38, Body:&packetv3.LinkLSA{RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x1), PrefixNum:0x1, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[7] = &packetv3.LSA{Age:0x1dd, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xbde9, Length:0x2c, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2002, ReferencedLinkStateID:0x6, ReferencedAdvertisingRouter:0x3030303, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[8] = &packetv3.LSA{Age:0x1e, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x7418, Length:0x34, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x1010101, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x80, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:true, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x1)}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_017() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x1010101, AreaID:0x0, Checksum:0xebb6, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x0, DDSequenceNumber:0xbbf, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_018() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x3030303, AreaID:0x0, Checksum:0x1402, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000e, Checksum:0x3a5c, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x1, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x1010101}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_019() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x1010101, AreaID:0x0, Checksum:0x40dd, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000013, Checksum:0x1180, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x1, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_020() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x2020202, AreaID:0x0, Checksum:0xf311, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID{0x3030303}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_021() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x2020202, AreaID:0x0, Checksum:0xf311, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID{0x3030303}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_022() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x3030303, AreaID:0x0, Checksum:0xe615, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x7, DDSequenceNumber:0xd54, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_023() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0xc4, RouterID:0x3030303, AreaID:0x0, Checksum:0x8c8f, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 9) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x1e, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000012, Checksum:0xb14a, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x1dd, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x6d6c, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x254, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xfcec, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x25e, Type:0x2003, ID:0x1, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x2e96, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x25e, Type:0x2003, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xc234, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x1f, Type:0x2003, ID:0x5, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xdb0f, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[6] = &packetv3.LSA{Age:0x1e, Type:0x8, ID:0x6, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x86d0, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[7] = &packetv3.LSA{Age:0x1dd, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xbde9, Length:0x2c, Body:packetv3.Serializable(nil)} + body.LSAHeaders[8] = &packetv3.LSA{Age:0x1e, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x7418, Length:0x34, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_024() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x2020202, AreaID:0x0, Checksum:0xea12, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x7, DDSequenceNumber:0xb59, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_025() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x10c, RouterID:0x2020202, AreaID:0x0, Checksum:0x9b55, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x2, DDSequenceNumber:0xd54, LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 12) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x1b7, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x8000000f, Checksum:0x2074, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x1d, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000012, Checksum:0x9364, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x1c0, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000a, Checksum:0xeda3, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x1de, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x6d6c, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x32e, Type:0x2003, ID:0x4, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe506, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x1e, Type:0x2003, ID:0x5, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xbd29, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[6] = &packetv3.LSA{Age:0x260, Type:0x2003, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xc234, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[7] = &packetv3.LSA{Age:0x260, Type:0x2003, ID:0x1, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x2e96, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[8] = &packetv3.LSA{Age:0x256, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xfcec, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[9] = &packetv3.LSA{Age:0x1d, Type:0x8, ID:0x6, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x7ed3, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[10] = &packetv3.LSA{Age:0x1d, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xaad8, Length:0x34, Body:packetv3.Serializable(nil)} + body.LSAHeaders[11] = &packetv3.LSA{Age:0x1de, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xbde9, Length:0x2c, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_026() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x9c, RouterID:0x1010101, AreaID:0x0, Checksum:0x177e, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 7) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x21, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000d, Checksum:0x7f79, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x21, Type:0x2003, ID:0x5, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x6ba, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x21, Type:0x2003, ID:0x4, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xe8fe, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x21, Type:0x2003, ID:0x3, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa44f, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x32c, Type:0x2003, ID:0x4, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe506, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x21, Type:0x8, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa049, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[6] = &packetv3.LSA{Age:0x21, Type:0x2009, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xe099, Length:0x34, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_027() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0xc4, RouterID:0x3030303, AreaID:0x0, Checksum:0x8c90, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 9) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x1e, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000012, Checksum:0xb14a, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x1dd, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x6d6c, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x254, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xfcec, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x25e, Type:0x2003, ID:0x1, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x2e96, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x25e, Type:0x2003, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xc234, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x1f, Type:0x2003, ID:0x5, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xdb0f, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[6] = &packetv3.LSA{Age:0x1e, Type:0x8, ID:0x6, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x86d0, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[7] = &packetv3.LSA{Age:0x1dd, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xbde9, Length:0x2c, Body:packetv3.Serializable(nil)} + body.LSAHeaders[8] = &packetv3.LSA{Age:0x1e, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x7418, Length:0x34, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_028() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x170, RouterID:0x3030303, AreaID:0x0, Checksum:0xca5b, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x3, DDSequenceNumber:0xd55, LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 17) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x20, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000012, Checksum:0xb14a, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x1b6, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x8000000f, Checksum:0x28e, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x2, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000e, Checksum:0x3a5c, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x1df, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x6d6c, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x32e, Type:0x2003, ID:0x4, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xe506, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x21, Type:0x2003, ID:0x5, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xdb0f, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[6] = &packetv3.LSA{Age:0x32b, Type:0x2003, ID:0x4, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xc720, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[7] = &packetv3.LSA{Age:0x260, Type:0x2003, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xc234, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[8] = &packetv3.LSA{Age:0x260, Type:0x2003, ID:0x1, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x2e96, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[9] = &packetv3.LSA{Age:0x256, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xfcec, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[10] = &packetv3.LSA{Age:0x23, Type:0x2003, ID:0x3, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa44f, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[11] = &packetv3.LSA{Age:0x23, Type:0x2003, ID:0x4, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xe8fe, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[12] = &packetv3.LSA{Age:0x23, Type:0x2003, ID:0x5, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x6ba, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[13] = &packetv3.LSA{Age:0x22, Type:0x8, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa049, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[14] = &packetv3.LSA{Age:0x20, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x7418, Length:0x34, Body:packetv3.Serializable(nil)} + body.LSAHeaders[15] = &packetv3.LSA{Age:0x22, Type:0x2009, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xe099, Length:0x34, Body:packetv3.Serializable(nil)} + body.LSAHeaders[16] = &packetv3.LSA{Age:0x1df, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xbde9, Length:0x2c, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_029() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x2020202, AreaID:0x0, Checksum:0xe81d, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x0, DDSequenceNumber:0xd55, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_030() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x3, PacketLength:0x88, RouterID:0x2020202, AreaID:0x0, Checksum:0xac13, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateRequestMsg{Requests:[]packetv3.LinkStateRequest{packetv3.LinkStateRequest{LSType:0x2001, LinkStateID:0x0, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2001, LinkStateID:0x0, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x5, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x4, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x3, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x4, AdvertisingRouter:0x2020202}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x5, AdvertisingRouter:0x1010101}, packetv3.LinkStateRequest{LSType:0x8, LinkStateID:0x6, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2009, LinkStateID:0x0, AdvertisingRouter:0x3030303}, packetv3.LinkStateRequest{LSType:0x2009, LinkStateID:0x0, AdvertisingRouter:0x1010101}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_031() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x3, PacketLength:0x40, RouterID:0x3030303, AreaID:0x0, Checksum:0x88e6, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateRequestMsg{Requests:[]packetv3.LinkStateRequest{packetv3.LinkStateRequest{LSType:0x2001, LinkStateID:0x0, AdvertisingRouter:0x2020202}, packetv3.LinkStateRequest{LSType:0x2003, LinkStateID:0x5, AdvertisingRouter:0x2020202}, packetv3.LinkStateRequest{LSType:0x8, LinkStateID:0x6, AdvertisingRouter:0x2020202}, packetv3.LinkStateRequest{LSType:0x2009, LinkStateID:0x0, AdvertisingRouter:0x2020202}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_032() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x3030303, AreaID:0x0, Checksum:0xe619, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x1, DDSequenceNumber:0xd56, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_033() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x1a8, RouterID:0x3030303, AreaID:0x0, Checksum:0xebfc, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 10) + body.LSAs[0] = &packetv3.LSA{Age:0x3, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000e, Checksum:0x3a5c, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x1, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x1010101}}}} + body.LSAs[1] = &packetv3.LSA{Age:0x21, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000012, Checksum:0xb14a, Length:0x18, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription(nil)}} + body.LSAs[2] = &packetv3.LSA{Age:0x24, Type:0x2003, ID:0x5, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x6ba, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000034, 0x0)}}} + body.LSAs[3] = &packetv3.LSA{Age:0x24, Type:0x2003, ID:0x4, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xe8fe, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0x14}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000004, 0x0)}}} + body.LSAs[4] = &packetv3.LSA{Age:0x24, Type:0x2003, ID:0x3, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa44f, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000003, 0x0)}}} + body.LSAs[5] = &packetv3.LSA{Age:0x32c, Type:0x2003, ID:0x4, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xc720, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + body.LSAs[6] = &packetv3.LSA{Age:0x22, Type:0x2003, ID:0x5, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xdb0f, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + body.LSAs[7] = &packetv3.LSA{Age:0x23, Type:0x8, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa049, Length:0x38, Body:&packetv3.LinkLSA{RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x3), PrefixNum:0x1, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[8] = &packetv3.LSA{Age:0x23, Type:0x2009, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xe099, Length:0x34, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x3030303, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x80, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:true, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x3)}}}} + body.LSAs[9] = &packetv3.LSA{Age:0x21, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x7418, Length:0x34, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x1010101, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x80, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:true, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x1)}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_034() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0xbc, RouterID:0x2020202, AreaID:0x0, Checksum:0x603c, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 4) + body.LSAs[0] = &packetv3.LSA{Age:0x1e, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000012, Checksum:0x9364, Length:0x18, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription(nil)}} + body.LSAs[1] = &packetv3.LSA{Age:0x1f, Type:0x2003, ID:0x5, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xbd29, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + body.LSAs[2] = &packetv3.LSA{Age:0x1e, Type:0x8, ID:0x6, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x7ed3, Length:0x38, Body:&packetv3.LinkLSA{RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x2), PrefixNum:0x1, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[3] = &packetv3.LSA{Age:0x1e, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xaad8, Length:0x34, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x2020202, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x80, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:true, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x2)}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_035() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x2, PacketLength:0x1c, RouterID:0x2020202, AreaID:0x0, Checksum:0xe81c, InstanceID:0x0, Body:nil} + body := &packetv3.DatabaseDescription{Options:packetv3.RouterOptions{Flags:0x13}, InterfaceMTU:0x5dc, DBFlags:0x0, DDSequenceNumber:0xd56, LSAHeaders:[]*packetv3.LSA(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_036() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0xbc, RouterID:0x3030303, AreaID:0x0, Checksum:0x5e36, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 4) + body.LSAs[0] = &packetv3.LSA{Age:0x1f, Type:0x8, ID:0x6, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x7ed3, Length:0x38, Body:&packetv3.LinkLSA{RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x2), PrefixNum:0x1, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[1] = &packetv3.LSA{Age:0x1f, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000012, Checksum:0x9364, Length:0x18, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription(nil)}} + body.LSAs[2] = &packetv3.LSA{Age:0x20, Type:0x2003, ID:0x5, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xbd29, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + body.LSAs[3] = &packetv3.LSA{Age:0x1f, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xaad8, Length:0x34, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x2020202, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x80, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:true, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x2)}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_037() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0xbc, RouterID:0x3030303, AreaID:0x0, Checksum:0x5e37, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 4) + body.LSAs[0] = &packetv3.LSA{Age:0x1f, Type:0x8, ID:0x6, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x7ed3, Length:0x38, Body:&packetv3.LinkLSA{RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkLocalInterfaceAddress:net.IPv6(0xfe80000000000000, 0x2), PrefixNum:0x1, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[1] = &packetv3.LSA{Age:0x1f, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000012, Checksum:0x9364, Length:0x18, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription(nil)}} + body.LSAs[2] = &packetv3.LSA{Age:0x20, Type:0x2003, ID:0x5, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xbd29, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0x0, Low:0xa}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + body.LSAs[3] = &packetv3.LSA{Age:0x1f, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xaad8, Length:0x34, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2001, ReferencedLinkStateID:0x0, ReferencedAdvertisingRouter:0x2020202, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x80, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:true, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x2)}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_038() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x60, RouterID:0x2020202, AreaID:0x0, Checksum:0xf30, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 4) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x1f, Type:0x8, ID:0x6, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x7ed3, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x1f, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000012, Checksum:0x9364, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x20, Type:0x2003, ID:0x5, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xbd29, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x1f, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xaad8, Length:0x34, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_039() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x2020202, AreaID:0x0, Checksum:0x5bbd, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000013, Checksum:0xf29a, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x1, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_040() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0xd8, RouterID:0x2020202, AreaID:0x0, Checksum:0x8e8f, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 10) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x3, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000e, Checksum:0x3a5c, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x21, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000012, Checksum:0xb14a, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x24, Type:0x2003, ID:0x5, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0x6ba, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x24, Type:0x2003, ID:0x4, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xe8fe, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0x24, Type:0x2003, ID:0x3, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa44f, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0x32c, Type:0x2003, ID:0x4, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xc720, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[6] = &packetv3.LSA{Age:0x22, Type:0x2003, ID:0x5, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0xdb0f, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[7] = &packetv3.LSA{Age:0x23, Type:0x8, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xa049, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[8] = &packetv3.LSA{Age:0x23, Type:0x2009, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000001, Checksum:0xe099, Length:0x34, Body:packetv3.Serializable(nil)} + body.LSAHeaders[9] = &packetv3.LSA{Age:0x21, Type:0x2009, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000001, Checksum:0x7418, Length:0x34, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_041() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x60, RouterID:0x3030303, AreaID:0x0, Checksum:0xd32, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 4) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x1e, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000012, Checksum:0x9364, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x1f, Type:0x2003, ID:0x5, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xbd29, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x1e, Type:0x8, ID:0x6, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x7ed3, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x1e, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xaad8, Length:0x34, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_042() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x60, RouterID:0x3030303, AreaID:0x0, Checksum:0xd33, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 4) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x1e, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000012, Checksum:0x9364, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x1f, Type:0x2003, ID:0x5, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xbd29, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x1e, Type:0x8, ID:0x6, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x7ed3, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x1e, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xaad8, Length:0x34, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_043() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x60, RouterID:0x1010101, AreaID:0x0, Checksum:0x1133, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 4) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x1f, Type:0x8, ID:0x6, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0x7ed3, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0x1f, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000012, Checksum:0x9364, Length:0x18, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0x20, Type:0x2003, ID:0x5, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xbd29, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0x1f, Type:0x2009, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000001, Checksum:0xaad8, Length:0x34, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_044() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x1010101, AreaID:0x0, Checksum:0x40d9, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x5, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000013, Checksum:0x1180, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x1, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_045() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x3030303, AreaID:0x0, Checksum:0x3cd3, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000013, Checksum:0x1180, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x1, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_046() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x3030303, AreaID:0x0, Checksum:0x3cd4, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000013, Checksum:0x1180, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x1, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_047() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x3030303, AreaID:0x0, Checksum:0x13fe, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x5, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000e, Checksum:0x3a5c, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x1, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x1010101}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_048() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x38, RouterID:0x1010101, AreaID:0x0, Checksum:0x36d2, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x4, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0xa74d, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_049() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x12c, RouterID:0x3030303, AreaID:0x0, Checksum:0x7bfc, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 7) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000003, Checksum:0x6b6d, Length:0x24, Body:&packetv3.NetworkLSA{Options:packetv3.RouterOptions{Flags:0x33}, AttachedRouter:[]packetv3.ID{0x3030303, 0x2020202, 0x1010101}}} + body.LSAs[1] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x827a, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000004, 0x0)}}} + body.LSAs[2] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x1, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xefdd, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000034, 0x0)}}} + body.LSAs[3] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x847b, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000003, 0x0)}}} + body.LSAs[4] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000003, Checksum:0xbbea, Length:0x2c, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2002, ReferencedLinkStateID:0x6, ReferencedAdvertisingRouter:0x3030303, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[5] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000f, Checksum:0x5cd3, Length:0x38, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x1, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x2020202}, packetv3.AreaLinkDescription{Type:0x1, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x1010101}}}} + body.LSAs[6] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x4, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0xa74d, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_050() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x12c, RouterID:0x3030303, AreaID:0x0, Checksum:0x7bfd, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil}} + body.LSAs = make([]*packetv3.LSA, 7) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000003, Checksum:0x6b6d, Length:0x24, Body:&packetv3.NetworkLSA{Options:packetv3.RouterOptions{Flags:0x33}, AttachedRouter:[]packetv3.ID{0x3030303, 0x2020202, 0x1010101}}} + body.LSAs[1] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x827a, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000004, 0x0)}}} + body.LSAs[2] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x1, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xefdd, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000034, 0x0)}}} + body.LSAs[3] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x847b, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000003, 0x0)}}} + body.LSAs[4] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000003, Checksum:0xbbea, Length:0x2c, Body:&packetv3.IntraAreaPrefixLSA{ReferencedLSType:0x2002, ReferencedLinkStateID:0x6, ReferencedAdvertisingRouter:0x3030303, Prefixes:[]packetv3.LSAPrefix{packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000000, 0x0)}}}} + body.LSAs[5] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000f, Checksum:0x5cd3, Length:0x38, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x1, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x2020202}, packetv3.AreaLinkDescription{Type:0x1, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x1010101}}}} + body.LSAs[6] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x4, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0xa74d, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_051() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x38, RouterID:0x3030303, AreaID:0x0, Checksum:0xedd3, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 2) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x5, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000013, Checksum:0x1180, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x4, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0xa74d, Length:0x24, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_052() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x38, RouterID:0x3030303, AreaID:0x0, Checksum:0xedd4, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 2) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x5, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000013, Checksum:0x1180, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x4, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0xa74d, Length:0x24, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_053() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0xb0, RouterID:0x2020202, AreaID:0x0, Checksum:0x303f, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 8) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x1010101, SequenceNumber:0x80000013, Checksum:0x1180, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0xe10, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000003, Checksum:0x6b6d, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x827a, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x1, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xefdd, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x847b, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000003, Checksum:0xbbea, Length:0x2c, Body:packetv3.Serializable(nil)} + body.LSAHeaders[6] = &packetv3.LSA{Age:0x1, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000f, Checksum:0x5cd3, Length:0x38, Body:packetv3.Serializable(nil)} + body.LSAHeaders[7] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x4, AdvertisingRouter:0x1010101, SequenceNumber:0x80000002, Checksum:0xa74d, Length:0x24, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_054() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x88, RouterID:0x1010101, AreaID:0x0, Checksum:0x6068, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil, nil, nil, nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 6) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x5, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000e, Checksum:0x3a5c, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0xe10, Type:0x2002, ID:0x6, AdvertisingRouter:0x3030303, SequenceNumber:0x80000003, Checksum:0x6b6d, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[2] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x2, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x827a, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[3] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x1, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0xefdd, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[4] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x80000002, Checksum:0x847b, Length:0x24, Body:packetv3.Serializable(nil)} + body.LSAHeaders[5] = &packetv3.LSA{Age:0xe10, Type:0x2009, ID:0x1800, AdvertisingRouter:0x3030303, SequenceNumber:0x80000003, Checksum:0xbbea, Length:0x2c, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_055() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x2020202, AreaID:0x0, Checksum:0x5bb8, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000013, Checksum:0xf29a, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x1, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_056() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x3030303, AreaID:0x0, Checksum:0x59b5, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x7, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000013, Checksum:0xf29a, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x1, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_057() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x3c, RouterID:0x3030303, AreaID:0x0, Checksum:0x59b6, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x7, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000013, Checksum:0xf29a, Length:0x28, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x1, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x3030303}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_058() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x38, RouterID:0x2020202, AreaID:0x0, Checksum:0x50b3, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x4, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x8967, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_059() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x38, RouterID:0x3030303, AreaID:0x0, Checksum:0x4eb1, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x4, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x8967, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_060() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x38, RouterID:0x3030303, AreaID:0x0, Checksum:0x4eb2, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x4, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x8967, Length:0x24, Body:&packetv3.InterAreaPrefixLSA{Metric:packetv3.InterfaceMetric{High:0xff, Low:0xffff}, Prefix:packetv3.LSAPrefix{PrefixLength:0x40, Options:packetv3.PrefixOptions{NoUnicast:false, LocalAddress:false, Propagate:false, DN:false}, Special:0x0, Address:net.IPv6(0x20010db800000012, 0x0)}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_061() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x38, RouterID:0x3030303, AreaID:0x0, Checksum:0x269a, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 2) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000013, Checksum:0xf29a, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x4, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x8967, Length:0x24, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_062() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x38, RouterID:0x3030303, AreaID:0x0, Checksum:0x269b, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 2) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x6, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000013, Checksum:0xf29a, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x4, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x8967, Length:0x24, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_063() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x4, PacketLength:0x4c, RouterID:0x3030303, AreaID:0x0, Checksum:0xec05, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateUpdate{LSAs:[]*packetv3.LSA{nil}} + body.LSAs = make([]*packetv3.LSA, 1) + body.LSAs[0] = &packetv3.LSA{Age:0x5, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000f, Checksum:0x5cd3, Length:0x38, Body:&packetv3.RouterLSA{Flags:0x1, Options:packetv3.RouterOptions{Flags:0x33}, LinkDescriptions:[]packetv3.AreaLinkDescription{packetv3.AreaLinkDescription{Type:0x1, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x2020202}, packetv3.AreaLinkDescription{Type:0x1, Metric:packetv3.InterfaceMetric{High:0x0, Low:0x40}, InterfaceID:0x6, NeighborInterfaceID:0x6, NeighborRouterID:0x1010101}}}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_064() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x38, RouterID:0x1010101, AreaID:0x0, Checksum:0x2a9e, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil, nil}} + body.LSAHeaders = make([]*packetv3.LSA, 2) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x7, Type:0x2001, ID:0x0, AdvertisingRouter:0x2020202, SequenceNumber:0x80000013, Checksum:0xf29a, Length:0x28, Body:packetv3.Serializable(nil)} + body.LSAHeaders[1] = &packetv3.LSA{Age:0xe10, Type:0x2003, ID:0x4, AdvertisingRouter:0x2020202, SequenceNumber:0x80000002, Checksum:0x8967, Length:0x24, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_065() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x5, PacketLength:0x24, RouterID:0x1010101, AreaID:0x0, Checksum:0xfa2a, InstanceID:0x0, Body:nil} + body := &packetv3.LinkStateAcknowledgement{LSAHeaders:[]*packetv3.LSA{nil}} + body.LSAHeaders = make([]*packetv3.LSA, 1) + body.LSAHeaders[0] = &packetv3.LSA{Age:0x5, Type:0x2001, ID:0x0, AdvertisingRouter:0x3030303, SequenceNumber:0x8000000f, Checksum:0x5cd3, Length:0x38, Body:packetv3.Serializable(nil)} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_066() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x2c, RouterID:0x3030303, AreaID:0x0, Checksum:0x8e06, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID{0x2020202, 0x1010101}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_067() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x2c, RouterID:0x3030303, AreaID:0x0, Checksum:0x8e06, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID{0x2020202, 0x1010101}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_068() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x2c, RouterID:0x3030303, AreaID:0x0, Checksum:0x8e06, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID{0x2020202, 0x1010101}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_069() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x2c, RouterID:0x3030303, AreaID:0x0, Checksum:0x8e06, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x64, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID{0x2020202, 0x1010101}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_070() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x1010101, AreaID:0x0, Checksum:0xf514, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID{0x3030303}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_071() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x1010101, AreaID:0x0, Checksum:0xf514, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID{0x3030303}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_072() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x2020202, AreaID:0x0, Checksum:0xf311, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID{0x3030303}} + packet.Body = body + return packet +} + +func packet_OSPFv3_multipoint_adjacencies_073() *packetv3.OSPFv3Message { + packet := &packetv3.OSPFv3Message{Version:0x3, Type:0x1, PacketLength:0x28, RouterID:0x2020202, AreaID:0x0, Checksum:0xf311, InstanceID:0x0, Body:nil} + body := &packetv3.Hello{InterfaceID:0x6, RouterPriority:0x1, Options:packetv3.RouterOptions{Flags:0x13}, HelloInterval:0x1e, RouterDeadInterval:0x78, DesignatedRouterID:0x0, BackupDesignatedRouterID:0x0, Neighbors:[]packetv3.ID{0x3030303}} + packet.Body = body + return packet +} diff --git a/protocols/ospf/packetv3/fixtures/packets/base.go b/protocols/ospf/packetv3/fixtures/packets/base.go new file mode 100644 index 000000000..68ba3779e --- /dev/null +++ b/protocols/ospf/packetv3/fixtures/packets/base.go @@ -0,0 +1,6 @@ +package packets + +import "github.com/bio-routing/bio-rd/protocols/ospf/packetv3" + +// Packets by source file +var Packets = make(map[string][]*packetv3.OSPFv3Message) diff --git a/protocols/ospf/packetv3/fixtures/packets/gen/gen.go b/protocols/ospf/packetv3/fixtures/packets/gen/gen.go new file mode 100644 index 000000000..8da3896d0 --- /dev/null +++ b/protocols/ospf/packetv3/fixtures/packets/gen/gen.go @@ -0,0 +1,192 @@ +package main + +import ( + "bytes" + "fmt" + "io" + "net" + "os" + "path/filepath" + "regexp" + "runtime" + "strings" + "text/template" + + "github.com/bio-routing/bio-rd/protocols/ospf/packetv3" + "github.com/bio-routing/bio-rd/protocols/ospf/packetv3/fixtures" + "github.com/google/gopacket/pcapgo" +) + +func main() { + cwd := "" + var filename string + for depth := 0; filename != "gen.go"; depth++ { + _, currentPath, _, ok := runtime.Caller(depth) + if !ok { + return + } + filename = filepath.Base(currentPath) + cwd = currentPath + } + dir := filepath.Dir(cwd) + "/../" + + files := []string{ + "OSPFv3_multipoint_adjacencies.cap", + "OSPFv3_broadcast_adjacency.cap", + "OSPFv3_NBMA_adjacencies.cap", + } + + for _, path := range files { + fmt.Printf("Processing infile %s\n", path) + f, err := os.Open(dir + "/../" + path) + if err != nil { + panic(err) + } + defer f.Close() + + r, err := pcapgo.NewReader(f) + if err != nil { + panic(err) + } + + var packetCount int + tempBuf := bytes.NewBufferString("") + funcs := make([]string, 0) + for { + data, _, err := r.ReadPacketData() + if err == io.EOF { + break + } + if err != nil { + panic(err) + } + + pl, src, dst, err := fixtures.Payload(data) + if err != nil { + panic(err) + } + + funcName := serializePacket(tempBuf, path, pl, src, dst, packetCount) + funcs = append(funcs, funcName) + packetCount++ + } + + args := &GenTemplArgs{File: path, PacketFuncs: funcs} + outBuf := bytes.NewBufferString("") + if err := genTemplate.Execute(outBuf, args); err != nil { + panic(err) + } + + tempBuf.WriteTo(outBuf) + file, err := os.Create(dir + path + ".go") + defer file.Close() + if err != nil { + panic(err) + } + outBuf.WriteTo(file) + } +} + +var genTemplate = template.Must(template.New("Gen").Parse(` +// GENERATED FILE - do not edit! +// to regenerate this, run "go run ./protocols/ospf/packetv3/fixtures/packets/gen/" + +package packets + +import ( + "github.com/bio-routing/bio-rd/net" + "github.com/bio-routing/bio-rd/protocols/ospf/packetv3" +) + +func init() { + filePkts := make([]*packetv3.OSPFv3Message, {{ len .PacketFuncs }}) + {{ range $index, $func := .PacketFuncs -}} + filePkts[{{ $index }}] = {{ $func }}() + {{ end -}} + Packets["{{ .File }}"] = filePkts +} +`)) + +type GenTemplArgs struct { + File string + PacketFuncs []string +} + +var packetTemplate = template.Must(template.New("packet").Parse(` +func {{ .FuncName }}() *packetv3.OSPFv3Message { + packet := {{ .Msg }} + body := {{ .Body }} + {{ $lsafield := .LSAField -}} + {{ if gt (len .LSAs) 0 -}} + body.{{ $lsafield }} = make([]*packetv3.LSA, {{ len .LSAs }}) + {{ range $index, $lsa := .LSAs -}} + body.{{ $lsafield }}[{{ $index }}] = {{ $lsa }} + {{ end -}} + {{ end -}} + packet.Body = body + return packet +} +`)) + +type PacketTemplArgs struct { + FuncName string + Msg string + Body string + LSAField string + LSAs []string +} + +var pointerRegex = regexp.MustCompile(`\(\*packetv3\.\w+\)\(0x[0-9a-f]+\)`) +var netRegex = regexp.MustCompile(`net.IP\{higher:(0x[0-9a-f]+), lower:(0x[0-9a-f]+), isLegacy:false\}`) + +func cleanSerialized(in string) string { + clean := pointerRegex.ReplaceAllString(in, "nil") + clean = strings.ReplaceAll(clean, "_:0x0, ", "") + clean = netRegex.ReplaceAllString(clean, "net.IPv6($1, $2)") + return clean +} + +func serializeLSAs(items []*packetv3.LSA) []string { + out := make([]string, len(items)) + for i := range items { + ser := fmt.Sprintf("%#v", items[i]) + bodyStr := "nil" + if items[i].Body != nil { + bodyStr = cleanSerialized(fmt.Sprintf("%#v", items[i].Body)) + } + ser = pointerRegex.ReplaceAllString(ser, bodyStr) + out[i] = cleanSerialized(ser) + } + return out +} + +func serializePacket(out *bytes.Buffer, file string, payload []byte, src, dst net.IP, count int) string { + buf := bytes.NewBuffer(payload) + msg, _, err := packetv3.DeserializeOSPFv3Message(buf, src, dst) + if err != nil { + panic(err) + } + + args := &PacketTemplArgs{} + args.FuncName = fmt.Sprintf("packet_%s_%03d", strings.ReplaceAll(file, ".cap", ""), count+1) + args.Msg = cleanSerialized(fmt.Sprintf("%#v", msg)) + args.Body = cleanSerialized(fmt.Sprintf("%#v", msg.Body)) + + switch t := msg.Body.(type) { + case *packetv3.DatabaseDescription: + args.LSAField = "LSAHeaders" + args.LSAs = serializeLSAs(t.LSAHeaders) + case *packetv3.LinkStateUpdate: + args.LSAField = "LSAs" + args.LSAs = serializeLSAs(t.LSAs) + case *packetv3.LinkStateAcknowledgement: + args.LSAField = "LSAHeaders" + args.LSAs = serializeLSAs(t.LSAHeaders) + } + + if err := packetTemplate.Execute(out, args); err != nil { + panic(err) + } + + return args.FuncName +} diff --git a/protocols/ospf/packetv3/fixtures/utils.go b/protocols/ospf/packetv3/fixtures/utils.go new file mode 100644 index 000000000..4171f33ce --- /dev/null +++ b/protocols/ospf/packetv3/fixtures/utils.go @@ -0,0 +1,43 @@ +package fixtures + +import ( + "net" + "os" + "testing" + + "github.com/google/gopacket" + "github.com/google/gopacket/layers" + "github.com/google/gopacket/pcapgo" +) + +func PacketReader(t *testing.T, path string) (*pcapgo.Reader, *os.File) { + f, err := os.Open(path) + if err != nil { + t.Error(err) + } + + r, err := pcapgo.NewReader(f) + if err != nil { + t.Error(err) + } + return r, f +} + +func Payload(raw []byte) (pl []byte, src, dst net.IP, err error) { + packet := gopacket.NewPacket(raw, layers.LayerTypeEthernet, gopacket.Default) + if perr := packet.ErrorLayer(); perr != nil { + // fallback to handling of FrameRelay (cut-off header) + packet = gopacket.NewPacket(raw[4:], layers.LayerTypeIPv6, gopacket.Default) + if perr = packet.ErrorLayer(); perr != nil { + err = perr.Error() + return + } + } + + flowSrc, flowDst := packet.NetworkLayer().NetworkFlow().Endpoints() + src = net.IP(flowSrc.Raw()) + dst = net.IP(flowDst.Raw()) + + pl = packet.NetworkLayer().LayerPayload() + return +} diff --git a/protocols/ospf/packetv3/lsa.go b/protocols/ospf/packetv3/lsa.go new file mode 100644 index 000000000..d381d14f6 --- /dev/null +++ b/protocols/ospf/packetv3/lsa.go @@ -0,0 +1,554 @@ +package packetv3 + +import ( + "bytes" + "encoding/binary" + "fmt" + + "github.com/bio-routing/bio-rd/net" + "github.com/bio-routing/bio-rd/util/decode" + "github.com/bio-routing/tflow2/convert" + "github.com/pkg/errors" +) + +type OSPFLSAType uint8 + +// OSPF LSA types +const ( + LSATypeUnknown OSPFLSAType = iota + LSATypeRouter + LSATypeNetwork + LSATypeInterAreaPrefix + LSATypeInterAreaRouter + LSATypeASExternal + LSATypeDeprecated + LSATypeNSSA + LSATypeLink + LSATypeIntraAreaPrefix +) + +type LSA struct { + Age uint16 + Type LSType + ID ID + AdvertisingRouter ID + SequenceNumber uint32 + Checksum uint16 + Length uint16 + Body Serializable +} + +const LSAHeaderLength = 20 + +func (x *LSA) SerializeHeader(buf *bytes.Buffer) { + buf.Write(convert.Uint16Byte(x.Age)) + x.Type.Serialize(buf) + x.ID.Serialize(buf) + x.AdvertisingRouter.Serialize(buf) + buf.Write(convert.Uint32Byte(x.SequenceNumber)) + buf.Write(convert.Uint16Byte(x.Checksum)) + buf.Write(convert.Uint16Byte(x.Length)) +} + +func (x *LSA) Serialize(buf *bytes.Buffer) { + x.SerializeHeader(buf) + x.Body.Serialize(buf) +} + +func DeserializeLSAHeader(buf *bytes.Buffer) (*LSA, int, error) { + pdu := &LSA{} + + var readBytes int + var err error + var fields []interface{} + + fields = []interface{}{ + &pdu.Age, + &pdu.Type, + &pdu.ID, + &pdu.AdvertisingRouter, + &pdu.SequenceNumber, + &pdu.Checksum, + &pdu.Length, + } + + err = decode.Decode(buf, fields) + if err != nil { + return nil, readBytes, fmt.Errorf("Unable to decode fields: %v", err) + } + readBytes += 20 + + return pdu, readBytes, nil +} +func DeserializeLSA(buf *bytes.Buffer) (*LSA, int, error) { + pdu, readBytes, err := DeserializeLSAHeader(buf) + if err != nil { + return nil, 0, err + } + + n, err := pdu.ReadBody(buf) + if err != nil { + return nil, readBytes, errors.Wrap(err, "unable to decode LSA body") + } + readBytes += n + + return pdu, readBytes, nil +} + +func (x *LSA) ReadBody(buf *bytes.Buffer) (int, error) { + code := OSPFLSAType(x.Type & 8191) // Bitmask excludes top three bits + bodyLength := x.Length - LSAHeaderLength + var body Serializable + var readBytes int + var err error + + switch code { + case LSATypeRouter: + body, readBytes, err = DeserializeRouterLSA(buf, bodyLength) + case LSATypeNetwork: + body, readBytes, err = DeserializeNetworkLSA(buf, bodyLength) + case LSATypeInterAreaPrefix: + body, readBytes, err = DeserializeInterAreaPrefixLSA(buf) + case LSATypeInterAreaRouter: + body, readBytes, err = DeserializeInterAreaRouterLSA(buf) + case LSATypeASExternal: + body, readBytes, err = DeserializeASExternalLSA(buf) + case LSATypeNSSA: // NSSA-LSA special case + body, readBytes, err = DeserializeASExternalLSA(buf) + case LSATypeLink: + body, readBytes, err = DeserializeLinkLSA(buf) + case LSATypeIntraAreaPrefix: + body, readBytes, err = DeserializeIntraAreaPrefixLSA(buf) + default: + return 0, fmt.Errorf("unknown LSA type: %x", x.Type) + } + + if err != nil { + return 0, err + } + + x.Body = body + return readBytes, nil +} + +// InterfaceMetric is the metric of a link +// This is supposed to be 24-bit long +type InterfaceMetric struct { + High uint8 + Low uint16 +} + +// Value returns the numeric value of this metric field +func (m InterfaceMetric) Value() uint32 { + return uint32(m.High<<16) + uint32(m.Low) +} + +func (x InterfaceMetric) Serialize(buf *bytes.Buffer) { + buf.WriteByte(x.High) + buf.Write(convert.Uint16Byte(x.Low)) +} + +type AreaLinkDescription struct { + Type uint8 + Metric InterfaceMetric + InterfaceID ID + NeighborInterfaceID ID + NeighborRouterID ID +} + +func (x *AreaLinkDescription) Serialize(buf *bytes.Buffer) { + buf.WriteByte(x.Type) + x.Metric.Serialize(buf) + x.InterfaceID.Serialize(buf) + x.NeighborInterfaceID.Serialize(buf) + x.NeighborRouterID.Serialize(buf) +} + +func DeserializeAreaLinkDescription(buf *bytes.Buffer) (AreaLinkDescription, int, error) { + pdu := AreaLinkDescription{} + + var readBytes int + var err error + var fields []interface{} + + fields = []interface{}{ + &pdu.Type, + &pdu.Metric, + &pdu.InterfaceID, + &pdu.NeighborInterfaceID, + &pdu.NeighborRouterID, + } + + err = decode.Decode(buf, fields) + if err != nil { + return pdu, readBytes, fmt.Errorf("Unable to decode fields: %v", err) + } + readBytes += 16 + + return pdu, readBytes, nil +} + +type RouterLSA struct { + Flags uint8 + Options RouterOptions + LinkDescriptions []AreaLinkDescription +} + +func (x *RouterLSA) Serialize(buf *bytes.Buffer) { + buf.WriteByte(x.Flags) + x.Options.Serialize(buf) + for i := range x.LinkDescriptions { + x.LinkDescriptions[i].Serialize(buf) + } +} + +func DeserializeRouterLSA(buf *bytes.Buffer, bodyLength uint16) (*RouterLSA, int, error) { + pdu := &RouterLSA{} + + var readBytes int + var err error + var fields []interface{} + + fields = []interface{}{ + &pdu.Flags, + &pdu.Options, + } + + err = decode.Decode(buf, fields) + if err != nil { + return nil, readBytes, fmt.Errorf("Unable to decode fields: %v", err) + } + readBytes += 4 + + for i := readBytes; i < int(bodyLength); { + tlv, n, err := DeserializeAreaLinkDescription(buf) + if err != nil { + return nil, readBytes, errors.Wrap(err, "unable to decode LinkDescription") + } + pdu.LinkDescriptions = append(pdu.LinkDescriptions, tlv) + i += n + readBytes += n + } + + return pdu, readBytes, nil +} + +type NetworkLSA struct { + Options RouterOptions + AttachedRouter []ID +} + +func (x *NetworkLSA) Serialize(buf *bytes.Buffer) { + buf.WriteByte(0) // 1 byte reserved + x.Options.Serialize(buf) + for i := range x.AttachedRouter { + x.AttachedRouter[i].Serialize(buf) + } +} + +func DeserializeNetworkLSA(buf *bytes.Buffer, bodyLength uint16) (*NetworkLSA, int, error) { + pdu := &NetworkLSA{} + + var readBytes int + var err error + var fields []interface{} + + fields = []interface{}{ + new(uint8), // 1 byte reserved + &pdu.Options, + } + + err = decode.Decode(buf, fields) + if err != nil { + return nil, readBytes, fmt.Errorf("Unable to decode fields: %v", err) + } + readBytes += 4 + + for i := readBytes; i < int(bodyLength); { + tlv, n, err := DeserializeID(buf) + if err != nil { + return nil, 0, errors.Wrap(err, "Unable to decode AttachedRouterID") + } + pdu.AttachedRouter = append(pdu.AttachedRouter, tlv) + i += n + readBytes += n + } + + return pdu, readBytes, nil +} + +type InterAreaPrefixLSA struct { + Metric InterfaceMetric + Prefix LSAPrefix +} + +func (x *InterAreaPrefixLSA) Serialize(buf *bytes.Buffer) { + buf.WriteByte(0) // 1 byte reserved + x.Metric.Serialize(buf) + x.Prefix.Serialize(buf) +} + +func DeserializeInterAreaPrefixLSA(buf *bytes.Buffer) (*InterAreaPrefixLSA, int, error) { + pdu := &InterAreaPrefixLSA{} + + var readBytes int + var err error + var fields []interface{} + + fields = []interface{}{ + new(uint8), // 1 byte reserved + &pdu.Metric, + } + + err = decode.Decode(buf, fields) + if err != nil { + return nil, readBytes, fmt.Errorf("Unable to decode fields: %v", err) + } + readBytes += 4 + + pfx, n, err := DeserializeLSAPrefix(buf) + if err != nil { + return nil, readBytes, errors.Wrap(err, "unable to decode prefix") + } + pdu.Prefix = pfx + readBytes += n + + return pdu, readBytes, nil +} + +type InterAreaRouterLSA struct { + Options RouterOptions + Metric InterfaceMetric + DestinationRouterID ID +} + +func (x *InterAreaRouterLSA) Serialize(buf *bytes.Buffer) { + buf.WriteByte(0) // 1 byte reserved + x.Options.Serialize(buf) + buf.WriteByte(0) // 1 byte reserved + x.Metric.Serialize(buf) + x.DestinationRouterID.Serialize(buf) +} + +func DeserializeInterAreaRouterLSA(buf *bytes.Buffer) (*InterAreaRouterLSA, int, error) { + pdu := &InterAreaRouterLSA{} + + var readBytes int + var err error + var fields []interface{} + + fields = []interface{}{ + new(uint8), // 1 byte reserved + &pdu.Options, + new(uint8), // 1 byte reserved + &pdu.Metric, + &pdu.DestinationRouterID, + } + + err = decode.Decode(buf, fields) + if err != nil { + return nil, readBytes, fmt.Errorf("Unable to decode fields: %v", err) + } + readBytes += 12 + + return pdu, readBytes, nil +} + +// Bitmasks for flags used in ASExternalLSA +const ( + ASExtLSAFlagT uint8 = 1 << iota + ASExtLSAFlagF + ASExtLSAFlagE +) + +type ASExternalLSA struct { + Flags uint8 + Metric InterfaceMetric + Prefix LSAPrefix + + ForwardingAddress net.IP // optional + ExternalRouteTag uint32 // optional + ReferencedLinkStateID ID // optional +} + +func (a *ASExternalLSA) FlagE() bool { + return (a.Flags & ASExtLSAFlagE) != 0 +} + +func (a *ASExternalLSA) FlagF() bool { + return (a.Flags & ASExtLSAFlagF) != 0 +} + +func (a *ASExternalLSA) FlagT() bool { + return (a.Flags & ASExtLSAFlagT) != 0 +} + +func (x *ASExternalLSA) Serialize(buf *bytes.Buffer) { + buf.WriteByte(x.Flags) + x.Metric.Serialize(buf) + x.Prefix.Serialize(buf) + if x.FlagF() { + serializeIPv6(x.ForwardingAddress, buf) + } + if x.FlagT() { + buf.Write(convert.Uint32Byte(x.ExternalRouteTag)) + } + if x.Prefix.Special != 0 { + x.ReferencedLinkStateID.Serialize(buf) + } +} + +func DeserializeASExternalLSA(buf *bytes.Buffer) (*ASExternalLSA, int, error) { + pdu := &ASExternalLSA{} + + var readBytes int + var err error + var fields []interface{} + + fields = []interface{}{ + &pdu.Flags, + &pdu.Metric, + } + + err = decode.Decode(buf, fields) + if err != nil { + return nil, readBytes, fmt.Errorf("Unable to decode fields: %v", err) + } + readBytes += 4 + + pfx, n, err := DeserializeLSAPrefix(buf) + if err != nil { + return nil, readBytes, errors.Wrap(err, "unable to decode prefix") + } + pdu.Prefix = pfx + readBytes += n + + if pdu.FlagF() { + ip := deserializableIP{} + err := binary.Read(buf, binary.BigEndian, &ip) + if err != nil { + return nil, readBytes, errors.Wrap(err, "unable to decode ForwardingAddress") + } + pdu.ForwardingAddress = ip.ToNetIP() + readBytes += 16 + } + if pdu.FlagT() { + err := binary.Read(buf, binary.BigEndian, &pdu.ExternalRouteTag) + if err != nil { + return nil, readBytes, errors.Wrap(err, "unable to decode ExternalRouteTag") + } + readBytes += 4 + } + if pdu.Prefix.Special != 0 { + id, n, err := DeserializeID(buf) + if err != nil { + return nil, readBytes, errors.Wrap(err, "unable to decode ReferencedLinkStateID") + } + pdu.ReferencedLinkStateID = id + readBytes += n + } + + return pdu, readBytes, nil +} + +type LinkLSA struct { + RouterPriority uint8 + Options RouterOptions + LinkLocalInterfaceAddress net.IP + PrefixNum uint32 + Prefixes []LSAPrefix +} + +func (x *LinkLSA) Serialize(buf *bytes.Buffer) { + buf.WriteByte(x.RouterPriority) + x.Options.Serialize(buf) + serializeIPv6(x.LinkLocalInterfaceAddress, buf) + buf.Write(convert.Uint32Byte(x.PrefixNum)) + for i := range x.Prefixes { + x.Prefixes[i].Serialize(buf) + } +} + +func DeserializeLinkLSA(buf *bytes.Buffer) (*LinkLSA, int, error) { + pdu := &LinkLSA{} + + var readBytes int + var err error + var fields []interface{} + + llintfAddr := deserializableIP{} + fields = []interface{}{ + &pdu.RouterPriority, + &pdu.Options, + &llintfAddr, + &pdu.PrefixNum, + } + + err = decode.Decode(buf, fields) + if err != nil { + return nil, readBytes, fmt.Errorf("Unable to decode fields: %v", err) + } + pdu.LinkLocalInterfaceAddress = llintfAddr.ToNetIP() + readBytes += 24 + + for i := 0; i < int(pdu.PrefixNum); i++ { + tlv, n, err := DeserializeLSAPrefix(buf) + if err != nil { + return nil, 0, errors.Wrap(err, "Unable to decode") + } + pdu.Prefixes = append(pdu.Prefixes, tlv) + readBytes += n + } + + return pdu, readBytes, nil +} + +type IntraAreaPrefixLSA struct { + ReferencedLSType LSType + ReferencedLinkStateID ID + ReferencedAdvertisingRouter ID + Prefixes []LSAPrefix +} + +func (x *IntraAreaPrefixLSA) Serialize(buf *bytes.Buffer) { + buf.Write(convert.Uint16Byte(uint16(len(x.Prefixes)))) + x.ReferencedLSType.Serialize(buf) + x.ReferencedLinkStateID.Serialize(buf) + x.ReferencedAdvertisingRouter.Serialize(buf) + for i := range x.Prefixes { + x.Prefixes[i].Serialize(buf) + } +} + +func DeserializeIntraAreaPrefixLSA(buf *bytes.Buffer) (*IntraAreaPrefixLSA, int, error) { + pdu := &IntraAreaPrefixLSA{} + var prefixNum uint16 + + var readBytes int + var err error + var fields []interface{} + + fields = []interface{}{ + &prefixNum, + &pdu.ReferencedLSType, + &pdu.ReferencedLinkStateID, + &pdu.ReferencedAdvertisingRouter, + } + + err = decode.Decode(buf, fields) + if err != nil { + return nil, readBytes, fmt.Errorf("Unable to decode fields: %v", err) + } + readBytes += 12 + + for i := 0; i < int(prefixNum); i++ { + tlv, n, err := DeserializeLSAPrefix(buf) + if err != nil { + return nil, 0, errors.Wrap(err, "Unable to decode") + } + pdu.Prefixes = append(pdu.Prefixes, tlv) + readBytes += n + } + + return pdu, readBytes, nil +} diff --git a/protocols/ospf/packetv3/lsa_prefix.go b/protocols/ospf/packetv3/lsa_prefix.go new file mode 100644 index 000000000..94c611810 --- /dev/null +++ b/protocols/ospf/packetv3/lsa_prefix.go @@ -0,0 +1,105 @@ +package packetv3 + +import ( + "bytes" + "fmt" + + "github.com/bio-routing/bio-rd/net" + "github.com/bio-routing/bio-rd/util/decode" + "github.com/bio-routing/tflow2/convert" + "github.com/pkg/errors" +) + +// Prefix Option Bits +const ( + NUBIT = 1 + LABIT = 2 + PBIT = 8 + DNBIT = 16 +) + +type PrefixOptions struct { + NoUnicast bool // NU-bit + LocalAddress bool // LA-bit + Propagate bool // P-bit + DN bool // DN-bit +} + +func (o PrefixOptions) Serialize(buf *bytes.Buffer) { + var rawOptions uint8 + if o.NoUnicast { + rawOptions = rawOptions | NUBIT + } + if o.LocalAddress { + rawOptions = rawOptions | LABIT + } + if o.Propagate { + rawOptions = rawOptions | PBIT + } + if o.DN { + rawOptions = rawOptions | DNBIT + } + buf.WriteByte(rawOptions) +} + +type LSAPrefix struct { + PrefixLength uint8 + Options PrefixOptions + + // this may represent different things + // used for metric or referenced LSType + Special uint16 + + Address net.IP +} + +func DeserializeLSAPrefix(buf *bytes.Buffer) (LSAPrefix, int, error) { + pdu := LSAPrefix{} + + var readBytes int + var err error + + var rawOptions uint8 + + fields := []interface{}{ + &pdu.PrefixLength, + &rawOptions, + &pdu.Special, + } + + err = decode.Decode(buf, fields) + if err != nil { + return pdu, readBytes, fmt.Errorf("Unable to decode fields: %v", err) + } + readBytes += 4 + + // read Options + pdu.Options.NoUnicast = (rawOptions & NUBIT) != 0 + pdu.Options.LocalAddress = (rawOptions & LABIT) != 0 + pdu.Options.Propagate = (rawOptions & PBIT) != 0 + pdu.Options.DN = (rawOptions & DNBIT) != 0 + + // read AddressPrefix + numBytes := int((pdu.PrefixLength+31)/32) * 4 + pfxBytes := buf.Next(numBytes) + ipBytes := make([]byte, 16) + copy(ipBytes[:len(pfxBytes)], pfxBytes) + addr, err := net.IPFromBytes(ipBytes) + if err != nil { + return pdu, readBytes, errors.Wrap(err, "unable to decode AddressPrefix") + } + pdu.Address = *addr + readBytes += len(pfxBytes) + + return pdu, readBytes, nil +} + +func (x *LSAPrefix) Serialize(buf *bytes.Buffer) { + buf.WriteByte(x.PrefixLength) + x.Options.Serialize(buf) + buf.Write(convert.Uint16Byte(x.Special)) + + // serialize AddressPrefix + numBytes := int((x.PrefixLength+31)/32) * 4 + buf.Write(x.Address.Bytes()[:numBytes]) +} diff --git a/protocols/ospf/packetv3/packet.go b/protocols/ospf/packetv3/packet.go new file mode 100644 index 000000000..9354f527c --- /dev/null +++ b/protocols/ospf/packetv3/packet.go @@ -0,0 +1,389 @@ +package packetv3 + +import ( + "bytes" + "encoding/binary" + "fmt" + gonet "net" + + "github.com/bio-routing/bio-rd/util/checksum" + "github.com/bio-routing/bio-rd/util/decode" + "github.com/bio-routing/tflow2/convert" + "github.com/pkg/errors" +) + +const OSPFProtocolNumber = 89 +const expectedVersion = 3 + +type OSPFMessageType uint8 + +// OSPF message types +const ( + MsgTypeUnknown OSPFMessageType = iota + MsgTypeHello + MsgTypeDatabaseDescription + MsgTypeLinkStateRequest + MsgTypeLinkStateUpdate + MsgTypeLinkStateAcknowledgment +) + +type OSPFv3Message struct { + Version uint8 + Type OSPFMessageType + PacketLength uint16 + RouterID ID + AreaID ID + Checksum uint16 + InstanceID uint8 + Body Serializable +} + +const OSPFv3MessageHeaderLength = 16 +const OSPFv3MessagePacketLengthAtByte = 2 +const OSPFv3MessageChecksumAtByte = 12 + +func (x *OSPFv3Message) Serialize(out *bytes.Buffer, src, dst gonet.IP) { + buf := bytes.NewBuffer(nil) + + buf.WriteByte(x.Version) + buf.WriteByte(uint8(x.Type)) + buf.Write(convert.Uint16Byte(x.PacketLength)) + x.RouterID.Serialize(buf) + x.AreaID.Serialize(buf) + buf.Write(convert.Uint16Byte(x.Checksum)) + buf.WriteByte(x.InstanceID) + buf.WriteByte(0) // 1 byte reserved + x.Body.Serialize(buf) + + data := buf.Bytes() + + length := uint16(len(data)) + putUint16(data, OSPFv3MessagePacketLengthAtByte, length) + + checksum := checksum.IPv6UpperLayerChecksum(src, dst, OSPFProtocolNumber, data, OSPFv3MessageChecksumAtByte) + putUint16(data, OSPFv3MessageChecksumAtByte, checksum) + + out.Write(data) +} + +func putUint16(b []byte, p int, v uint16) { + binary.BigEndian.PutUint16(b[p:p+2], v) +} + +func DeserializeOSPFv3Message(buf *bytes.Buffer, src, dst gonet.IP) (*OSPFv3Message, int, error) { + pdu := &OSPFv3Message{} + data := buf.Bytes() + + var readBytes int + var err error + var fields []interface{} + + fields = []interface{}{ + &pdu.Version, + &pdu.Type, + &pdu.PacketLength, + &pdu.RouterID, + &pdu.AreaID, + &pdu.Checksum, + &pdu.InstanceID, + new(uint8), // 1 byte reserved + } + + err = decode.Decode(buf, fields) + if err != nil { + return nil, readBytes, fmt.Errorf("Unable to decode fields: %v", err) + } + readBytes += 16 + + if pdu.Version != expectedVersion { + return nil, readBytes, fmt.Errorf("Invalid OSPF version: %d", pdu.Version) + } + + expectedChecksum := checksum.IPv6UpperLayerChecksum(src, dst, OSPFProtocolNumber, data, OSPFv3MessageChecksumAtByte) + if pdu.Checksum != expectedChecksum { + return nil, readBytes, fmt.Errorf("Checksum mismatch. Expected %#04x, got %#04x", expectedChecksum, pdu.Checksum) + } + + n, err := pdu.ReadBody(buf) + if err != nil { + return nil, readBytes, errors.Wrap(err, "unable to decode message body") + } + readBytes += n + + return pdu, readBytes, nil +} + +func (m *OSPFv3Message) ReadBody(buf *bytes.Buffer) (int, error) { + bodyLength := m.PacketLength - OSPFv3MessageHeaderLength + var body Serializable + var readBytes int + var err error + + switch m.Type { + case MsgTypeHello: + body, readBytes, err = DeserializeHello(buf, bodyLength) + case MsgTypeDatabaseDescription: + body, readBytes, err = DeserializeDatabaseDescription(buf, bodyLength) + case MsgTypeLinkStateRequest: + body, readBytes, err = DeserializeLinkStateRequestMsg(buf, bodyLength) + case MsgTypeLinkStateUpdate: + body, readBytes, err = DeserializeLinkStateUpdate(buf) + case MsgTypeLinkStateAcknowledgment: + body, readBytes, err = DeserializeLinkStateAcknowledgement(buf, bodyLength) + default: + return 0, fmt.Errorf("unknown message type: %d", m.Type) + } + + if err != nil { + return 0, err + } + + m.Body = body + return readBytes, nil +} + +type Hello struct { + InterfaceID ID + RouterPriority uint8 + Options RouterOptions + HelloInterval uint16 + RouterDeadInterval uint16 + DesignatedRouterID ID + BackupDesignatedRouterID ID + Neighbors []ID +} + +func (x *Hello) Serialize(buf *bytes.Buffer) { + x.InterfaceID.Serialize(buf) + buf.WriteByte(x.RouterPriority) + x.Options.Serialize(buf) + buf.Write(convert.Uint16Byte(x.HelloInterval)) + buf.Write(convert.Uint16Byte(x.RouterDeadInterval)) + x.DesignatedRouterID.Serialize(buf) + x.BackupDesignatedRouterID.Serialize(buf) + for i := range x.Neighbors { + x.Neighbors[i].Serialize(buf) + } +} + +func DeserializeHello(buf *bytes.Buffer, bodyLength uint16) (*Hello, int, error) { + pdu := &Hello{} + + var readBytes int + var err error + var fields []interface{} + + fields = []interface{}{ + &pdu.InterfaceID, + &pdu.RouterPriority, + &pdu.Options, + &pdu.HelloInterval, + &pdu.RouterDeadInterval, + &pdu.DesignatedRouterID, + &pdu.BackupDesignatedRouterID, + } + + err = decode.Decode(buf, fields) + if err != nil { + return nil, readBytes, fmt.Errorf("Unable to decode fields: %v", err) + } + readBytes += 20 + + for i := readBytes; i < int(bodyLength); { + id, n, err := DeserializeID(buf) + if err != nil { + return nil, readBytes, errors.Wrap(err, "unable to decode neighbor id") + } + pdu.Neighbors = append(pdu.Neighbors, id) + i += n + readBytes += n + } + + return pdu, readBytes, nil +} + +type DBFlags uint8 + +// database description flags +const ( + DBFlagInit DBFlags = 1 << iota + DBFlagMore + DBFlagMS +) + +type DatabaseDescription struct { + Options RouterOptions + InterfaceMTU uint16 + DBFlags DBFlags + DDSequenceNumber uint32 + LSAHeaders []*LSA +} + +func (x *DatabaseDescription) Serialize(buf *bytes.Buffer) { + buf.WriteByte(0) // 1 byte reserved + x.Options.Serialize(buf) + buf.Write(convert.Uint16Byte(x.InterfaceMTU)) + buf.WriteByte(0) // 1 byte reserved + buf.WriteByte(uint8(x.DBFlags)) + buf.Write(convert.Uint32Byte(x.DDSequenceNumber)) + for i := range x.LSAHeaders { + x.LSAHeaders[i].SerializeHeader(buf) + } +} + +func DeserializeDatabaseDescription(buf *bytes.Buffer, bodyLength uint16) (*DatabaseDescription, int, error) { + pdu := &DatabaseDescription{} + + var readBytes int + var err error + var fields []interface{} + + fields = []interface{}{ + new(uint8), + &pdu.Options, + &pdu.InterfaceMTU, + new(uint8), + &pdu.DBFlags, + &pdu.DDSequenceNumber, + } + + err = decode.Decode(buf, fields) + if err != nil { + return nil, readBytes, fmt.Errorf("Unable to decode fields: %v", err) + } + readBytes += 12 + + for i := readBytes; i < int(bodyLength); { + tlv, n, err := DeserializeLSAHeader(buf) + if err != nil { + return nil, 0, errors.Wrap(err, "Unable to decode") + } + pdu.LSAHeaders = append(pdu.LSAHeaders, tlv) + i += n + readBytes += n + } + + return pdu, readBytes, nil +} + +type LinkStateRequestMsg struct { + Requests []LinkStateRequest +} + +func (x *LinkStateRequestMsg) Serialize(buf *bytes.Buffer) { + for i := range x.Requests { + x.Requests[i].Serialize(buf) + } +} + +func DeserializeLinkStateRequestMsg(buf *bytes.Buffer, bodyLength uint16) (*LinkStateRequestMsg, int, error) { + pdu := &LinkStateRequestMsg{} + + var readBytes int + for readBytes < int(bodyLength) { + req, n, err := DeserializeLinkStateRequest(buf) + if err != nil { + return nil, readBytes, errors.Wrap(err, "unable to decode LinkStateRequest") + } + pdu.Requests = append(pdu.Requests, req) + readBytes += n + } + + return pdu, readBytes, nil +} + +type LinkStateRequest struct { + LSType LSType + LinkStateID ID + AdvertisingRouter ID +} + +func (x *LinkStateRequest) Serialize(buf *bytes.Buffer) { + buf.Write([]byte{0, 0}) // 2 bytes reserved + x.LSType.Serialize(buf) + x.LinkStateID.Serialize(buf) + x.AdvertisingRouter.Serialize(buf) +} + +func DeserializeLinkStateRequest(buf *bytes.Buffer) (LinkStateRequest, int, error) { + pdu := LinkStateRequest{} + + var readBytes int + var err error + var fields []interface{} + + fields = []interface{}{ + new(uint16), // 2 bytes reserved + &pdu.LSType, + &pdu.LinkStateID, + &pdu.AdvertisingRouter, + } + + err = decode.Decode(buf, fields) + if err != nil { + return pdu, readBytes, fmt.Errorf("Unable to decode fields: %v", err) + } + readBytes += 12 + + return pdu, readBytes, nil +} + +type LinkStateUpdate struct { + LSAs []*LSA +} + +func (x *LinkStateUpdate) Serialize(buf *bytes.Buffer) { + buf.Write(convert.Uint32Byte(uint32(len(x.LSAs)))) + for i := range x.LSAs { + x.LSAs[i].Serialize(buf) + } +} + +func DeserializeLinkStateUpdate(buf *bytes.Buffer) (*LinkStateUpdate, int, error) { + pdu := &LinkStateUpdate{} + + var lsaCount uint32 + if err := binary.Read(buf, binary.BigEndian, &lsaCount); err != nil { + return nil, 0, errors.Wrap(err, "unable to decode LSA count") + } + readBytes := 4 + + for i := 0; i < int(lsaCount); i++ { + tlv, n, err := DeserializeLSA(buf) + if err != nil { + return nil, 0, errors.Wrap(err, "unable to decode LSA") + } + pdu.LSAs = append(pdu.LSAs, tlv) + readBytes += n + } + + return pdu, readBytes, nil +} + +type LinkStateAcknowledgement struct { + LSAHeaders []*LSA +} + +func (x *LinkStateAcknowledgement) Serialize(buf *bytes.Buffer) { + for i := range x.LSAHeaders { + x.LSAHeaders[i].SerializeHeader(buf) + } +} + +func DeserializeLinkStateAcknowledgement(buf *bytes.Buffer, bodyLength uint16) (*LinkStateAcknowledgement, int, error) { + pdu := &LinkStateAcknowledgement{} + + var readBytes int + + for i := 0; i < int(bodyLength); { + tlv, n, err := DeserializeLSAHeader(buf) + if err != nil { + return nil, 0, errors.Wrap(err, "Unable to decode") + } + pdu.LSAHeaders = append(pdu.LSAHeaders, tlv) + i += n + readBytes += n + } + + return pdu, readBytes, nil +} diff --git a/protocols/ospf/packetv3/packet_test.go b/protocols/ospf/packetv3/packet_test.go new file mode 100644 index 000000000..cddbfe66a --- /dev/null +++ b/protocols/ospf/packetv3/packet_test.go @@ -0,0 +1,116 @@ +package packetv3_test + +import ( + "bytes" + "fmt" + "io" + "os" + "path/filepath" + "testing" + + ospf "github.com/bio-routing/bio-rd/protocols/ospf/packetv3" + "github.com/bio-routing/bio-rd/protocols/ospf/packetv3/fixtures" + "github.com/bio-routing/bio-rd/protocols/ospf/packetv3/fixtures/packets" + "github.com/stretchr/testify/assert" +) + +var files = []string{ + "OSPFv3_multipoint_adjacencies.cap", + "OSPFv3_broadcast_adjacency.cap", + "OSPFv3_NBMA_adjacencies.cap", +} + +var dir string + +func init() { + cwd, err := os.Getwd() + if err != nil { + panic(err) + } + dir = cwd + "/fixtures/" +} + +func TestDecode(t *testing.T) { + for _, path := range files { + t.Run(path, func(t *testing.T) { + testDecodeFile(t, dir+path) + }) + } +} + +func testDecodeFile(t *testing.T, path string) { + fmt.Printf("Testing on file: %s\n", path) + r, f := fixtures.PacketReader(t, path) + defer f.Close() + + var packetCount int + for { + data, _, err := r.ReadPacketData() + if err == io.EOF { + break + } + if err != nil { + t.Error(err) + return + } + + t.Run(fmt.Sprintf("Packet_%03d", packetCount+1), func(t *testing.T) { + payload, src, dst, err := fixtures.Payload(data) + if err != nil { + t.Error(err) + return + } + + buf := bytes.NewBuffer(payload) + if _, _, err := ospf.DeserializeOSPFv3Message(buf, src, dst); err != nil { + t.Error(err) + } + }) + packetCount++ + } +} + +func TestEncode(t *testing.T) { + for _, path := range files { + t.Run(path, func(t *testing.T) { + testEncodeFile(t, dir+path) + }) + } +} + +func testEncodeFile(t *testing.T, path string) { + fmt.Printf("Testing on file: %s\n", path) + r, f := fixtures.PacketReader(t, path) + defer f.Close() + + packets, ok := packets.Packets[filepath.Base(path)] + if !ok { + t.Errorf("Raw Go values not found for file %s", filepath.Base(path)) + } + + var packetCount int + for { + data, _, err := r.ReadPacketData() + if err == io.EOF { + break + } + if err != nil { + t.Error(err) + return + } + + pl, src, dst, err := fixtures.Payload(data) + if err != nil { + t.Error(err) + return + } + + t.Run(fmt.Sprintf("Packet_%03d", packetCount+1), func(t *testing.T) { + buf := &bytes.Buffer{} + msg := packets[packetCount] + msg.Serialize(buf, src, dst) + assert.Equal(t, buf.Bytes(), pl) + }) + packetCount++ + } +} diff --git a/util/checksum/ipv6_upperlayer.go b/util/checksum/ipv6_upperlayer.go new file mode 100644 index 000000000..7b2614bdb --- /dev/null +++ b/util/checksum/ipv6_upperlayer.go @@ -0,0 +1,75 @@ +// taken from https://go.googlesource.com/net/+/refs/changes/17/112817/2/ipv4/header.go#102 +// +// Copyright (c) 2009 The Go Authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "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. + +package checksum + +import ( + "encoding/binary" + "net" + + "github.com/bio-routing/tflow2/convert" + "golang.org/x/net/icmp" +) + +func IPv6PseudoHeader(src, dst net.IP, lenght uint32, proto uint8) []byte { + header := icmp.IPv6PseudoHeader(src, dst) + + lenBytes := convert.Uint32Byte(uint32(lenght)) + copy(header[32:36], lenBytes) + + header[len(header)-1] = proto // next header + return header +} + +// IPv6UpperLayerChecksum calculates the checksum for +// an upper layer payload in IPv6 according to RFC 2460 Section 8.1 +// +// Specify the position of the checksum using sumAt. +// Use a value lower than 0 to not skip a checksum field. +func IPv6UpperLayerChecksum(src, dst net.IP, proto uint8, pl []byte, sumAt int) uint16 { + header := IPv6PseudoHeader(src, dst, uint32(len(pl)), proto) + b := append(header, pl...) + + // Algorithm taken from: https://en.wikipedia.org/wiki/IPv4_header_checksum. + // "First calculate the sum of each 16 bit value within the header, + // skipping only the checksum field itself." + var chk uint32 + for i := 0; i < len(b); i += 2 { + if sumAt > 0 && i == len(header)+sumAt { + continue + } + chk += uint32(binary.BigEndian.Uint16(b[i : i+2])) + } + + // "The first 4 bits are the carry and will be added to the rest of + // the value." + carry := uint16(chk >> 16) + sum := carry + uint16(chk&0x0ffff) + + // "Next, we flip every bit in that value, to obtain the checksum." + return uint16(^sum) +}