]> The Tcpdump Group git mirrors - tcpdump/commitdiff
PIM: add some v2 test cases
authorDenis Ovsienko <[email protected]>
Sat, 12 Apr 2014 06:51:48 +0000 (10:51 +0400)
committerDenis Ovsienko <[email protected]>
Sat, 12 Apr 2014 06:51:48 +0000 (10:51 +0400)
The sample captures come from packetlife.net through courtesy of Jeremy
Stretch.

tests/PIM-DM_pruning.pcap [new file with mode: 0644]
tests/PIM-SM_join_prune.pcap [new file with mode: 0644]
tests/PIM_register_register-stop.pcap [new file with mode: 0644]
tests/PIMv2_bootstrap.pcap [new file with mode: 0644]
tests/PIMv2_hellos.pcap [new file with mode: 0644]
tests/TESTLIST
tests/pimv2_bootstrap-v.out [new file with mode: 0644]
tests/pimv2_dm-v.out [new file with mode: 0644]
tests/pimv2_hellos-v.out [new file with mode: 0644]
tests/pimv2_register-v.out [new file with mode: 0644]
tests/pimv2_sm-v.out [new file with mode: 0644]

diff --git a/tests/PIM-DM_pruning.pcap b/tests/PIM-DM_pruning.pcap
new file mode 100644 (file)
index 0000000..ad0f80d
Binary files /dev/null and b/tests/PIM-DM_pruning.pcap differ
diff --git a/tests/PIM-SM_join_prune.pcap b/tests/PIM-SM_join_prune.pcap
new file mode 100644 (file)
index 0000000..12396bf
Binary files /dev/null and b/tests/PIM-SM_join_prune.pcap differ
diff --git a/tests/PIM_register_register-stop.pcap b/tests/PIM_register_register-stop.pcap
new file mode 100644 (file)
index 0000000..e2419ad
Binary files /dev/null and b/tests/PIM_register_register-stop.pcap differ
diff --git a/tests/PIMv2_bootstrap.pcap b/tests/PIMv2_bootstrap.pcap
new file mode 100644 (file)
index 0000000..1bc0ae9
Binary files /dev/null and b/tests/PIMv2_bootstrap.pcap differ
diff --git a/tests/PIMv2_hellos.pcap b/tests/PIMv2_hellos.pcap
new file mode 100644 (file)
index 0000000..6a5f49d
Binary files /dev/null and b/tests/PIMv2_hellos.pcap differ
index 745aed70348e1941a3dca986c11c86f7586e4888..59a79d36f56bcf0b5526485c6d6f1d1ccd419d3d 100644 (file)
@@ -179,3 +179,10 @@ dccp_partial_csum_v6_longer        dccp_partial_csum_v6_longer.pcap        dccp_partial_csum_v
 # VRRP tests
 vrrp           vrrp.pcap               vrrp.out                -t
 vrrp-v         vrrp.pcap               vrrp-v.out              -t -v
 # VRRP tests
 vrrp           vrrp.pcap               vrrp.out                -t
 vrrp-v         vrrp.pcap               vrrp-v.out              -t -v
