Ethereal-dev: [ethereal-dev] pim(protocol independent multicast)

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

Date: Wed, 13 Oct 1999 14:57:22 +0900
	Here's decoding code for pim (protocol independent multicast).
	test data is included.

itojun

begin 644 pim-decode.tar.gz
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
LO+=#YC<=L+SID:?_T@^&7O!89)%%%EEDD446662111999.PW7K;:^0!X``"Y
`
end