From f1d8ea62f898074c01a04428c5dc9318927bdd27 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Mon, 2 Sep 2019 02:18:12 +0200 Subject: [PATCH 01/26] Update gomod --- go.mod | 1 - go.sum | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 9995a54d..bd1c06b9 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,6 @@ require ( golang.org/x/text v0.3.2 // indirect google.golang.org/genproto v0.0.0-20200413115906-b5235f65be36 // indirect google.golang.org/grpc v1.28.0 - google.golang.org/protobuf v1.21.0 gopkg.in/yaml.v2 v2.2.2 ) diff --git a/go.sum b/go.sum index 1119a158..2ab7cbbc 100644 --- a/go.sum +++ b/go.sum @@ -69,7 +69,6 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v1.0.0 h1:vrDKnkGzuGvhNAL56c7DBz29ZL+KxnoR0x7enabFceM= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.6.0 h1:YVPodQOcK15POxhgARIvnDRVpLcuK8mglnMrWfyrw6A= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 h1:S/YWwWx/RA8rT8tKFRuGUZhuA90OyIBpPCXkcbwU8DE= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -108,6 +107,7 @@ golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/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-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980 h1:dfGZHvZk057jK2MCeWus/TowKpJ8y4AmooUzdBSR9GU= From 5c2b2e919a4e4d7cbe8ffc1236d16d964895ac8a Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Mon, 2 Sep 2019 00:21:03 +0000 Subject: [PATCH 02/26] Implement handling of OSPFv3 packets --- go.mod | 4 +- go.sum | 10 + 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, 3767 insertions(+), 1 deletion(-) 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 bd1c06b9..fd5f8320 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,9 @@ require ( github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4 // indirect github.com/bio-routing/tflow2 v0.0.0-20181230153523-2e308a4a3c3a + github.com/gogo/protobuf v1.3.0 // indirect github.com/golang/protobuf v1.4.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 @@ -15,7 +17,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-20200324143707-d3edc9973b7e // indirect + golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e golang.org/x/sys v0.0.0-20200413165638-669c56c373c4 // indirect golang.org/x/text v0.3.2 // indirect google.golang.org/genproto v0.0.0-20200413115906-b5235f65be36 // indirect diff --git a/go.sum b/go.sum index 2ab7cbbc..53f79435 100644 --- a/go.sum +++ b/go.sum @@ -27,6 +27,8 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gogo/protobuf v1.1.1 h1:72R+M5VuhED/KujmZVcIquuo8mBgX4oVda//DQb3PXo= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.3.0 h1:G8O7TerXerS4F6sx9OV7/nRfJdnXgHZu/S/7F2SN+UE= +github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= @@ -48,12 +50,16 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +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= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= @@ -110,6 +116,7 @@ golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +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/net v0.0.0-20200324143707-d3edc9973b7e h1:3G+cUijn7XD+S4eJFddp53Pv7+slrESplyjG25HgL+k= @@ -125,6 +132,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/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200413165638-669c56c373c4 h1:opSr2sbRXk5X5/givKrrKj9HXxFpW2sdCiP8MJSKLQY= golang.org/x/sys v0.0.0-20200413165638-669c56c373c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -133,6 +142,7 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= diff --git a/protocols/ospf/packetv3/common.go b/protocols/ospf/packetv3/common.go new file mode 100644 index 00000000..e818e2d6 --- /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 00000000..9b878d45 --- /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 00000000..4c006ede --- /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 00000000..b32774cd --- /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 00000000..68ba3779 --- /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 00000000..8da3896d --- /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 00000000..4171f33c --- /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 00000000..d381d14f --- /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 00000000..94c61181 --- /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 00000000..9354f527 --- /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 00000000..cddbfe66 --- /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 00000000..7b2614bd --- /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) +} From 87fa450cebe6b4d86b2b68ce2cab360fa5854ccb Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 5 Jan 2020 11:20:56 +0100 Subject: [PATCH 03/26] Remove autogenerated tests for encoding --- .../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/packet_test.go | 48 - 6 files changed, 2440 deletions(-) delete mode 100644 protocols/ospf/packetv3/fixtures/packets/OSPFv3_NBMA_adjacencies.cap.go delete mode 100644 protocols/ospf/packetv3/fixtures/packets/OSPFv3_broadcast_adjacency.cap.go delete mode 100644 protocols/ospf/packetv3/fixtures/packets/OSPFv3_multipoint_adjacencies.cap.go delete mode 100644 protocols/ospf/packetv3/fixtures/packets/base.go delete mode 100644 protocols/ospf/packetv3/fixtures/packets/gen/gen.go diff --git a/protocols/ospf/packetv3/fixtures/packets/OSPFv3_NBMA_adjacencies.cap.go b/protocols/ospf/packetv3/fixtures/packets/OSPFv3_NBMA_adjacencies.cap.go deleted file mode 100644 index 9b878d45..00000000 --- a/protocols/ospf/packetv3/fixtures/packets/OSPFv3_NBMA_adjacencies.cap.go +++ /dev/null @@ -1,960 +0,0 @@ - -// 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 deleted file mode 100644 index 4c006ede..00000000 --- a/protocols/ospf/packetv3/fixtures/packets/OSPFv3_broadcast_adjacency.cap.go +++ /dev/null @@ -1,398 +0,0 @@ - -// 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 deleted file mode 100644 index b32774cd..00000000 --- a/protocols/ospf/packetv3/fixtures/packets/OSPFv3_multipoint_adjacencies.cap.go +++ /dev/null @@ -1,836 +0,0 @@ - -// 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 deleted file mode 100644 index 68ba3779..00000000 --- a/protocols/ospf/packetv3/fixtures/packets/base.go +++ /dev/null @@ -1,6 +0,0 @@ -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 deleted file mode 100644 index 8da3896d..00000000 --- a/protocols/ospf/packetv3/fixtures/packets/gen/gen.go +++ /dev/null @@ -1,192 +0,0 @@ -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/packet_test.go b/protocols/ospf/packetv3/packet_test.go index cddbfe66..3523656b 100644 --- a/protocols/ospf/packetv3/packet_test.go +++ b/protocols/ospf/packetv3/packet_test.go @@ -5,13 +5,10 @@ import ( "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{ @@ -69,48 +66,3 @@ func testDecodeFile(t *testing.T, path string) { 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++ - } -} From 6e88d331ba8c8651690ce4cd51e3a2855f492494 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 5 Jan 2020 11:23:24 +0100 Subject: [PATCH 04/26] Fix usage of net.IP as pointer --- protocols/ospf/packetv3/common.go | 2 +- protocols/ospf/packetv3/lsa_prefix.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/protocols/ospf/packetv3/common.go b/protocols/ospf/packetv3/common.go index e818e2d6..4b63f252 100644 --- a/protocols/ospf/packetv3/common.go +++ b/protocols/ospf/packetv3/common.go @@ -65,7 +65,7 @@ type deserializableIP struct { } func (ip deserializableIP) ToNetIP() net.IP { - return *(net.IPv6(ip.Higher, ip.Lower)) + return net.IPv6(ip.Higher, ip.Lower) } func serializeIPv6(ip net.IP, buf *bytes.Buffer) { diff --git a/protocols/ospf/packetv3/lsa_prefix.go b/protocols/ospf/packetv3/lsa_prefix.go index 94c61181..33a4096c 100644 --- a/protocols/ospf/packetv3/lsa_prefix.go +++ b/protocols/ospf/packetv3/lsa_prefix.go @@ -88,7 +88,7 @@ func DeserializeLSAPrefix(buf *bytes.Buffer) (LSAPrefix, int, error) { if err != nil { return pdu, readBytes, errors.Wrap(err, "unable to decode AddressPrefix") } - pdu.Address = *addr + pdu.Address = addr readBytes += len(pfxBytes) return pdu, readBytes, nil From 1c696c88360bb202cfba2f79d6bb1aa927933c7e Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 5 Jan 2020 19:07:13 +0100 Subject: [PATCH 05/26] Refactor OSPF checksumming --- protocols/ospf/packetv3/fixtures/utils.go | 12 +++++++++--- protocols/ospf/packetv3/packet.go | 16 +++++++++++----- util/checksum/ipv6_upperlayer.go | 9 +++------ 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/protocols/ospf/packetv3/fixtures/utils.go b/protocols/ospf/packetv3/fixtures/utils.go index 4171f33c..d9fb6922 100644 --- a/protocols/ospf/packetv3/fixtures/utils.go +++ b/protocols/ospf/packetv3/fixtures/utils.go @@ -1,10 +1,10 @@ package fixtures import ( - "net" "os" "testing" + "github.com/bio-routing/bio-rd/net" "github.com/google/gopacket" "github.com/google/gopacket/layers" "github.com/google/gopacket/pcapgo" @@ -35,8 +35,14 @@ func Payload(raw []byte) (pl []byte, src, dst net.IP, err error) { } flowSrc, flowDst := packet.NetworkLayer().NetworkFlow().Endpoints() - src = net.IP(flowSrc.Raw()) - dst = net.IP(flowDst.Raw()) + src, err = net.IPFromBytes(flowSrc.Raw()) + if err != nil { + return + } + dst, err = net.IPFromBytes(flowDst.Raw()) + if err != nil { + return + } pl = packet.NetworkLayer().LayerPayload() return diff --git a/protocols/ospf/packetv3/packet.go b/protocols/ospf/packetv3/packet.go index 9354f527..613a1fdf 100644 --- a/protocols/ospf/packetv3/packet.go +++ b/protocols/ospf/packetv3/packet.go @@ -4,8 +4,8 @@ import ( "bytes" "encoding/binary" "fmt" - gonet "net" + "github.com/bio-routing/bio-rd/net" "github.com/bio-routing/bio-rd/util/checksum" "github.com/bio-routing/bio-rd/util/decode" "github.com/bio-routing/tflow2/convert" @@ -42,7 +42,7 @@ const OSPFv3MessageHeaderLength = 16 const OSPFv3MessagePacketLengthAtByte = 2 const OSPFv3MessageChecksumAtByte = 12 -func (x *OSPFv3Message) Serialize(out *bytes.Buffer, src, dst gonet.IP) { +func (x *OSPFv3Message) Serialize(out *bytes.Buffer, src, dst net.IP) { buf := bytes.NewBuffer(nil) buf.WriteByte(x.Version) @@ -60,7 +60,7 @@ func (x *OSPFv3Message) Serialize(out *bytes.Buffer, src, dst gonet.IP) { length := uint16(len(data)) putUint16(data, OSPFv3MessagePacketLengthAtByte, length) - checksum := checksum.IPv6UpperLayerChecksum(src, dst, OSPFProtocolNumber, data, OSPFv3MessageChecksumAtByte) + checksum := OSPFv3Checksum(data, src, dst) putUint16(data, OSPFv3MessageChecksumAtByte, checksum) out.Write(data) @@ -70,7 +70,7 @@ 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) { +func DeserializeOSPFv3Message(buf *bytes.Buffer, src, dst net.IP) (*OSPFv3Message, int, error) { pdu := &OSPFv3Message{} data := buf.Bytes() @@ -99,7 +99,7 @@ func DeserializeOSPFv3Message(buf *bytes.Buffer, src, dst gonet.IP) (*OSPFv3Mess return nil, readBytes, fmt.Errorf("Invalid OSPF version: %d", pdu.Version) } - expectedChecksum := checksum.IPv6UpperLayerChecksum(src, dst, OSPFProtocolNumber, data, OSPFv3MessageChecksumAtByte) + expectedChecksum := OSPFv3Checksum(data, src, dst) if pdu.Checksum != expectedChecksum { return nil, readBytes, fmt.Errorf("Checksum mismatch. Expected %#04x, got %#04x", expectedChecksum, pdu.Checksum) } @@ -113,6 +113,12 @@ func DeserializeOSPFv3Message(buf *bytes.Buffer, src, dst gonet.IP) (*OSPFv3Mess return pdu, readBytes, nil } +func OSPFv3Checksum(data []byte, src, dst net.IP) uint16 { + data[12] = 0 + data[13] = 0 + return checksum.IPv6UpperLayerChecksum(src, dst, OSPFProtocolNumber, data) +} + func (m *OSPFv3Message) ReadBody(buf *bytes.Buffer) (int, error) { bodyLength := m.PacketLength - OSPFv3MessageHeaderLength var body Serializable diff --git a/util/checksum/ipv6_upperlayer.go b/util/checksum/ipv6_upperlayer.go index 7b2614bd..7dc802fc 100644 --- a/util/checksum/ipv6_upperlayer.go +++ b/util/checksum/ipv6_upperlayer.go @@ -29,14 +29,14 @@ package checksum import ( "encoding/binary" - "net" + "github.com/bio-routing/bio-rd/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) + header := icmp.IPv6PseudoHeader(src.ToNetIP(), dst.ToNetIP()) lenBytes := convert.Uint32Byte(uint32(lenght)) copy(header[32:36], lenBytes) @@ -50,7 +50,7 @@ func IPv6PseudoHeader(src, dst net.IP, lenght uint32, proto uint8) []byte { // // 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 { +func IPv6UpperLayerChecksum(src, dst net.IP, proto uint8, pl []byte) uint16 { header := IPv6PseudoHeader(src, dst, uint32(len(pl)), proto) b := append(header, pl...) @@ -59,9 +59,6 @@ func IPv6UpperLayerChecksum(src, dst net.IP, proto uint8, pl []byte, sumAt int) // 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])) } From e272abf5a79365bb2206ef20e3ee0d19d5c40ae3 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 5 Jan 2020 19:07:38 +0100 Subject: [PATCH 06/26] Provide helpers for router options --- protocols/ospf/packetv3/common.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/protocols/ospf/packetv3/common.go b/protocols/ospf/packetv3/common.go index 4b63f252..7dad8415 100644 --- a/protocols/ospf/packetv3/common.go +++ b/protocols/ospf/packetv3/common.go @@ -48,6 +48,22 @@ type RouterOptions struct { Flags uint16 } +func OptionsFromFlags(flags ...uint16) RouterOptions { + opts := RouterOptions{Flags: 0} + for _, flag := range flags { + opts.Flags = opts.Flags | flag + } + return opts +} + +func (r *RouterOptions) HasFlag(flag uint16) bool { + return r.Flags&flag != 0 +} + +func (r *RouterOptions) SetFlag(flag uint16) { + r.Flags = r.Flags | flag +} + func (r *RouterOptions) Serialize(buf *bytes.Buffer) { buf.WriteByte(0) buf.Write(convert.Uint16Byte(uint16(r.Flags))) From c4f38982ea642ef46017b405d975079212a31257 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 5 Jan 2020 19:07:54 +0100 Subject: [PATCH 07/26] Test decode of hello packets --- protocols/ospf/packetv3/packet_test.go | 253 ++++++++++++++++++++++++- 1 file changed, 252 insertions(+), 1 deletion(-) diff --git a/protocols/ospf/packetv3/packet_test.go b/protocols/ospf/packetv3/packet_test.go index 3523656b..aa2947cc 100644 --- a/protocols/ospf/packetv3/packet_test.go +++ b/protocols/ospf/packetv3/packet_test.go @@ -7,8 +7,11 @@ import ( "os" "testing" + "github.com/bio-routing/bio-rd/net" ospf "github.com/bio-routing/bio-rd/protocols/ospf/packetv3" "github.com/bio-routing/bio-rd/protocols/ospf/packetv3/fixtures" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) var files = []string{ @@ -27,7 +30,7 @@ func init() { dir = cwd + "/fixtures/" } -func TestDecode(t *testing.T) { +func TestDecodeDumps(t *testing.T) { for _, path := range files { t.Run(path, func(t *testing.T) { testDecodeFile(t, dir+path) @@ -66,3 +69,251 @@ func testDecodeFile(t *testing.T, path string) { packetCount++ } } + +type test struct { + name string + input []byte + wantFail bool + expected interface{} +} + +func TestDecode(t *testing.T) { + tests := []test{ + { + name: "Hello/Default", + input: []byte{ + // Header + 3, // Version + 1, // Type: Hello + 0, 36, // Length + 3, 3, 3, 3, // Source Router + 0, 0, 0, 0, // Area ID + 0x94, 0x1c, // Checksum + 0, // Instance ID + 0, // Reserved + + // Payload (Hello) + 0, 0, 0, 6, // Interface ID + 100, // Router Prio + 0, // Reserved + 0, 0x13, // Options: R, E, V6 + 0, 30, // Hello Interval + 0, 120, // Dead Interval + 0, 0, 0, 0, // Designated Router + 0, 0, 0, 0, // Backup Designated Router + }, + expected: &ospf.OSPFv3Message{ + Version: 3, + Type: ospf.MsgTypeHello, + Checksum: 0x941c, + PacketLength: 36, + RouterID: ospf.ID(net.IPv4FromOctets(3, 3, 3, 3).Ptr().ToUint32()), + AreaID: 0, + InstanceID: 0, + Body: &ospf.Hello{ + InterfaceID: 6, + RouterPriority: 100, + HelloInterval: 30, + RouterDeadInterval: 120, + Options: ospf.OptionsFromFlags(ospf.RouterOptR, ospf.RouterOptE, ospf.RouterOptV6), + }, + }, + }, + { + name: "Hello/InvalidLength", + input: []byte{ + // Header + 3, // Version + 1, // Type: Hello + 0, 38, // Length (invalid, expecting 36) + 3, 3, 3, 3, // Source Router + 0, 0, 0, 0, // Area ID + 0x94, 0x1a, // Checksum + 0, // Instance ID + 0, // Reserved + + // Payload (20 bytes) + 0, 0, 0, 6, 100, 0, 0, 0x13, 0, 30, 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, + }, + wantFail: true, + }, + { + name: "Hello/InvalidChecksum", + input: []byte{ + // Header + 3, // Version + 1, // Type: Hello + 0, 36, // Length + 3, 3, 3, 3, // Source Router + 0, 0, 0, 0, // Area ID + 0x94, 0x1d, // Checksum (invalid) + 0, // Instance ID + 0, // Reserved + + // Payload (20 bytes) + 0, 0, 0, 6, 100, 0, 0, 0x13, 0, 30, 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, + }, + wantFail: true, + }, + { + name: "Hello/WithNeighbors", + input: []byte{ + // Header + 3, // Version + 1, // Type: Hello + 0, 44, // Length + 3, 3, 3, 3, // Source Router + 0, 0, 0, 0, // Area ID + 0x8e, 0x06, // Checksum + 0, // Instance ID + 0, // Reserved + + // Payload (Hello) + 0, 0, 0, 6, // Interface ID + 100, // Router Prio + 0, // Reserved + 0, 0x13, // Options: R, E, V6 + 0, 30, // Hello Interval + 0, 120, // Dead Interval + 0, 0, 0, 0, // Designated Router + 0, 0, 0, 0, // Backup Designated Router + 1, 1, 1, 1, // Neighbor 1 + 2, 2, 2, 2, // Neighbor 2 + }, + expected: &ospf.OSPFv3Message{ + Version: 3, + Type: ospf.MsgTypeHello, + Checksum: 0x8e06, + PacketLength: 44, + RouterID: ospf.ID(net.IPv4FromOctets(3, 3, 3, 3).Ptr().ToUint32()), + AreaID: 0, + InstanceID: 0, + Body: &ospf.Hello{ + InterfaceID: 6, + RouterPriority: 100, + HelloInterval: 30, + RouterDeadInterval: 120, + Options: ospf.OptionsFromFlags(ospf.RouterOptR, ospf.RouterOptE, ospf.RouterOptV6), + Neighbors: []ospf.ID{ + ospf.ID(net.IPv4FromOctets(1, 1, 1, 1).Ptr().ToUint32()), + ospf.ID(net.IPv4FromOctets(2, 2, 2, 2).Ptr().ToUint32()), + }, + }, + }, + }, + { + name: "Hello/WithDR", + input: []byte{ + // Header + 3, // Version + 1, // Type: Hello + 0, 44, // Length + 3, 3, 3, 3, // Source Router + 0, 0, 0, 0, // Area ID + 0x8c, 0x04, // Checksum + 0, // Instance ID + 0, // Reserved + + // Payload (Hello) + 0, 0, 0, 6, // Interface ID + 100, // Router Prio + 0, // Reserved + 0, 0x13, // Options: R, E, V6 + 0, 30, // Hello Interval + 0, 120, // Dead Interval + 1, 1, 1, 1, // Designated Router + 0, 0, 0, 0, // Backup Designated Router + 1, 1, 1, 1, // Neighbor 1 + 2, 2, 2, 2, // Neighbor 2 + }, + expected: &ospf.OSPFv3Message{ + Version: 3, + Type: ospf.MsgTypeHello, + Checksum: 0x8c04, + PacketLength: 44, + RouterID: ospf.ID(net.IPv4FromOctets(3, 3, 3, 3).Ptr().ToUint32()), + AreaID: 0, + InstanceID: 0, + Body: &ospf.Hello{ + InterfaceID: 6, + RouterPriority: 100, + HelloInterval: 30, + RouterDeadInterval: 120, + Options: ospf.OptionsFromFlags(ospf.RouterOptR, ospf.RouterOptE, ospf.RouterOptV6), + DesignatedRouterID: ospf.ID(net.IPv4FromOctets(1, 1, 1, 1).Ptr().ToUint32()), + Neighbors: []ospf.ID{ + ospf.ID(net.IPv4FromOctets(1, 1, 1, 1).Ptr().ToUint32()), + ospf.ID(net.IPv4FromOctets(2, 2, 2, 2).Ptr().ToUint32()), + }, + }, + }, + }, + { + name: "Hello/WithBDR", + input: []byte{ + // Header + 3, // Version + 1, // Type: Hello + 0, 44, // Length + 3, 3, 3, 3, // Source Router + 0, 0, 0, 0, // Area ID + 0x88, 0x00, // Checksum + 0, // Instance ID + 0, // Reserved + + // Payload (Hello) + 0, 0, 0, 6, // Interface ID + 100, // Router Prio + 0, // Reserved + 0, 0x13, // Options: R, E, V6 + 0, 30, // Hello Interval + 0, 120, // Dead Interval + 1, 1, 1, 1, // Designated Router + 2, 2, 2, 2, // Backup Designated Router + 1, 1, 1, 1, // Neighbor 1 + 2, 2, 2, 2, // Neighbor 2 + }, + expected: &ospf.OSPFv3Message{ + Version: 3, + Type: ospf.MsgTypeHello, + Checksum: 0x8800, + PacketLength: 44, + RouterID: ospf.ID(net.IPv4FromOctets(3, 3, 3, 3).Ptr().ToUint32()), + AreaID: 0, + InstanceID: 0, + Body: &ospf.Hello{ + InterfaceID: 6, + RouterPriority: 100, + HelloInterval: 30, + RouterDeadInterval: 120, + Options: ospf.OptionsFromFlags(ospf.RouterOptR, ospf.RouterOptE, ospf.RouterOptV6), + DesignatedRouterID: ospf.ID(net.IPv4FromOctets(1, 1, 1, 1).Ptr().ToUint32()), + BackupDesignatedRouterID: ospf.ID(net.IPv4FromOctets(2, 2, 2, 2).Ptr().ToUint32()), + Neighbors: []ospf.ID{ + ospf.ID(net.IPv4FromOctets(1, 1, 1, 1).Ptr().ToUint32()), + ospf.ID(net.IPv4FromOctets(2, 2, 2, 2).Ptr().ToUint32()), + }, + }, + }, + }, + } + + src, err := net.IPFromString("fe80::3") + require.NoError(t, err) + dst, err := net.IPFromString("ff02::5") + require.NoError(t, err) + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + buf := bytes.NewBuffer(test.input) + msg, _, err := ospf.DeserializeOSPFv3Message(buf, src, dst) + if test.wantFail { + require.Error(t, err) + return + } + + require.NoError(t, err) + assert.Equal(t, test.expected, msg) + }) + } +} From a74209575e51b05dae3fda7ee4d3e2c07e76a0f9 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 5 Jan 2020 19:27:34 +0100 Subject: [PATCH 08/26] Refactor hello tests --- protocols/ospf/packetv3/packet_test.go | 52 ++++++++++++++------------ 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/protocols/ospf/packetv3/packet_test.go b/protocols/ospf/packetv3/packet_test.go index aa2947cc..e938341a 100644 --- a/protocols/ospf/packetv3/packet_test.go +++ b/protocols/ospf/packetv3/packet_test.go @@ -77,16 +77,30 @@ type test struct { expected interface{} } -func TestDecode(t *testing.T) { +func runTest(t *testing.T, testCase test, src, dst net.IP) { + t.Run(testCase.name, func(t *testing.T) { + buf := bytes.NewBuffer(testCase.input) + msg, _, err := ospf.DeserializeOSPFv3Message(buf, src, dst) + if testCase.wantFail { + require.Error(t, err) + return + } + + require.NoError(t, err) + assert.Equal(t, testCase.expected, msg) + }) +} + +func TestDecodeHello(t *testing.T) { tests := []test{ { - name: "Hello/Default", + name: "Default", input: []byte{ // Header 3, // Version 1, // Type: Hello 0, 36, // Length - 3, 3, 3, 3, // Source Router + 3, 3, 3, 3, // Router ID 0, 0, 0, 0, // Area ID 0x94, 0x1c, // Checksum 0, // Instance ID @@ -120,13 +134,13 @@ func TestDecode(t *testing.T) { }, }, { - name: "Hello/InvalidLength", + name: "InvalidLength", input: []byte{ // Header 3, // Version 1, // Type: Hello 0, 38, // Length (invalid, expecting 36) - 3, 3, 3, 3, // Source Router + 3, 3, 3, 3, // Router ID 0, 0, 0, 0, // Area ID 0x94, 0x1a, // Checksum 0, // Instance ID @@ -138,13 +152,13 @@ func TestDecode(t *testing.T) { wantFail: true, }, { - name: "Hello/InvalidChecksum", + name: "InvalidChecksum", input: []byte{ // Header 3, // Version 1, // Type: Hello 0, 36, // Length - 3, 3, 3, 3, // Source Router + 3, 3, 3, 3, // Router ID 0, 0, 0, 0, // Area ID 0x94, 0x1d, // Checksum (invalid) 0, // Instance ID @@ -156,13 +170,13 @@ func TestDecode(t *testing.T) { wantFail: true, }, { - name: "Hello/WithNeighbors", + name: "WithNeighbors", input: []byte{ // Header 3, // Version 1, // Type: Hello 0, 44, // Length - 3, 3, 3, 3, // Source Router + 3, 3, 3, 3, // Router ID 0, 0, 0, 0, // Area ID 0x8e, 0x06, // Checksum 0, // Instance ID @@ -202,13 +216,13 @@ func TestDecode(t *testing.T) { }, }, { - name: "Hello/WithDR", + name: "WithDR", input: []byte{ // Header 3, // Version 1, // Type: Hello 0, 44, // Length - 3, 3, 3, 3, // Source Router + 3, 3, 3, 3, // Router ID 0, 0, 0, 0, // Area ID 0x8c, 0x04, // Checksum 0, // Instance ID @@ -249,13 +263,13 @@ func TestDecode(t *testing.T) { }, }, { - name: "Hello/WithBDR", + name: "WithBDR", input: []byte{ // Header 3, // Version 1, // Type: Hello 0, 44, // Length - 3, 3, 3, 3, // Source Router + 3, 3, 3, 3, // Router ID 0, 0, 0, 0, // Area ID 0x88, 0x00, // Checksum 0, // Instance ID @@ -304,16 +318,6 @@ func TestDecode(t *testing.T) { require.NoError(t, err) for _, test := range tests { - t.Run(test.name, func(t *testing.T) { - buf := bytes.NewBuffer(test.input) - msg, _, err := ospf.DeserializeOSPFv3Message(buf, src, dst) - if test.wantFail { - require.Error(t, err) - return - } - - require.NoError(t, err) - assert.Equal(t, test.expected, msg) - }) + runTest(t, test, src, dst) } } From 056e9517b77782f026b5690a067f4a1fa307d687 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 5 Jan 2020 19:27:46 +0100 Subject: [PATCH 09/26] Add test for database description --- protocols/ospf/packetv3/packet_test.go | 51 ++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/protocols/ospf/packetv3/packet_test.go b/protocols/ospf/packetv3/packet_test.go index e938341a..484314e3 100644 --- a/protocols/ospf/packetv3/packet_test.go +++ b/protocols/ospf/packetv3/packet_test.go @@ -321,3 +321,54 @@ func TestDecodeHello(t *testing.T) { runTest(t, test, src, dst) } } + +func TestDecodeDBDesc(t *testing.T) { + tests := []test{ + { + name: "Default", + input: []byte{ + // Header + 0x03, // Version + 0x02, // Type: Database Description + 0x00, 0x1c, // Length + 0x03, 0x03, 0x03, 0x03, // Router ID + 0x00, 0x00, 0x00, 0x00, // Area ID + 0xe7, 0xad, // Checksum + 0x00, // Instance ID + 0x00, // Reserved + + // Payload + 0x00, // Reserved + 0x00, 0x00, 0x13, // Options + 0x05, 0xdc, // MTU + 0x00, // Reserved + 0x07, // Description Flags + 0x00, 0x00, 0x0b, 0xbd, // Sequence Number + }, + expected: &ospf.OSPFv3Message{ + Version: 3, + Type: ospf.MsgTypeDatabaseDescription, + Checksum: 0xe7ad, + PacketLength: 28, + RouterID: ospf.ID(net.IPv4FromOctets(3, 3, 3, 3).Ptr().ToUint32()), + AreaID: 0, + InstanceID: 0, + Body: &ospf.DatabaseDescription{ + Options: ospf.OptionsFromFlags(ospf.RouterOptR, ospf.RouterOptE, ospf.RouterOptV6), + InterfaceMTU: 1500, + DBFlags: ospf.DBFlagInit | ospf.DBFlagMore | ospf.DBFlagMS, + DDSequenceNumber: 3005, + }, + }, + }, + } + + src, err := net.IPFromString("fe80::3") + require.NoError(t, err) + dst, err := net.IPFromString("fe80::1") + require.NoError(t, err) + + for _, test := range tests { + runTest(t, test, src, dst) + } +} From bfb142be2e1cd18b51fdeccec036a7ada309bc99 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 5 Jan 2020 22:33:44 +0100 Subject: [PATCH 10/26] Refactor router id creation in tests --- protocols/ospf/packetv3/packet_test.go | 32 +++++++++++++++----------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/protocols/ospf/packetv3/packet_test.go b/protocols/ospf/packetv3/packet_test.go index 484314e3..b1430c8e 100644 --- a/protocols/ospf/packetv3/packet_test.go +++ b/protocols/ospf/packetv3/packet_test.go @@ -91,6 +91,10 @@ func runTest(t *testing.T, testCase test, src, dst net.IP) { }) } +func routerID(o1, o2, o3, o4 uint8) ospf.ID { + return ospf.ID(net.IPv4FromOctets(o1, o2, o3, o4).Ptr().ToUint32()) +} + func TestDecodeHello(t *testing.T) { tests := []test{ { @@ -121,7 +125,7 @@ func TestDecodeHello(t *testing.T) { Type: ospf.MsgTypeHello, Checksum: 0x941c, PacketLength: 36, - RouterID: ospf.ID(net.IPv4FromOctets(3, 3, 3, 3).Ptr().ToUint32()), + RouterID: routerID(3, 3, 3, 3), AreaID: 0, InstanceID: 0, Body: &ospf.Hello{ @@ -199,7 +203,7 @@ func TestDecodeHello(t *testing.T) { Type: ospf.MsgTypeHello, Checksum: 0x8e06, PacketLength: 44, - RouterID: ospf.ID(net.IPv4FromOctets(3, 3, 3, 3).Ptr().ToUint32()), + RouterID: routerID(3, 3, 3, 3), AreaID: 0, InstanceID: 0, Body: &ospf.Hello{ @@ -209,8 +213,8 @@ func TestDecodeHello(t *testing.T) { RouterDeadInterval: 120, Options: ospf.OptionsFromFlags(ospf.RouterOptR, ospf.RouterOptE, ospf.RouterOptV6), Neighbors: []ospf.ID{ - ospf.ID(net.IPv4FromOctets(1, 1, 1, 1).Ptr().ToUint32()), - ospf.ID(net.IPv4FromOctets(2, 2, 2, 2).Ptr().ToUint32()), + routerID(1, 1, 1, 1), + routerID(2, 2, 2, 2), }, }, }, @@ -245,7 +249,7 @@ func TestDecodeHello(t *testing.T) { Type: ospf.MsgTypeHello, Checksum: 0x8c04, PacketLength: 44, - RouterID: ospf.ID(net.IPv4FromOctets(3, 3, 3, 3).Ptr().ToUint32()), + RouterID: routerID(3, 3, 3, 3), AreaID: 0, InstanceID: 0, Body: &ospf.Hello{ @@ -254,10 +258,10 @@ func TestDecodeHello(t *testing.T) { HelloInterval: 30, RouterDeadInterval: 120, Options: ospf.OptionsFromFlags(ospf.RouterOptR, ospf.RouterOptE, ospf.RouterOptV6), - DesignatedRouterID: ospf.ID(net.IPv4FromOctets(1, 1, 1, 1).Ptr().ToUint32()), + DesignatedRouterID: routerID(1, 1, 1, 1), Neighbors: []ospf.ID{ - ospf.ID(net.IPv4FromOctets(1, 1, 1, 1).Ptr().ToUint32()), - ospf.ID(net.IPv4FromOctets(2, 2, 2, 2).Ptr().ToUint32()), + routerID(1, 1, 1, 1), + routerID(2, 2, 2, 2), }, }, }, @@ -292,7 +296,7 @@ func TestDecodeHello(t *testing.T) { Type: ospf.MsgTypeHello, Checksum: 0x8800, PacketLength: 44, - RouterID: ospf.ID(net.IPv4FromOctets(3, 3, 3, 3).Ptr().ToUint32()), + RouterID: routerID(3, 3, 3, 3), AreaID: 0, InstanceID: 0, Body: &ospf.Hello{ @@ -301,11 +305,11 @@ func TestDecodeHello(t *testing.T) { HelloInterval: 30, RouterDeadInterval: 120, Options: ospf.OptionsFromFlags(ospf.RouterOptR, ospf.RouterOptE, ospf.RouterOptV6), - DesignatedRouterID: ospf.ID(net.IPv4FromOctets(1, 1, 1, 1).Ptr().ToUint32()), - BackupDesignatedRouterID: ospf.ID(net.IPv4FromOctets(2, 2, 2, 2).Ptr().ToUint32()), + DesignatedRouterID: routerID(1, 1, 1, 1), + BackupDesignatedRouterID: routerID(2, 2, 2, 2), Neighbors: []ospf.ID{ - ospf.ID(net.IPv4FromOctets(1, 1, 1, 1).Ptr().ToUint32()), - ospf.ID(net.IPv4FromOctets(2, 2, 2, 2).Ptr().ToUint32()), + routerID(1, 1, 1, 1), + routerID(2, 2, 2, 2), }, }, }, @@ -350,7 +354,7 @@ func TestDecodeDBDesc(t *testing.T) { Type: ospf.MsgTypeDatabaseDescription, Checksum: 0xe7ad, PacketLength: 28, - RouterID: ospf.ID(net.IPv4FromOctets(3, 3, 3, 3).Ptr().ToUint32()), + RouterID: routerID(3, 3, 3, 3), AreaID: 0, InstanceID: 0, Body: &ospf.DatabaseDescription{ From d1c2ee5668909a194580c8023b80c70c5e42ab71 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 5 Jan 2020 22:34:26 +0100 Subject: [PATCH 11/26] Improve definition of LSA-Type --- protocols/ospf/packetv3/common.go | 6 --- protocols/ospf/packetv3/lsa.go | 62 ++++++++++++++++++++++--------- protocols/ospf/packetv3/packet.go | 2 +- 3 files changed, 46 insertions(+), 24 deletions(-) diff --git a/protocols/ospf/packetv3/common.go b/protocols/ospf/packetv3/common.go index 7dad8415..21e87f60 100644 --- a/protocols/ospf/packetv3/common.go +++ b/protocols/ospf/packetv3/common.go @@ -69,12 +69,6 @@ func (r *RouterOptions) Serialize(buf *bytes.Buffer) { 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 diff --git a/protocols/ospf/packetv3/lsa.go b/protocols/ospf/packetv3/lsa.go index d381d14f..5423d61b 100644 --- a/protocols/ospf/packetv3/lsa.go +++ b/protocols/ospf/packetv3/lsa.go @@ -11,25 +11,46 @@ import ( "github.com/pkg/errors" ) -type OSPFLSAType uint8 +type LSAType uint16 + +func (t LSAType) Serialize(buf *bytes.Buffer) { + buf.Write(convert.Uint16Byte(uint16(t))) +} + +func (t LSAType) ShouldFlood() bool { + return t&(1<<15) != 0 // test for top bit +} + +type FloodingScope uint8 + +const ( + FloodLinkLocal FloodingScope = iota + FloodArea + FloodAS + FloodReserved +) + +func (t LSAType) FloodingScope() FloodingScope { + return FloodingScope((t & 0b0110000000000000) >> 13) // second and third bit as int +} // OSPF LSA types const ( - LSATypeUnknown OSPFLSAType = iota - LSATypeRouter - LSATypeNetwork - LSATypeInterAreaPrefix - LSATypeInterAreaRouter - LSATypeASExternal - LSATypeDeprecated - LSATypeNSSA - LSATypeLink - LSATypeIntraAreaPrefix + LSATypeUnknown LSAType = 0 + LSATypeRouter = 0x2001 + LSATypeNetwork = 0x2002 + LSATypeInterAreaPrefix = 0x2003 + LSATypeInterAreaRouter = 0x2004 + LSATypeASExternal = 0x4005 + LSATypeDeprecated = 0x2006 + LSATypeNSSA = 0x2007 + LSATypeLink = 0x0008 + LSATypeIntraAreaPrefix = 0x2009 ) type LSA struct { Age uint16 - Type LSType + Type LSAType ID ID AdvertisingRouter ID SequenceNumber uint32 @@ -96,13 +117,12 @@ func DeserializeLSA(buf *bytes.Buffer) (*LSA, int, error) { } 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 { + switch x.Type { case LSATypeRouter: body, readBytes, err = DeserializeRouterLSA(buf, bodyLength) case LSATypeNetwork: @@ -120,17 +140,25 @@ func (x *LSA) ReadBody(buf *bytes.Buffer) (int, error) { case LSATypeIntraAreaPrefix: body, readBytes, err = DeserializeIntraAreaPrefixLSA(buf) default: - return 0, fmt.Errorf("unknown LSA type: %x", x.Type) + raw := make(UnknownLSA, bodyLength) + readBytes, err = buf.Read(raw) + body = raw } if err != nil { - return 0, err + return readBytes, err } x.Body = body return readBytes, nil } +type UnknownLSA []byte + +func (u UnknownLSA) Serialize(buf *bytes.Buffer) { + buf.Write(u) +} + // InterfaceMetric is the metric of a link // This is supposed to be 24-bit long type InterfaceMetric struct { @@ -504,7 +532,7 @@ func DeserializeLinkLSA(buf *bytes.Buffer) (*LinkLSA, int, error) { } type IntraAreaPrefixLSA struct { - ReferencedLSType LSType + ReferencedLSType LSAType ReferencedLinkStateID ID ReferencedAdvertisingRouter ID Prefixes []LSAPrefix diff --git a/protocols/ospf/packetv3/packet.go b/protocols/ospf/packetv3/packet.go index 613a1fdf..71aac217 100644 --- a/protocols/ospf/packetv3/packet.go +++ b/protocols/ospf/packetv3/packet.go @@ -299,7 +299,7 @@ func DeserializeLinkStateRequestMsg(buf *bytes.Buffer, bodyLength uint16) (*Link } type LinkStateRequest struct { - LSType LSType + LSType LSAType LinkStateID ID AdvertisingRouter ID } From 79d4324f569a6069a65fc87cc14a5994c594f5e6 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 5 Jan 2020 22:51:29 +0100 Subject: [PATCH 12/26] Test Database description with LSAs --- protocols/ospf/packetv3/packet_test.go | 162 +++++++++++++++++++++++++ 1 file changed, 162 insertions(+) diff --git a/protocols/ospf/packetv3/packet_test.go b/protocols/ospf/packetv3/packet_test.go index b1430c8e..375754db 100644 --- a/protocols/ospf/packetv3/packet_test.go +++ b/protocols/ospf/packetv3/packet_test.go @@ -365,6 +365,168 @@ func TestDecodeDBDesc(t *testing.T) { }, }, }, + { + name: "WithLSAs", + input: []byte{ + // Header + 0x03, // Version + 0x02, // Type: Database Description + 0x00, 0xbc, // Length + 0x01, 0x01, 0x01, 0x01, // Router ID + 0x00, 0x00, 0x00, 0x00, // Area ID + 0xb6, 0xd0, // Checksum + 0x00, // Instance ID + 0x00, // Reserved + + // Payload + 0x00, // Reserved + 0x00, 0x00, 0x13, // Options + 0x05, 0xdc, // Link MTU + 0x00, // Reserved + 0x02, // Flags + 0x00, 0x00, 0x0b, 0xbd, // Seq Num + + // LSA Header + 0x00, 0x1d, + 0x20, 0x01, // Type: Router-LSA + 0x00, 0x00, 0x00, 0x00, // LS ID + 0x01, 0x01, 0x01, 0x01, // Router ID + 0x80, 0x00, 0x00, 0x12, // Seq Num + 0xb1, 0x4a, // Checksum + 0x00, 0x18, // Length + + // LSA Header + 0x01, 0xb4, + 0x20, 0x01, // Type: Router-LSA + 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x02, 0x02, + 0x80, 0x00, 0x00, 0x0f, + 0x02, 0x8e, + 0x00, 0x28, + + // LSA Header: Network-LSA + 0x01, 0xdc, 0x20, 0x02, 0x00, 0x00, 0x00, 0x06, + 0x03, 0x03, 0x03, 0x03, 0x80, 0x00, 0x00, 0x02, + 0x6d, 0x6c, 0x00, 0x24, + + // LSA-Header: Inter-Area-Prefix-LSA + 0x00, 0x1e, 0x20, 0x03, 0x00, 0x00, 0x00, 0x05, + 0x01, 0x01, 0x01, 0x01, 0x80, 0x00, 0x00, 0x01, + 0xdb, 0x0f, 0x00, 0x24, + + // LSA-Header: Inter-Area-Prefix-LSA + 0x03, 0x2a, 0x20, 0x03, 0x00, 0x00, 0x00, 0x04, + 0x02, 0x02, 0x02, 0x02, 0x80, 0x00, 0x00, 0x01, + 0xc7, 0x20, 0x00, 0x24, + + // LSA-Header: Link-LSA + 0x00, 0x1d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, + 0x01, 0x01, 0x01, 0x01, 0x80, 0x00, 0x00, 0x01, + 0x86, 0xd0, 0x00, 0x38, + + // LSA-Header: Intra-Area-Prefix-LSA + 0x00, 0x1d, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x01, 0x80, 0x00, 0x00, 0x01, + 0x74, 0x18, 0x00, 0x34, + + // LSA-Header: Unknown type + 0x00, 0x1d, + 0x20, 0x22, // Type: Unknown + 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x01, + 0x80, 0x00, 0x00, 0x01, + 0x74, 0x18, 0x00, 0x34, + }, + expected: &ospf.OSPFv3Message{ + Version: 3, + Type: ospf.MsgTypeDatabaseDescription, + Checksum: 0xb6d0, + PacketLength: 188, + RouterID: routerID(1, 1, 1, 1), + AreaID: 0, + InstanceID: 0, + Body: &ospf.DatabaseDescription{ + Options: ospf.OptionsFromFlags(ospf.RouterOptR, ospf.RouterOptE, ospf.RouterOptV6), + InterfaceMTU: 1500, + DBFlags: ospf.DBFlagMore, + DDSequenceNumber: 3005, + LSAHeaders: []*ospf.LSA{ + { + Type: ospf.LSATypeRouter, + Age: 29, + ID: 0, + AdvertisingRouter: routerID(1, 1, 1, 1), + SequenceNumber: 0x80000012, + Checksum: 0xb14a, + Length: 0x18, + }, + { + Type: ospf.LSATypeRouter, + Age: 436, + ID: 0, + AdvertisingRouter: routerID(2, 2, 2, 2), + SequenceNumber: 0x8000000f, + Checksum: 0x028e, + Length: 0x28, + }, + { + Type: ospf.LSATypeNetwork, + Age: 476, + ID: 6, + AdvertisingRouter: routerID(3, 3, 3, 3), + SequenceNumber: 0x80000002, + Checksum: 0x6d6c, + Length: 0x24, + }, + { + Type: ospf.LSATypeInterAreaPrefix, + Age: 30, + ID: 5, + AdvertisingRouter: routerID(1, 1, 1, 1), + SequenceNumber: 0x80000001, + Checksum: 0xdb0f, + Length: 0x24, + }, + { + Type: ospf.LSATypeInterAreaPrefix, + Age: 0x032a, + ID: 4, + AdvertisingRouter: routerID(2, 2, 2, 2), + SequenceNumber: 0x80000001, + Checksum: 0xc720, + Length: 0x24, + }, + { + Type: ospf.LSATypeLink, + Age: 0x001d, + ID: 6, + AdvertisingRouter: routerID(1, 1, 1, 1), + SequenceNumber: 0x80000001, + Checksum: 0x86d0, + Length: 0x38, + }, + { + Type: ospf.LSATypeIntraAreaPrefix, + Age: 0x001d, + ID: 0, + AdvertisingRouter: routerID(1, 1, 1, 1), + SequenceNumber: 0x80000001, + Checksum: 0x7418, + Length: 0x34, + }, + { + Type: 0x2022, // Unknown + Age: 0x001d, + ID: 0, + AdvertisingRouter: routerID(1, 1, 1, 1), + SequenceNumber: 0x80000001, + Checksum: 0x7418, + Length: 0x34, + }, + }, + }, + }, + }, } src, err := net.IPFromString("fe80::3") From 59949ac97977ff43a8716429cf65c93e9069e473 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 5 Jan 2020 23:10:21 +0100 Subject: [PATCH 13/26] Test LSA flooding indicators --- protocols/ospf/packetv3/lsa.go | 2 +- protocols/ospf/packetv3/lsa_test.go | 74 +++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 protocols/ospf/packetv3/lsa_test.go diff --git a/protocols/ospf/packetv3/lsa.go b/protocols/ospf/packetv3/lsa.go index 5423d61b..251c8a40 100644 --- a/protocols/ospf/packetv3/lsa.go +++ b/protocols/ospf/packetv3/lsa.go @@ -17,7 +17,7 @@ func (t LSAType) Serialize(buf *bytes.Buffer) { buf.Write(convert.Uint16Byte(uint16(t))) } -func (t LSAType) ShouldFlood() bool { +func (t LSAType) FloodIfUnknown() bool { return t&(1<<15) != 0 // test for top bit } diff --git a/protocols/ospf/packetv3/lsa_test.go b/protocols/ospf/packetv3/lsa_test.go new file mode 100644 index 00000000..ca9bbf05 --- /dev/null +++ b/protocols/ospf/packetv3/lsa_test.go @@ -0,0 +1,74 @@ +package packetv3_test + +import ( + "testing" + + ospf "github.com/bio-routing/bio-rd/protocols/ospf/packetv3" + "github.com/stretchr/testify/assert" +) + +func TestLSATypeFlooding(t *testing.T) { + tests := []struct { + input ospf.LSAType + expectUnknownFlood bool + expectedFlooding ospf.FloodingScope + }{ + { + input: ospf.LSATypeRouter, + expectedFlooding: ospf.FloodArea, + }, + { + input: ospf.LSATypeNetwork, + expectedFlooding: ospf.FloodArea, + }, + { + input: ospf.LSATypeInterAreaPrefix, + expectedFlooding: ospf.FloodArea, + }, + { + input: ospf.LSATypeInterAreaRouter, + expectedFlooding: ospf.FloodArea, + }, + { + input: ospf.LSATypeASExternal, + expectedFlooding: ospf.FloodAS, + }, + { + input: ospf.LSATypeDeprecated, + expectedFlooding: ospf.FloodArea, + }, + { + input: ospf.LSATypeNSSA, + expectedFlooding: ospf.FloodArea, + }, + { + input: ospf.LSATypeLink, + expectedFlooding: ospf.FloodLinkLocal, + }, + { + input: ospf.LSATypeIntraAreaPrefix, + expectedFlooding: ospf.FloodArea, + }, + { + // Unknown with local scope + input: 0x0022, + expectUnknownFlood: false, + }, + { + // Unknown with flooding scope + input: 0xa022, + expectUnknownFlood: true, + expectedFlooding: ospf.FloodArea, + }, + { + // Unknown with reserved flooding scope + input: 0x6022, + expectedFlooding: ospf.FloodReserved, + }, + } + + for _, test := range tests { + assert.Equal(t, test.expectedFlooding, test.input.FloodingScope()) + assert.Equal(t, test.expectUnknownFlood, test.input.FloodIfUnknown()) + } +} From 5033f459f2403d598fb2735460e7466bc5b557d7 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Mon, 6 Jan 2020 00:01:00 +0100 Subject: [PATCH 14/26] Improve router options handling --- protocols/ospf/packetv3/common.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/protocols/ospf/packetv3/common.go b/protocols/ospf/packetv3/common.go index 21e87f60..e00b5b95 100644 --- a/protocols/ospf/packetv3/common.go +++ b/protocols/ospf/packetv3/common.go @@ -56,12 +56,14 @@ func OptionsFromFlags(flags ...uint16) RouterOptions { return opts } -func (r *RouterOptions) HasFlag(flag uint16) bool { +func (r RouterOptions) HasFlag(flag uint16) bool { return r.Flags&flag != 0 } -func (r *RouterOptions) SetFlag(flag uint16) { - r.Flags = r.Flags | flag +func (r RouterOptions) SetFlag(flag uint16) RouterOptions { + return RouterOptions{ + Flags: r.Flags | flag, + } } func (r *RouterOptions) Serialize(buf *bytes.Buffer) { From 83e7653ab6345c933d53c2cf5777ceae8603c0f9 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Mon, 6 Jan 2020 00:01:34 +0100 Subject: [PATCH 15/26] Use constants for area link description types --- protocols/ospf/packetv3/lsa.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/protocols/ospf/packetv3/lsa.go b/protocols/ospf/packetv3/lsa.go index 251c8a40..632eff32 100644 --- a/protocols/ospf/packetv3/lsa.go +++ b/protocols/ospf/packetv3/lsa.go @@ -176,8 +176,18 @@ func (x InterfaceMetric) Serialize(buf *bytes.Buffer) { buf.Write(convert.Uint16Byte(x.Low)) } +type AreaLinkDescriptionType uint8 + +const ( + _ AreaLinkDescriptionType = iota + ALDTypePTP + ALDTypeTransit + ALDTypeReserved + ALDTypeVirtualLink +) + type AreaLinkDescription struct { - Type uint8 + Type AreaLinkDescriptionType Metric InterfaceMetric InterfaceID ID NeighborInterfaceID ID @@ -185,7 +195,7 @@ type AreaLinkDescription struct { } func (x *AreaLinkDescription) Serialize(buf *bytes.Buffer) { - buf.WriteByte(x.Type) + buf.WriteByte(uint8(x.Type)) x.Metric.Serialize(buf) x.InterfaceID.Serialize(buf) x.NeighborInterfaceID.Serialize(buf) From 597d2248cedb92f3b9bee8ad937608aebd39cfa6 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Mon, 6 Jan 2020 00:02:16 +0100 Subject: [PATCH 16/26] Provide consts and helpers for Router lsa flags --- protocols/ospf/packetv3/lsa.go | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/protocols/ospf/packetv3/lsa.go b/protocols/ospf/packetv3/lsa.go index 632eff32..30c6f73d 100644 --- a/protocols/ospf/packetv3/lsa.go +++ b/protocols/ospf/packetv3/lsa.go @@ -226,14 +226,40 @@ func DeserializeAreaLinkDescription(buf *bytes.Buffer) (AreaLinkDescription, int return pdu, readBytes, nil } +type RouterLSAFlags uint8 + +const ( + RouterLSAFlagBorder RouterLSAFlags = 1 << iota + RouterLSAFlagExternal + RouterLSAFlagVirtualLink + _ + RouterLSAFlagNSSATranslation +) + +func RouterLSAFlagsFrom(flags ...RouterLSAFlags) RouterLSAFlags { + var val RouterLSAFlags + for _, flag := range flags { + val = val | flag + } + return val +} + +func (f RouterLSAFlags) HasFlag(flag uint8) bool { + return uint8(f)&flag != 0 +} + +func (f RouterLSAFlags) SetFlag(flag uint8) uint8 { + return uint8(f) | flag +} + type RouterLSA struct { - Flags uint8 + Flags RouterLSAFlags Options RouterOptions LinkDescriptions []AreaLinkDescription } func (x *RouterLSA) Serialize(buf *bytes.Buffer) { - buf.WriteByte(x.Flags) + buf.WriteByte(byte(x.Flags)) x.Options.Serialize(buf) for i := range x.LinkDescriptions { x.LinkDescriptions[i].Serialize(buf) From 7e4351a943fde66b32eb84a6a16ab6f8b5b4b59d Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Mon, 6 Jan 2020 00:02:45 +0100 Subject: [PATCH 17/26] Refactor handling when payload is a list --- protocols/ospf/packetv3/packet.go | 38 ++++++++++++++----------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/protocols/ospf/packetv3/packet.go b/protocols/ospf/packetv3/packet.go index 71aac217..95f13a37 100644 --- a/protocols/ospf/packetv3/packet.go +++ b/protocols/ospf/packetv3/packet.go @@ -272,18 +272,16 @@ func DeserializeDatabaseDescription(buf *bytes.Buffer, bodyLength uint16) (*Data return pdu, readBytes, nil } -type LinkStateRequestMsg struct { - Requests []LinkStateRequest -} +type LinkStateRequestMsg []LinkStateRequest -func (x *LinkStateRequestMsg) Serialize(buf *bytes.Buffer) { - for i := range x.Requests { - x.Requests[i].Serialize(buf) +func (x LinkStateRequestMsg) Serialize(buf *bytes.Buffer) { + for i := range x { + x[i].Serialize(buf) } } -func DeserializeLinkStateRequestMsg(buf *bytes.Buffer, bodyLength uint16) (*LinkStateRequestMsg, int, error) { - pdu := &LinkStateRequestMsg{} +func DeserializeLinkStateRequestMsg(buf *bytes.Buffer, bodyLength uint16) (LinkStateRequestMsg, int, error) { + reqs := make(LinkStateRequestMsg, 0) var readBytes int for readBytes < int(bodyLength) { @@ -291,11 +289,11 @@ func DeserializeLinkStateRequestMsg(buf *bytes.Buffer, bodyLength uint16) (*Link if err != nil { return nil, readBytes, errors.Wrap(err, "unable to decode LinkStateRequest") } - pdu.Requests = append(pdu.Requests, req) + reqs = append(reqs, req) readBytes += n } - return pdu, readBytes, nil + return reqs, readBytes, nil } type LinkStateRequest struct { @@ -334,19 +332,17 @@ func DeserializeLinkStateRequest(buf *bytes.Buffer) (LinkStateRequest, int, erro return pdu, readBytes, nil } -type LinkStateUpdate struct { - LSAs []*LSA -} +type LinkStateUpdate []*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 (x LinkStateUpdate) Serialize(buf *bytes.Buffer) { + buf.Write(convert.Uint32Byte(uint32(len(x)))) + for i := range x { + x[i].Serialize(buf) } } -func DeserializeLinkStateUpdate(buf *bytes.Buffer) (*LinkStateUpdate, int, error) { - pdu := &LinkStateUpdate{} +func DeserializeLinkStateUpdate(buf *bytes.Buffer) (LinkStateUpdate, int, error) { + lsas := make(LinkStateUpdate, 0) var lsaCount uint32 if err := binary.Read(buf, binary.BigEndian, &lsaCount); err != nil { @@ -359,11 +355,11 @@ func DeserializeLinkStateUpdate(buf *bytes.Buffer) (*LinkStateUpdate, int, error if err != nil { return nil, 0, errors.Wrap(err, "unable to decode LSA") } - pdu.LSAs = append(pdu.LSAs, tlv) + lsas = append(lsas, tlv) readBytes += n } - return pdu, readBytes, nil + return lsas, readBytes, nil } type LinkStateAcknowledgement struct { From 4e8c936d30317417d41ac58df588d4e236963506 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Mon, 6 Jan 2020 00:03:02 +0100 Subject: [PATCH 18/26] Test decoding ls request and update --- protocols/ospf/packetv3/packet_test.go | 157 +++++++++++++++++++++++++ 1 file changed, 157 insertions(+) diff --git a/protocols/ospf/packetv3/packet_test.go b/protocols/ospf/packetv3/packet_test.go index 375754db..33cafbf5 100644 --- a/protocols/ospf/packetv3/packet_test.go +++ b/protocols/ospf/packetv3/packet_test.go @@ -538,3 +538,160 @@ func TestDecodeDBDesc(t *testing.T) { runTest(t, test, src, dst) } } + +func TestDecodeLSRequest(t *testing.T) { + tests := []test{ + { + name: "Default", + input: []byte{ + // Header + 0x03, // Version + 0x03, // Type + 0x00, 0x34, // Length + 0x03, 0x03, 0x03, 0x03, // Router ID + 0x00, 0x00, 0x00, 0x00, // Area ID + 0x8b, 0x13, // Checksum + 0x00, // Instance ID + 0x00, // Reserved + + // LS Request + 0x00, 0x00, // Reserved + 0x20, 0x01, // Type + 0x00, 0x00, 0x00, 0x00, // Link State ID + 0x01, 0x01, 0x01, 0x01, // Advertising Router + + // LS Request + 0x00, 0x00, + 0x20, 0x02, + 0x00, 0x00, 0x00, 0x06, + 0x03, 0x03, 0x03, 0x03, + + // LS Request + 0x00, 0x00, + 0x20, 0x03, + 0x00, 0x00, 0x00, 0x02, + 0x03, 0x03, 0x03, 0x03, + }, + expected: &ospf.OSPFv3Message{ + Version: 3, + Type: ospf.MsgTypeLinkStateRequest, + Checksum: 0x8b13, + PacketLength: 52, + RouterID: routerID(3, 3, 3, 3), + AreaID: 0, + InstanceID: 0, + Body: ospf.LinkStateRequestMsg{ + { + LSType: ospf.LSATypeRouter, + LinkStateID: 0, + AdvertisingRouter: routerID(1, 1, 1, 1), + }, + { + LSType: ospf.LSATypeNetwork, + LinkStateID: 6, + AdvertisingRouter: routerID(3, 3, 3, 3), + }, + { + LSType: ospf.LSATypeInterAreaPrefix, + LinkStateID: 2, + AdvertisingRouter: routerID(3, 3, 3, 3), + }, + }, + }, + }, + } + + src, err := net.IPFromString("fe80::3") + require.NoError(t, err) + dst, err := net.IPFromString("fe80::1") + require.NoError(t, err) + + for _, test := range tests { + runTest(t, test, src, dst) + } +} + +func TestDecodeLSUpdate(t *testing.T) { + tests := []test{ + { + name: "Default", + input: []byte{ + // Header + 0x03, // Version + 0x04, // Type: LS Update + 0x00, 0x3c, // Length + 0x01, 0x01, 0x01, 0x01, // Router ID + 0x00, 0x00, 0x00, 0x00, // Area ID + 0x40, 0xdd, // Checksum + 0x00, // Instance ID + 0x00, // Reserved + + // Payload + 0x00, 0x00, 0x00, 0x01, // Num of Updates + + // Update + 0x00, 0x01, // Age + 0x20, 0x01, // Type + 0x00, 0x00, 0x00, 0x00, // Link State ID + 0x01, 0x01, 0x01, 0x01, // Router ID + 0x80, 0x00, 0x00, 0x13, // Seq Num + 0x11, 0x80, // Checksum + 0x00, 0x28, // Length + 0x01, // Flags + 0x00, 0x00, 0x33, // Options + + // Interface #1 + 0x01, // Type: PTP + 0x00, // Reserved + 0x00, 0x40, // Metric + 0x00, 0x00, 0x00, 0x06, // Interface ID + 0x00, 0x00, 0x00, 0x06, // Neighbor Interface ID + 0x03, 0x03, 0x03, 0x03, // Neighbor Router ID + }, + expected: &ospf.OSPFv3Message{ + Version: 3, + Type: ospf.MsgTypeLinkStateUpdate, + Checksum: 0x40dd, + PacketLength: 60, + RouterID: routerID(1, 1, 1, 1), + AreaID: 0, + InstanceID: 0, + Body: ospf.LinkStateUpdate{ + { + Age: 1, + Type: ospf.LSATypeRouter, + ID: 0, + AdvertisingRouter: routerID(1, 1, 1, 1), + SequenceNumber: 0x80000013, + Checksum: 0x1180, + Length: 40, + Body: &ospf.RouterLSA{ + Flags: ospf.RouterLSAFlagsFrom(ospf.RouterLSAFlagBorder), + Options: ospf.OptionsFromFlags( + ospf.RouterOptDC, ospf.RouterOptR, ospf.RouterOptE, ospf.RouterOptV6, + ), + LinkDescriptions: []ospf.AreaLinkDescription{ + { + Type: ospf.ALDTypePTP, + Metric: ospf.InterfaceMetric{Low: 0x40}, + InterfaceID: 6, + NeighborInterfaceID: 6, + NeighborRouterID: routerID(3, 3, 3, 3), + }, + }, + }, + }, + }, + }, + }, + } + + src, err := net.IPFromString("fe80::1") + require.NoError(t, err) + dst, err := net.IPFromString("fe80::3") + require.NoError(t, err) + + for _, test := range tests { + runTest(t, test, src, dst) + } +} From b2ac88fadcdee7d061753374a435678f8fda8b39 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 12 Jan 2020 17:31:40 +0100 Subject: [PATCH 19/26] Simplify link state acknowledgement --- protocols/ospf/packetv3/packet.go | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/protocols/ospf/packetv3/packet.go b/protocols/ospf/packetv3/packet.go index 95f13a37..f7afbdf3 100644 --- a/protocols/ospf/packetv3/packet.go +++ b/protocols/ospf/packetv3/packet.go @@ -362,18 +362,16 @@ func DeserializeLinkStateUpdate(buf *bytes.Buffer) (LinkStateUpdate, int, error) return lsas, readBytes, nil } -type LinkStateAcknowledgement struct { - LSAHeaders []*LSA -} +type LinkStateAcknowledgement []*LSA -func (x *LinkStateAcknowledgement) Serialize(buf *bytes.Buffer) { - for i := range x.LSAHeaders { - x.LSAHeaders[i].SerializeHeader(buf) +func (x LinkStateAcknowledgement) Serialize(buf *bytes.Buffer) { + for i := range x { + x[i].SerializeHeader(buf) } } -func DeserializeLinkStateAcknowledgement(buf *bytes.Buffer, bodyLength uint16) (*LinkStateAcknowledgement, int, error) { - pdu := &LinkStateAcknowledgement{} +func DeserializeLinkStateAcknowledgement(buf *bytes.Buffer, bodyLength uint16) (LinkStateAcknowledgement, int, error) { + lsas := make(LinkStateAcknowledgement, 0) var readBytes int @@ -382,10 +380,10 @@ func DeserializeLinkStateAcknowledgement(buf *bytes.Buffer, bodyLength uint16) ( if err != nil { return nil, 0, errors.Wrap(err, "Unable to decode") } - pdu.LSAHeaders = append(pdu.LSAHeaders, tlv) + lsas = append(lsas, tlv) i += n readBytes += n } - return pdu, readBytes, nil + return lsas, readBytes, nil } From 0867660165a04d7434c4e7ec74fc63cd8558ca86 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 12 Jan 2020 17:31:59 +0100 Subject: [PATCH 20/26] Test decoding link state acknowledgement --- protocols/ospf/packetv3/packet_test.go | 185 +++++++++++++++++++++++++ 1 file changed, 185 insertions(+) diff --git a/protocols/ospf/packetv3/packet_test.go b/protocols/ospf/packetv3/packet_test.go index 33cafbf5..6768f708 100644 --- a/protocols/ospf/packetv3/packet_test.go +++ b/protocols/ospf/packetv3/packet_test.go @@ -695,3 +695,188 @@ func TestDecodeLSUpdate(t *testing.T) { runTest(t, test, src, dst) } } + +func TestDecodeLSAck(t *testing.T) { + tests := []test{ + { + name: "Default", + input: []byte{ + // Header + 0x03, // Version + 0x05, // Type: LS Ack + 0x00, 0xc4, // Length + 0x03, 0x03, 0x03, 0x03, // Router ID + 0x00, 0x00, 0x00, 0x00, // Area ID + 0x8c, 0x8f, // Checksum + 0x00, // Instance ID + 0x00, // Reserved + + // LSA Type 1 + 0x00, 0x1e, // Age + 0x20, 0x01, // Type: Router-LSA + 0x00, 0x00, 0x00, 0x00, // LS ID + 0x01, 0x01, 0x01, 0x01, // Router ID + 0x80, 0x00, 0x00, 0x12, // Seq Num + 0xb1, 0x4a, // Checksum + 0x00, 0x18, // Length + + // LSA Type 2 + 0x01, 0xdd, 0x20, 0x02, + 0x00, 0x00, 0x00, 0x06, + 0x03, 0x03, 0x03, 0x03, + 0x80, 0x00, 0x00, 0x02, + 0x6d, 0x6c, 0x00, 0x24, + + // LSA Type 3 + 0x02, 0x54, 0x20, 0x03, + 0x00, 0x00, 0x00, 0x02, + 0x03, 0x03, 0x03, 0x03, + 0x80, 0x00, 0x00, 0x01, + 0xfc, 0xec, 0x00, 0x24, + + // LSA Type 3 + 0x02, 0x5e, 0x20, 0x03, + 0x00, 0x00, 0x00, 0x01, + 0x03, 0x03, 0x03, 0x03, + 0x80, 0x00, 0x00, 0x01, + 0x2e, 0x96, 0x00, 0x24, + + // LSA Type 3 + 0x02, 0x5e, 0x20, 0x03, + 0x00, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x03, 0x03, + 0x80, 0x00, 0x00, 0x01, + 0xc2, 0x34, 0x00, 0x24, + + // LSA Type 3 + 0x00, 0x1f, 0x20, 0x03, + 0x00, 0x00, 0x00, 0x05, + 0x01, 0x01, 0x01, 0x01, + 0x80, 0x00, 0x00, 0x01, + 0xdb, 0x0f, 0x00, 0x24, + + // LSA Type 8 + 0x00, 0x1e, 0x00, 0x08, + 0x00, 0x00, 0x00, 0x06, + 0x01, 0x01, 0x01, 0x01, + 0x80, 0x00, 0x00, 0x01, + 0x86, 0xd0, 0x00, 0x38, + + // LSA Type 9 + 0x01, 0xdd, 0x20, 0x09, + 0x00, 0x00, 0x18, 0x00, + 0x03, 0x03, 0x03, 0x03, + 0x80, 0x00, 0x00, 0x02, + 0xbd, 0xe9, 0x00, 0x2c, + + // LSA Type 9 + 0x00, 0x1e, 0x20, 0x09, + 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x01, + 0x80, 0x00, 0x00, 0x01, + 0x74, 0x18, 0x00, 0x34, + }, + expected: &ospf.OSPFv3Message{ + Version: 3, + Type: ospf.MsgTypeLinkStateAcknowledgment, + PacketLength: 196, + RouterID: routerID(3, 3, 3, 3), + AreaID: 0, + Checksum: 0x8c8f, + InstanceID: 0, + Body: ospf.LinkStateAcknowledgement{ + { + Type: ospf.LSATypeRouter, + Age: 0x1e, + ID: 0, + AdvertisingRouter: routerID(1, 1, 1, 1), + SequenceNumber: 0x80000012, + Checksum: 0xb14a, + Length: 0x18, + }, + { + Type: ospf.LSATypeNetwork, + Age: 0x1dd, + ID: 6, + AdvertisingRouter: routerID(3, 3, 3, 3), + SequenceNumber: 0x80000002, + Checksum: 0x6d6c, + Length: 0x24, + }, + { + Type: ospf.LSATypeInterAreaPrefix, + Age: 0x254, + ID: 2, + AdvertisingRouter: routerID(3, 3, 3, 3), + SequenceNumber: 0x80000001, + Checksum: 0xfcec, + Length: 0x24, + }, + { + Type: ospf.LSATypeInterAreaPrefix, + Age: 0x25e, + ID: 1, + AdvertisingRouter: routerID(3, 3, 3, 3), + SequenceNumber: 0x80000001, + Checksum: 0x2e96, + Length: 0x24, + }, + { + Type: ospf.LSATypeInterAreaPrefix, + Age: 0x25e, + ID: 0, + AdvertisingRouter: routerID(3, 3, 3, 3), + SequenceNumber: 0x80000001, + Checksum: 0xc234, + Length: 0x24, + }, + { + Type: ospf.LSATypeInterAreaPrefix, + Age: 0x1f, + ID: 5, + AdvertisingRouter: routerID(1, 1, 1, 1), + SequenceNumber: 0x80000001, + Checksum: 0xdb0f, + Length: 0x24, + }, + { + Type: ospf.LSATypeLink, + Age: 0x1e, + ID: 6, + AdvertisingRouter: routerID(1, 1, 1, 1), + SequenceNumber: 0x80000001, + Checksum: 0x86d0, + Length: 0x38, + }, + { + Type: ospf.LSATypeIntraAreaPrefix, + Age: 0x1dd, + ID: 0x1800, + AdvertisingRouter: routerID(3, 3, 3, 3), + SequenceNumber: 0x80000002, + Checksum: 0xbde9, + Length: 0x2c, + }, + { + Type: ospf.LSATypeIntraAreaPrefix, + Age: 0x1e, + ID: 0, + AdvertisingRouter: routerID(1, 1, 1, 1), + SequenceNumber: 0x80000001, + Checksum: 0x7418, + Length: 0x34, + }, + }, + }, + }, + } + + src, err := net.IPFromString("fe80::3") + require.NoError(t, err) + dst, err := net.IPFromString("fe80::2") + require.NoError(t, err) + + for _, test := range tests { + runTest(t, test, src, dst) + } +} From 96896e203856a27f85726a290293c9bdeec91928 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 12 Jan 2020 17:34:26 +0100 Subject: [PATCH 21/26] Split packet tests --- .../{packet_test.go => decode_test.go} | 60 ---------------- protocols/ospf/packetv3/smoke_test.go | 68 +++++++++++++++++++ 2 files changed, 68 insertions(+), 60 deletions(-) rename protocols/ospf/packetv3/{packet_test.go => decode_test.go} (95%) create mode 100644 protocols/ospf/packetv3/smoke_test.go diff --git a/protocols/ospf/packetv3/packet_test.go b/protocols/ospf/packetv3/decode_test.go similarity index 95% rename from protocols/ospf/packetv3/packet_test.go rename to protocols/ospf/packetv3/decode_test.go index 6768f708..2c608212 100644 --- a/protocols/ospf/packetv3/packet_test.go +++ b/protocols/ospf/packetv3/decode_test.go @@ -2,74 +2,14 @@ package packetv3_test import ( "bytes" - "fmt" - "io" - "os" "testing" "github.com/bio-routing/bio-rd/net" ospf "github.com/bio-routing/bio-rd/protocols/ospf/packetv3" - "github.com/bio-routing/bio-rd/protocols/ospf/packetv3/fixtures" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) -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 TestDecodeDumps(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++ - } -} - type test struct { name string input []byte diff --git a/protocols/ospf/packetv3/smoke_test.go b/protocols/ospf/packetv3/smoke_test.go new file mode 100644 index 00000000..c48e57a6 --- /dev/null +++ b/protocols/ospf/packetv3/smoke_test.go @@ -0,0 +1,68 @@ +package packetv3_test + +import ( + "bytes" + "fmt" + "io" + "os" + "testing" + + ospf "github.com/bio-routing/bio-rd/protocols/ospf/packetv3" + "github.com/bio-routing/bio-rd/protocols/ospf/packetv3/fixtures" +) + +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 TestDecodeDumps(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++ + } +} From b718bac8337bbac33aa717fc9158feedd1b16ad9 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 12 Jan 2020 18:34:28 +0100 Subject: [PATCH 22/26] Refactor metric field --- protocols/ospf/packetv3/lsa.go | 69 ++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 33 deletions(-) diff --git a/protocols/ospf/packetv3/lsa.go b/protocols/ospf/packetv3/lsa.go index 30c6f73d..d9165320 100644 --- a/protocols/ospf/packetv3/lsa.go +++ b/protocols/ospf/packetv3/lsa.go @@ -159,21 +159,20 @@ func (u UnknownLSA) Serialize(buf *bytes.Buffer) { buf.Write(u) } -// InterfaceMetric is the metric of a link -// This is supposed to be 24-bit long -type InterfaceMetric struct { +// helper for deserializing 24-bit metric values +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 (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)) +func serializeMetric(buf *bytes.Buffer, val uint32) { + metricBytes := convert.Uint32Byte(val) + buf.Write(metricBytes[1:4]) } type AreaLinkDescriptionType uint8 @@ -188,7 +187,7 @@ const ( type AreaLinkDescription struct { Type AreaLinkDescriptionType - Metric InterfaceMetric + Metric uint32 // max: 24 bit InterfaceID ID NeighborInterfaceID ID NeighborRouterID ID @@ -196,7 +195,7 @@ type AreaLinkDescription struct { func (x *AreaLinkDescription) Serialize(buf *bytes.Buffer) { buf.WriteByte(uint8(x.Type)) - x.Metric.Serialize(buf) + serializeMetric(buf, x.Metric) x.InterfaceID.Serialize(buf) x.NeighborInterfaceID.Serialize(buf) x.NeighborRouterID.Serialize(buf) @@ -208,10 +207,11 @@ func DeserializeAreaLinkDescription(buf *bytes.Buffer) (AreaLinkDescription, int var readBytes int var err error var fields []interface{} + var metric interfaceMetric fields = []interface{}{ &pdu.Type, - &pdu.Metric, + &metric, &pdu.InterfaceID, &pdu.NeighborInterfaceID, &pdu.NeighborRouterID, @@ -223,6 +223,8 @@ func DeserializeAreaLinkDescription(buf *bytes.Buffer) (AreaLinkDescription, int } readBytes += 16 + pdu.Metric = metric.Value() + return pdu, readBytes, nil } @@ -342,47 +344,42 @@ func DeserializeNetworkLSA(buf *bytes.Buffer, bodyLength uint16) (*NetworkLSA, i } type InterAreaPrefixLSA struct { - Metric InterfaceMetric + Metric uint32 // max: 24 bit Prefix LSAPrefix } func (x *InterAreaPrefixLSA) Serialize(buf *bytes.Buffer) { - buf.WriteByte(0) // 1 byte reserved - x.Metric.Serialize(buf) + buf.WriteByte(0) // Reserved + serializeMetric(buf, x.Metric) 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, + // decode metric + _, _ = buf.ReadByte() // skip reserved byte + var metric interfaceMetric + if err := binary.Read(buf, binary.BigEndian, &metric); err != nil { + return nil, readBytes, errors.Wrap(err, "failed to read metric") } - - err = decode.Decode(buf, fields) - if err != nil { - return nil, readBytes, fmt.Errorf("Unable to decode fields: %v", err) - } - readBytes += 4 + readBytes += 3 + pdu.Metric = metric.Value() pfx, n, err := DeserializeLSAPrefix(buf) + readBytes += n 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 + Metric uint32 // max: 24 bit DestinationRouterID ID } @@ -390,7 +387,7 @@ 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) + serializeMetric(buf, x.Metric) x.DestinationRouterID.Serialize(buf) } @@ -399,13 +396,14 @@ func DeserializeInterAreaRouterLSA(buf *bytes.Buffer) (*InterAreaRouterLSA, int, var readBytes int var err error + var metric interfaceMetric var fields []interface{} fields = []interface{}{ new(uint8), // 1 byte reserved &pdu.Options, new(uint8), // 1 byte reserved - &pdu.Metric, + &metric, &pdu.DestinationRouterID, } @@ -415,6 +413,8 @@ func DeserializeInterAreaRouterLSA(buf *bytes.Buffer) (*InterAreaRouterLSA, int, } readBytes += 12 + pdu.Metric = metric.Value() + return pdu, readBytes, nil } @@ -427,7 +427,7 @@ const ( type ASExternalLSA struct { Flags uint8 - Metric InterfaceMetric + Metric uint32 // max: 24 bit Prefix LSAPrefix ForwardingAddress net.IP // optional @@ -449,7 +449,7 @@ func (a *ASExternalLSA) FlagT() bool { func (x *ASExternalLSA) Serialize(buf *bytes.Buffer) { buf.WriteByte(x.Flags) - x.Metric.Serialize(buf) + serializeMetric(buf, x.Metric) x.Prefix.Serialize(buf) if x.FlagF() { serializeIPv6(x.ForwardingAddress, buf) @@ -468,10 +468,11 @@ func DeserializeASExternalLSA(buf *bytes.Buffer) (*ASExternalLSA, int, error) { var readBytes int var err error var fields []interface{} + var metric interfaceMetric fields = []interface{}{ &pdu.Flags, - &pdu.Metric, + &metric, } err = decode.Decode(buf, fields) @@ -480,6 +481,8 @@ func DeserializeASExternalLSA(buf *bytes.Buffer) (*ASExternalLSA, int, error) { } readBytes += 4 + pdu.Metric = metric.Value() + pfx, n, err := DeserializeLSAPrefix(buf) if err != nil { return nil, readBytes, errors.Wrap(err, "unable to decode prefix") From 0ff8bad073a9700be8bed55048058ae4d15b16e9 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 12 Jan 2020 19:01:50 +0100 Subject: [PATCH 23/26] Add helper to lsa prefix --- protocols/ospf/packetv3/lsa_prefix.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/protocols/ospf/packetv3/lsa_prefix.go b/protocols/ospf/packetv3/lsa_prefix.go index 33a4096c..0b17f25f 100644 --- a/protocols/ospf/packetv3/lsa_prefix.go +++ b/protocols/ospf/packetv3/lsa_prefix.go @@ -53,6 +53,10 @@ type LSAPrefix struct { Address net.IP } +func (x *LSAPrefix) ToNetPrefix() net.Prefix { + return net.NewPfx(x.Address, x.PrefixLength) +} + func DeserializeLSAPrefix(buf *bytes.Buffer) (LSAPrefix, int, error) { pdu := LSAPrefix{} From 03a37c7502eb532f26a4b3cf9c7ac1d6683bb962 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 12 Jan 2020 19:42:30 +0100 Subject: [PATCH 24/26] Extend LS update test --- protocols/ospf/packetv3/decode_test.go | 175 +++++++++++++++++++++++-- 1 file changed, 166 insertions(+), 9 deletions(-) diff --git a/protocols/ospf/packetv3/decode_test.go b/protocols/ospf/packetv3/decode_test.go index 2c608212..4f559947 100644 --- a/protocols/ospf/packetv3/decode_test.go +++ b/protocols/ospf/packetv3/decode_test.go @@ -551,6 +551,13 @@ func TestDecodeLSRequest(t *testing.T) { } } +func mustIP(ip net.IP, err error) net.IP { + if err != nil { + panic(err) + } + return ip +} + func TestDecodeLSUpdate(t *testing.T) { tests := []test{ { @@ -559,19 +566,19 @@ func TestDecodeLSUpdate(t *testing.T) { // Header 0x03, // Version 0x04, // Type: LS Update - 0x00, 0x3c, // Length + 0x00, 0xf0, // Length 0x01, 0x01, 0x01, 0x01, // Router ID 0x00, 0x00, 0x00, 0x00, // Area ID - 0x40, 0xdd, // Checksum + 0xa6, 0x81, // Checksum 0x00, // Instance ID 0x00, // Reserved // Payload - 0x00, 0x00, 0x00, 0x01, // Num of Updates + 0x00, 0x00, 0x00, 0x05, // Num of Updates - // Update + // Router LSA 0x00, 0x01, // Age - 0x20, 0x01, // Type + 0x20, 0x01, // Type: Router 0x00, 0x00, 0x00, 0x00, // Link State ID 0x01, 0x01, 0x01, 0x01, // Router ID 0x80, 0x00, 0x00, 0x13, // Seq Num @@ -579,7 +586,6 @@ func TestDecodeLSUpdate(t *testing.T) { 0x00, 0x28, // Length 0x01, // Flags 0x00, 0x00, 0x33, // Options - // Interface #1 0x01, // Type: PTP 0x00, // Reserved @@ -587,12 +593,81 @@ func TestDecodeLSUpdate(t *testing.T) { 0x00, 0x00, 0x00, 0x06, // Interface ID 0x00, 0x00, 0x00, 0x06, // Neighbor Interface ID 0x03, 0x03, 0x03, 0x03, // Neighbor Router ID + + // Inter-Area-Prefix LSA + 0x00, 0x24, // Age + 0x20, 0x03, // Type: Inter-Area-Prefix + 0x00, 0x00, 0x00, 0x05, // LS ID + 0x03, 0x03, 0x03, 0x03, // Router ID + 0x80, 0x00, 0x00, 0x01, // Seq Num + 0x06, 0xba, // Checksum + 0x00, 0x24, // Length + 0x00, // Reserved + 0x00, 0x00, 0x0a, // Metric + 0x40, // Prefix Length + 0x00, // Prefix Options + 0x00, 0x00, //Reserved + // Address + 0x20, 0x01, 0x0d, 0xb8, + 0x00, 0x00, 0x00, 0x34, + + // Link LSA + 0x00, 0x23, // Ags + 0x00, 0x08, // Type: Link + 0x00, 0x00, 0x00, 0x06, // LS ID + 0x03, 0x03, 0x03, 0x03, // Router ID + 0x80, 0x00, 0x00, 0x01, // Seq Num + 0xa0, 0x49, // Checksum + 0x00, 0x38, // Length + 0x64, // Router Priority + 0x00, 0x00, 0x33, // Options + // Link local addr + 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x00, 0x00, 0x00, 0x01, // Num prefixes + // LSA Prefix + 0x40, 0x00, 0x00, 0x00, // Len & Opts + 0x20, 0x01, 0x0d, 0xb8, 0x00, 0x00, 0x00, 0x00, // Addr + + // Intra-Area-Prefix LSA + 0x00, 0x23, // Age + 0x20, 0x09, // Type: Intra Area Prefix + 0x00, 0x00, 0x00, 0x00, // LS ID + 0x03, 0x03, 0x03, 0x03, // Router ID + 0x80, 0x00, 0x00, 0x01, // Seq Num + 0xe0, 0x99, // Checksum + 0x00, 0x34, // Length + 0x00, 0x01, // Num prefixes + 0x20, 0x01, // Referenced type + 0x00, 0x00, 0x00, 0x00, // Referenced ID + 0x03, 0x03, 0x03, 0x03, // Referenced Router + 0x80, // Pfx Len + 0x02, // Pfx Opts + 0x00, 0x00, // Metric + // Pfx Addr + 0x20, 0x01, 0x0d, 0xb8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + + // Network LSA + 0x0e, 0x10, // Age + 0x20, 0x02, // Type: Network + 0x00, 0x00, 0x00, 0x06, // LS ID + 0x03, 0x03, 0x03, 0x03, // Router ID + 0x80, 0x00, 0x00, 0x03, // Seq Num + 0x6b, 0x6d, // Checksum + 0x00, 0x24, // Length + 0x00, // Reserved + 0x00, 0x00, 0x33, // Options + // Attached Routers + 0x03, 0x03, 0x03, 0x03, + 0x02, 0x02, 0x02, 0x02, + 0x01, 0x01, 0x01, 0x01, }, expected: &ospf.OSPFv3Message{ Version: 3, Type: ospf.MsgTypeLinkStateUpdate, - Checksum: 0x40dd, - PacketLength: 60, + Checksum: 0xa681, + PacketLength: 240, RouterID: routerID(1, 1, 1, 1), AreaID: 0, InstanceID: 0, @@ -613,7 +688,7 @@ func TestDecodeLSUpdate(t *testing.T) { LinkDescriptions: []ospf.AreaLinkDescription{ { Type: ospf.ALDTypePTP, - Metric: ospf.InterfaceMetric{Low: 0x40}, + Metric: 64, InterfaceID: 6, NeighborInterfaceID: 6, NeighborRouterID: routerID(3, 3, 3, 3), @@ -621,6 +696,88 @@ func TestDecodeLSUpdate(t *testing.T) { }, }, }, + { + Age: 0x24, + Type: ospf.LSATypeInterAreaPrefix, + ID: 5, + AdvertisingRouter: routerID(3, 3, 3, 3), + SequenceNumber: 0x80000001, + Checksum: 0x06ba, + Length: 0x24, + Body: &ospf.InterAreaPrefixLSA{ + Metric: 10, + Prefix: ospf.LSAPrefix{ + PrefixLength: 64, + Options: ospf.PrefixOptions{}, + Address: mustIP(net.IPFromString("2001:db8:0:34::")), + }, + }, + }, + { + Age: 0x23, + Type: ospf.LSATypeLink, + ID: 6, + AdvertisingRouter: routerID(3, 3, 3, 3), + SequenceNumber: 0x80000001, + Checksum: 0xa049, + Length: 0x38, + Body: &ospf.LinkLSA{ + RouterPriority: 100, + Options: ospf.OptionsFromFlags( + ospf.RouterOptDC, ospf.RouterOptR, ospf.RouterOptE, ospf.RouterOptV6), + LinkLocalInterfaceAddress: mustIP(net.IPFromString("fe80::3")), + PrefixNum: 1, + Prefixes: []ospf.LSAPrefix{ + { + PrefixLength: 64, + Options: ospf.PrefixOptions{}, + Address: mustIP(net.IPFromString("2001:db8::")), + }, + }, + }, + }, + { + Age: 0x23, + Type: ospf.LSATypeIntraAreaPrefix, + ID: 0, + AdvertisingRouter: routerID(3, 3, 3, 3), + SequenceNumber: 0x80000001, + Checksum: 0xe099, + Length: 0x34, + Body: &ospf.IntraAreaPrefixLSA{ + ReferencedLSType: ospf.LSATypeRouter, + ReferencedLinkStateID: 0, + ReferencedAdvertisingRouter: routerID(3, 3, 3, 3), + Prefixes: []ospf.LSAPrefix{ + { + PrefixLength: 128, + Options: ospf.PrefixOptions{ + LocalAddress: true, + }, + Special: 0, // Metric + Address: mustIP(net.IPFromString("2001:db8::3")), + }, + }, + }, + }, + { + Age: 0xe10, + Type: ospf.LSATypeNetwork, + ID: 6, + AdvertisingRouter: routerID(3, 3, 3, 3), + SequenceNumber: 0x80000003, + Checksum: 0x6b6d, + Length: 0x24, + Body: &ospf.NetworkLSA{ + Options: ospf.OptionsFromFlags( + ospf.RouterOptDC, ospf.RouterOptR, ospf.RouterOptE, ospf.RouterOptV6), + AttachedRouter: []ospf.ID{ + routerID(3, 3, 3, 3), + routerID(2, 2, 2, 2), + routerID(1, 1, 1, 1), + }, + }, + }, }, }, }, From d3c4d8b5c48109721c2a9d2a8809662df607bb16 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Sun, 12 Jan 2020 19:57:55 +0100 Subject: [PATCH 25/26] Refactor decode test setup --- protocols/ospf/packetv3/decode_test.go | 27 +++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/protocols/ospf/packetv3/decode_test.go b/protocols/ospf/packetv3/decode_test.go index 4f559947..30b20bb4 100644 --- a/protocols/ospf/packetv3/decode_test.go +++ b/protocols/ospf/packetv3/decode_test.go @@ -10,14 +10,14 @@ import ( "github.com/stretchr/testify/require" ) -type test struct { +type decodeTest struct { name string input []byte wantFail bool - expected interface{} + expected *ospf.OSPFv3Message } -func runTest(t *testing.T, testCase test, src, dst net.IP) { +func runDecodeTest(t *testing.T, testCase decodeTest, src, dst net.IP) { t.Run(testCase.name, func(t *testing.T) { buf := bytes.NewBuffer(testCase.input) msg, _, err := ospf.DeserializeOSPFv3Message(buf, src, dst) @@ -28,6 +28,7 @@ func runTest(t *testing.T, testCase test, src, dst net.IP) { require.NoError(t, err) assert.Equal(t, testCase.expected, msg) + assert.Len(t, testCase.input, int(testCase.expected.PacketLength)) }) } @@ -36,7 +37,7 @@ func routerID(o1, o2, o3, o4 uint8) ospf.ID { } func TestDecodeHello(t *testing.T) { - tests := []test{ + tests := []decodeTest{ { name: "Default", input: []byte{ @@ -262,12 +263,12 @@ func TestDecodeHello(t *testing.T) { require.NoError(t, err) for _, test := range tests { - runTest(t, test, src, dst) + runDecodeTest(t, test, src, dst) } } func TestDecodeDBDesc(t *testing.T) { - tests := []test{ + tests := []decodeTest{ { name: "Default", input: []byte{ @@ -475,12 +476,12 @@ func TestDecodeDBDesc(t *testing.T) { require.NoError(t, err) for _, test := range tests { - runTest(t, test, src, dst) + runDecodeTest(t, test, src, dst) } } func TestDecodeLSRequest(t *testing.T) { - tests := []test{ + tests := []decodeTest{ { name: "Default", input: []byte{ @@ -547,7 +548,7 @@ func TestDecodeLSRequest(t *testing.T) { require.NoError(t, err) for _, test := range tests { - runTest(t, test, src, dst) + runDecodeTest(t, test, src, dst) } } @@ -559,7 +560,7 @@ func mustIP(ip net.IP, err error) net.IP { } func TestDecodeLSUpdate(t *testing.T) { - tests := []test{ + tests := []decodeTest{ { name: "Default", input: []byte{ @@ -789,12 +790,12 @@ func TestDecodeLSUpdate(t *testing.T) { require.NoError(t, err) for _, test := range tests { - runTest(t, test, src, dst) + runDecodeTest(t, test, src, dst) } } func TestDecodeLSAck(t *testing.T) { - tests := []test{ + tests := []decodeTest{ { name: "Default", input: []byte{ @@ -974,6 +975,6 @@ func TestDecodeLSAck(t *testing.T) { require.NoError(t, err) for _, test := range tests { - runTest(t, test, src, dst) + runDecodeTest(t, test, src, dst) } } From f08fc969f8095151f9cd1850523656060104f431 Mon Sep 17 00:00:00 2001 From: Marcus Weiner Date: Mon, 13 Jan 2020 11:02:21 +0100 Subject: [PATCH 26/26] Test encoding of hello packets --- protocols/ospf/packetv3/encode_test.go | 165 +++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 protocols/ospf/packetv3/encode_test.go diff --git a/protocols/ospf/packetv3/encode_test.go b/protocols/ospf/packetv3/encode_test.go new file mode 100644 index 00000000..4d74edab --- /dev/null +++ b/protocols/ospf/packetv3/encode_test.go @@ -0,0 +1,165 @@ +package packetv3_test + +import ( + "bytes" + "testing" + + "github.com/bio-routing/bio-rd/net" + ospf "github.com/bio-routing/bio-rd/protocols/ospf/packetv3" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +type encodeTest struct { + name string + msg *ospf.OSPFv3Message + expected []byte +} + +func runEncodeTest(t *testing.T, testCase encodeTest, src, dst net.IP) { + t.Run(testCase.name, func(t *testing.T) { + out := new(bytes.Buffer) + testCase.msg.Serialize(out, src, dst) + assert.Equal(t, testCase.expected, out.Bytes()) + }) +} + +func TestEncodeHello(t *testing.T) { + tests := []encodeTest{ + { + name: "Init", + msg: &ospf.OSPFv3Message{ + Version: 3, + Type: ospf.MsgTypeHello, + RouterID: routerID(5, 5, 5, 5), + AreaID: 0, + InstanceID: 0, + Body: &ospf.Hello{ + InterfaceID: 4, + RouterPriority: 200, + Options: ospf.OptionsFromFlags(ospf.RouterOptR, ospf.RouterOptE, ospf.RouterOptV6), + HelloInterval: 20, + RouterDeadInterval: 60, + }, + }, + expected: []byte{ + 0x03, // Version + 0x01, // Type: Hello + 0x00, 0x24, // Length + 0x05, 0x05, 0x05, 0x05, // Router ID + 0x00, 0x00, 0x00, 0x00, // Area ID + 0xd0, 0x7a, // Checksum + 0x00, // Instance ID + 0x00, // Reserved + + // Payload + 0x00, 0x00, 0x00, 0x04, // Interface ID + 0xc8, // prio + 0x00, // reserved + 0x00, 0x13, // Options + 0x00, 0x14, // Hello Interval + 0x00, 0x3c, // Dead Interval + 0x00, 0x00, 0x00, 0x00, // DR + 0x00, 0x00, 0x00, 0x00, // BDR + }, + }, + { + name: "WithDR", + msg: &ospf.OSPFv3Message{ + Version: 3, + Type: ospf.MsgTypeHello, + RouterID: routerID(5, 5, 5, 5), + AreaID: 0, + InstanceID: 0, + Body: &ospf.Hello{ + InterfaceID: 4, + RouterPriority: 200, + Options: ospf.OptionsFromFlags(ospf.RouterOptR, ospf.RouterOptE, ospf.RouterOptV6), + HelloInterval: 20, + RouterDeadInterval: 60, + DesignatedRouterID: routerID(3, 3, 3, 3), + Neighbors: []ospf.ID{ + routerID(3, 3, 3, 3), + routerID(6, 6, 6, 6), + }, + }, + }, + expected: []byte{ + 0x03, // Version + 0x01, // Type: Hello + 0x00, 0x2c, // Length + 0x05, 0x05, 0x05, 0x05, // Router ID + 0x00, 0x00, 0x00, 0x00, // Area ID + 0xb8, 0x52, // Checksum + 0x00, // Instance ID + 0x00, // Reserved + + // Payload + 0x00, 0x00, 0x00, 0x04, // Interface ID + 0xc8, // prio + 0x00, // reserved + 0x00, 0x13, // Options + 0x00, 0x14, // Hello Interval + 0x00, 0x3c, // Dead Interval + 0x03, 0x03, 0x03, 0x03, // DR + 0x00, 0x00, 0x00, 0x00, // BDR + // Neighbors + 0x03, 0x03, 0x03, 0x03, + 0x06, 0x06, 0x06, 0x06, + }, + }, + { + name: "WithDRSelf", + msg: &ospf.OSPFv3Message{ + Version: 3, + Type: ospf.MsgTypeHello, + RouterID: routerID(5, 5, 5, 5), + AreaID: 0, + InstanceID: 0, + Body: &ospf.Hello{ + InterfaceID: 4, + RouterPriority: 200, + Options: ospf.OptionsFromFlags(ospf.RouterOptR, ospf.RouterOptE, ospf.RouterOptV6), + HelloInterval: 20, + RouterDeadInterval: 60, + DesignatedRouterID: routerID(5, 5, 5, 5), + BackupDesignatedRouterID: routerID(3, 3, 3, 3), + Neighbors: []ospf.ID{ + routerID(3, 3, 3, 3), + }, + }, + }, + expected: []byte{ + 0x03, // Version + 0x01, // Type: Hello + 0x00, 0x28, // Length + 0x05, 0x05, 0x05, 0x05, // Router ID + 0x00, 0x00, 0x00, 0x00, // Area ID + 0xba, 0x5c, // Checksum + 0x00, // Instance ID + 0x00, // Reserved + + // Payload + 0x00, 0x00, 0x00, 0x04, // Interface ID + 0xc8, // prio + 0x00, // reserved + 0x00, 0x13, // Options + 0x00, 0x14, // Hello Interval + 0x00, 0x3c, // Dead Interval + 0x05, 0x05, 0x05, 0x05, // DR + 0x03, 0x03, 0x03, 0x03, // BDR + // Neighbors + 0x03, 0x03, 0x03, 0x03, + }, + }, + } + + src, err := net.IPFromString("fe80::c92:6b3f:92b0:d49e") + require.NoError(t, err) + dst, err := net.IPFromString("fe80::acac:d4ff:fe15:fd8b") + require.NoError(t, err) + + for _, test := range tests { + runEncodeTest(t, test, src, dst) + } +}