+
+# PIMv2 tests
+pimv2_dm-v             PIM-DM_pruning.pcap             pimv2_dm-v.out          -t -v
+pimv2_register-v       PIM_register_register-stop.pcap pimv2_register-v.out    -t -v
+pimv2_sm-v             PIM-SM_join_prune.pcap          pimv2_sm-v.out          -t -v
+pimv2_bootstrap-v      PIMv2_bootstrap.pcap            pimv2_bootstrap-v.out   -t -v
+pimv2_hellos-v         PIMv2_hellos.pcap               pimv2_hellos-v.out      -t -v
diff --git a/tests/pimv2_bootstrap-v.out b/tests/pimv2_bootstrap-v.out
new file mode 100644 (file)
index 0000000..1d56445
--- /dev/null
@@ -0,0 +1,24 @@
+IP (tos 0xc0, ttl 1, id 477, offset 0, flags [none], proto PIM (103), length 66)
+    10.0.0.5 > 224.0.0.13: PIMv2, length 46
+       Bootstrap, cksum 0xe410 (correct) tag=4b0 hashmlen=0 BSRprio=0 BSR=1.1.1.1 (group0: 224.0.0.0/4 RPcnt=2 FRPcnt=2 RP0=2.2.2.2,holdtime=2m30s,prio=0 RP1=3.3.3.3,holdtime=2m30s,prio=0)
+IP (tos 0xc0, ttl 255, id 433, offset 0, flags [none], proto PIM (103), length 42)
+    10.0.0.6 > 1.1.1.1: PIMv2, length 22
+       Candidate RP Advertisement, cksum 0xee5e (correct) prefix-cnt=1 prio=0 holdtime=2m30s RP=3.3.3.3 Group0=224.0.0.0/4
+IP (tos 0xc0, ttl 1, id 520, offset 0, flags [none], proto PIM (103), length 66)
+    10.0.0.5 > 224.0.0.13: PIMv2, length 46
+       Bootstrap, cksum 0xdf74 (correct) tag=94c hashmlen=0 BSRprio=0 BSR=1.1.1.1 (group0: 224.0.0.0/4 RPcnt=2 FRPcnt=2 RP0=2.2.2.2,holdtime=2m30s,prio=0 RP1=3.3.3.3,holdtime=2m30s,prio=0)
+IP (tos 0xc0, ttl 255, id 471, offset 0, flags [none], proto PIM (103), length 42)
+    10.0.0.6 > 1.1.1.1: PIMv2, length 22
+       Candidate RP Advertisement, cksum 0xee5e (correct) prefix-cnt=1 prio=0 holdtime=2m30s RP=3.3.3.3 Group0=224.0.0.0/4
+IP (tos 0xc0, ttl 1, id 563, offset 0, flags [none], proto PIM (103), length 66)
+    10.0.0.5 > 224.0.0.13: PIMv2, length 46
+       Bootstrap, cksum 0xd555 (correct) tag=136b hashmlen=0 BSRprio=0 BSR=1.1.1.1 (group0: 224.0.0.0/4 RPcnt=2 FRPcnt=2 RP0=2.2.2.2,holdtime=2m30s,prio=0 RP1=3.3.3.3,holdtime=2m30s,prio=0)
+IP (tos 0xc0, ttl 255, id 508, offset 0, flags [none], proto PIM (103), length 42)
+    10.0.0.6 > 1.1.1.1: PIMv2, length 22
+       Candidate RP Advertisement, cksum 0xee5e (correct) prefix-cnt=1 prio=0 holdtime=2m30s RP=3.3.3.3 Group0=224.0.0.0/4
+IP (tos 0xc0, ttl 1, id 606, offset 0, flags [none], proto PIM (103), length 66)
+    10.0.0.5 > 224.0.0.13: PIMv2, length 46
+       Bootstrap, cksum 0xe3ab (correct) tag=515 hashmlen=0 BSRprio=0 BSR=1.1.1.1 (group0: 224.0.0.0/4 RPcnt=2 FRPcnt=2 RP0=2.2.2.2,holdtime=2m30s,prio=0 RP1=3.3.3.3,holdtime=2m30s,prio=0)
+IP (tos 0xc0, ttl 255, id 547, offset 0, flags [none], proto PIM (103), length 42)
+    10.0.0.6 > 1.1.1.1: PIMv2, length 22
+       Candidate RP Advertisement, cksum 0xee5e (correct) prefix-cnt=1 prio=0 holdtime=2m30s RP=3.3.3.3 Group0=224.0.0.0/4
diff --git a/tests/pimv2_dm-v.out b/tests/pimv2_dm-v.out
new file mode 100644 (file)
index 0000000..334120b
--- /dev/null
@@ -0,0 +1,238 @@
+IP (tos 0xc0, ttl 1, id 121, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb3eb (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76852f6
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 115, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x4fce (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd767b714
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0x0, ttl 31, id 4621, offset 0, flags [none], proto UDP (17), length 1498)
+    172.16.40.10.1064 > 239.123.123.123.5001: UDP, length 1470
+IP (tos 0xc0, ttl 1, id 122, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Join / Prune, cksum 0x8fd8 (correct), upstream-neighbor: 10.0.0.1
+         1 group(s), holdtime: 3m30s
+           group #1: 239.123.123.123, joined sources: 0, pruned sources: 1
+             pruned source #1: 172.16.40.10
+IP (tos 0xc0, ttl 1, id 130, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb3eb (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76852f6
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 123, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x4fce (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd767b714
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 141, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb3eb (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76852f6
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 131, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x4fce (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd767b714
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 150, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb3eb (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76852f6
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 138, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x4fce (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd767b714
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 160, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb3eb (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76852f6
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 147, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x4fce (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd767b714
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 168, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb3eb (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76852f6
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 154, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x4fce (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd767b714
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 179, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb3eb (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76852f6
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 162, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x4fce (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd767b714
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 187, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb3eb (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76852f6
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 169, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x4fce (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd767b714
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0x0, ttl 31, id 4804, offset 0, flags [none], proto UDP (17), length 1498)
+    172.16.40.10.1064 > 239.123.123.123.5001: UDP, length 1470
+IP (tos 0x0, ttl 31, id 4805, offset 0, flags [none], proto UDP (17), length 1498)
+    172.16.40.10.1064 > 239.123.123.123.5001: UDP, length 1470
+IP (tos 0xc0, ttl 1, id 171, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Join / Prune, cksum 0x8fd8 (correct), upstream-neighbor: 10.0.0.1
+         1 group(s), holdtime: 3m30s
+           group #1: 239.123.123.123, joined sources: 0, pruned sources: 1
+             pruned source #1: 172.16.40.10
+IP (tos 0xc0, ttl 1, id 198, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb3eb (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76852f6
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 178, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x4fce (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd767b714
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 206, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb3eb (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76852f6
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 185, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x4fce (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd767b714
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 217, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb3eb (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76852f6
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 194, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x4fce (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd767b714
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 225, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb3eb (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76852f6
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 201, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x4fce (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd767b714
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 236, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb3eb (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76852f6
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 209, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x4fce (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd767b714
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 245, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb3eb (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76852f6
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 216, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x4fce (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd767b714
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0x0, ttl 31, id 4988, offset 0, flags [none], proto UDP (17), length 1498)
+    172.16.40.10.1064 > 239.123.123.123.5001: UDP, length 1470
+IP (tos 0x0, ttl 31, id 4989, offset 0, flags [none], proto UDP (17), length 1498)
+    172.16.40.10.1064 > 239.123.123.123.5001: UDP, length 1470
+IP (tos 0xc0, ttl 1, id 218, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Join / Prune, cksum 0x8fd8 (correct), upstream-neighbor: 10.0.0.1
+         1 group(s), holdtime: 3m30s
+           group #1: 239.123.123.123, joined sources: 0, pruned sources: 1
+             pruned source #1: 172.16.40.10
+IP (tos 0xc0, ttl 1, id 255, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb3eb (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76852f6
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 226, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x4fce (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd767b714
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
diff --git a/tests/pimv2_hellos-v.out b/tests/pimv2_hellos-v.out
new file mode 100644 (file)
index 0000000..535dd52
--- /dev/null
@@ -0,0 +1,42 @@
+IP (tos 0xc0, ttl 1, id 895, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xaa6e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0x3f0ef4cd
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 1093, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x6083 (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0x3ef93ece
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 912, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xaa6e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0x3f0ef4cd
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 1112, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x6083 (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0x3ef93ece
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 927, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.2 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xaa6e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0x3f0ef4cd
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 1129, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.1 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x6083 (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0x3ef93ece
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
diff --git a/tests/pimv2_register-v.out b/tests/pimv2_register-v.out
new file mode 100644 (file)
index 0000000..54d4407
--- /dev/null
@@ -0,0 +1,8 @@
+IP (tos 0x0, ttl 255, id 350, offset 0, flags [none], proto PIM (103), length 128)
+    192.168.0.6 > 192.168.1.254: PIMv2, length 108
+       Register, cksum 0xdeff (correct), Flags [ none ]
+       IP (tos 0x0, ttl 254, id 15, offset 0, flags [none], proto ICMP (1), length 100)
+    192.168.20.10 > 239.1.2.3: ICMP echo request, id 3, seq 0, length 80
+IP (tos 0xc0, ttl 255, id 642, offset 0, flags [none], proto PIM (103), length 38)
+    192.168.1.254 > 192.168.0.6: PIMv2, length 18
+       Register Stop, cksum 0x1628 (correct) group=239.1.2.3 source=192.168.20.10
diff --git a/tests/pimv2_sm-v.out b/tests/pimv2_sm-v.out
new file mode 100644 (file)
index 0000000..546316a
--- /dev/null
@@ -0,0 +1,300 @@
+IP (tos 0xc0, ttl 1, id 130, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x41fe (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76fc4dc
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 129, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.13 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb52e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd77051ab
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 139, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Join / Prune, cksum 0x5ae5 (correct), upstream-neighbor: 10.0.0.13
+         1 group(s), holdtime: 3m30s
+           group #1: 239.123.123.123, joined sources: 1, pruned sources: 0
+             joined source #1: 1.1.1.1(SWR)
+IP (tos 0xc0, ttl 1, id 150, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x41fe (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76fc4dc
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 146, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.13 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb52e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd77051ab
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 169, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x41fe (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76fc4dc
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 163, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.13 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb52e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd77051ab
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 175, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Join / Prune, cksum 0x5ae5 (correct), upstream-neighbor: 10.0.0.13
+         1 group(s), holdtime: 3m30s
+           group #1: 239.123.123.123, joined sources: 1, pruned sources: 0
+             joined source #1: 1.1.1.1(SWR)
+IP (tos 0xc0, ttl 1, id 186, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x41fe (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76fc4dc
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 179, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.13 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb52e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd77051ab
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 186, offset 0, flags [none], proto IGMP (2), length 44)
+    1.1.1.1 > 224.0.0.2: igmp pimv1 RP-reachable group 239.123.123.123 RP 1.1.1.1 hold 4m30s
+IP (tos 0xc0, ttl 1, id 205, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x41fe (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76fc4dc
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 197, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.13 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb52e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd77051ab
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 213, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Join / Prune, cksum 0x5ae5 (correct), upstream-neighbor: 10.0.0.13
+         1 group(s), holdtime: 3m30s
+           group #1: 239.123.123.123, joined sources: 1, pruned sources: 0
+             joined source #1: 1.1.1.1(SWR)
+IP (tos 0xc0, ttl 1, id 224, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x41fe (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76fc4dc
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 214, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.13 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb52e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd77051ab
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 230, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.13 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb52e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd77051ab
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 243, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x41fe (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76fc4dc
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 250, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Join / Prune, cksum 0x5ae5 (correct), upstream-neighbor: 10.0.0.13
+         1 group(s), holdtime: 3m30s
+           group #1: 239.123.123.123, joined sources: 1, pruned sources: 0
+             joined source #1: 1.1.1.1(SWR)
+IP (tos 0xc0, ttl 1, id 240, offset 0, flags [none], proto IGMP (2), length 44)
+    1.1.1.1 > 224.0.0.2: igmp pimv1 RP-reachable group 239.123.123.123 RP 1.1.1.1 hold 4m30s
+IP (tos 0xc0, ttl 1, id 250, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.13 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb52e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd77051ab
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 261, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x41fe (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76fc4dc
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 280, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x41fe (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76fc4dc
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 266, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.13 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb52e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd77051ab
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 287, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Join / Prune, cksum 0x5ae5 (correct), upstream-neighbor: 10.0.0.13
+         1 group(s), holdtime: 3m30s
+           group #1: 239.123.123.123, joined sources: 1, pruned sources: 0
+             joined source #1: 1.1.1.1(SWR)
+IP (tos 0xc0, ttl 1, id 300, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x41fe (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76fc4dc
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 285, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.13 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb52e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd77051ab
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 292, offset 0, flags [none], proto IGMP (2), length 44)
+    1.1.1.1 > 224.0.0.2: igmp pimv1 RP-reachable group 239.123.123.123 RP 1.1.1.1 hold 4m30s
+IP (tos 0xc0, ttl 1, id 316, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x41fe (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76fc4dc
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 301, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.13 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb52e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd77051ab
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 326, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Join / Prune, cksum 0x5ae5 (correct), upstream-neighbor: 10.0.0.13
+         1 group(s), holdtime: 3m30s
+           group #1: 239.123.123.123, joined sources: 1, pruned sources: 0
+             joined source #1: 1.1.1.1(SWR)
+IP (tos 0xc0, ttl 1, id 337, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x41fe (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76fc4dc
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 319, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.13 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb52e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd77051ab
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 353, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x41fe (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76fc4dc
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 335, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.13 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb52e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd77051ab
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 362, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Join / Prune, cksum 0x5ae5 (correct), upstream-neighbor: 10.0.0.13
+         1 group(s), holdtime: 3m30s
+           group #1: 239.123.123.123, joined sources: 1, pruned sources: 0
+             joined source #1: 1.1.1.1(SWR)
+IP (tos 0xc0, ttl 1, id 346, offset 0, flags [none], proto IGMP (2), length 44)
+    1.1.1.1 > 224.0.0.2: igmp pimv1 RP-reachable group 239.123.123.123 RP 1.1.1.1 hold 4m30s
+IP (tos 0xc0, ttl 1, id 374, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x41fe (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76fc4dc
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 354, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.13 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb52e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd77051ab
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 390, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x41fe (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76fc4dc
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 372, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.13 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb52e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd77051ab
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 399, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Join / Prune, cksum 0x5ae5 (correct), upstream-neighbor: 10.0.0.13
+         1 group(s), holdtime: 3m30s
+           group #1: 239.123.123.123, joined sources: 1, pruned sources: 0
+             joined source #1: 1.1.1.1(SWR)
+IP (tos 0xc0, ttl 1, id 412, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x41fe (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76fc4dc
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 388, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.13 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb52e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd77051ab
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 420, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Join / Prune, cksum 0x5ae5 (correct), upstream-neighbor: 10.0.0.13
+         1 group(s), holdtime: 3m30s
+           group #1: 239.123.123.123, joined sources: 0, pruned sources: 1
+             pruned source #1: 1.1.1.1(SWR)
+IP (tos 0xc0, ttl 1, id 431, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.14 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0x41fe (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd76fc4dc
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1
+IP (tos 0xc0, ttl 1, id 404, offset 0, flags [none], proto PIM (103), length 54)
+    10.0.0.13 > 224.0.0.13: PIMv2, length 34
+       Hello, cksum 0xb52e (correct)
+         Hold Time Option (1), length 2, Value: 1m45s
+         Generation ID Option (20), length 4, Value: 0xd77051ab
+         DR Priority Option (19), length 4, Value: 1
+         State Refresh Capability Option (21), length 4, Value: v1