psh_icmp6(3)

SYNOPSIS

pinit ipv6-icmp pkt [maxlength [length]]

pfree pkt

pget ipv6-icmp pkt field-name

pset ipv6-icmp pkt field-name value

plist pkt ipv6-icmp

pinit ipv6-icmp pkt [maxlength [length]]
    Initialize an IPv6 ICMP packet variable. For more information on the maxlength and length parameters, see the psh(1) manual page.

pfree pkt
    Free the indicated packet buffer named pkt.

pget pkt ipv6-icmp field-name
    Fetch the indicated field field-name from the indicated packet pkt. The valid fields are the following: type, code, cksum, cksum-valid, word1, target, target-ether, source-ether. Note that the target-ether refers to the link layer desination address option. The source-ether refers to the link layer source address option. Target refers to the IPv6 target address. Both '-ether' fiels apply to router/neighbor solicitation packets.

    The code currently supports only having one option, and the ICMP6 must be resized by hand to make room for the option.

    Word1 refers to the "icmp_void" member in the ICMP structure, the first full word after the type/code word.

    Refer to RFC1885 for an explanation of the fields.

pset pkt ipv6-icmp field-name value
    Set the indicated field field-name from the indicated packet pkt to the value value. Similar to the above.

    For "type" the value can be any of the following strings:
      unreachable
      packet too big
      time exceeded
      parameter problem
      echo request
      echo reply
      group query
      group report
      group term
      router solicitation
      router advertisement
      neighbor solicitation
      neighbor advertisement.

    At this time no string values are accepted for the "code" field.

    A packet shell command is provided to convert the string types to number to support different user test programs. It's usage is: ipv6-icmp.a2n type string

    Note that pset'ing the cksum without an argument causes the correct checksum to be computed and placed in the cksum field of the packet.

    The target-ether and source-ether refer to options to neighbor discovery ICMP6 messages. The code currently supports only having one option, and the ICMP6 must be resized by hand to make room for the option. (Use plen for this.)

plist pkt ipv6-icmp
    Summarize a ICMPv6 packet.

FILES

/opt/psh/lib/ipv6-icmp
    Dynamically linked library protocol for ICMP6.

SEE ALSO
xpsh(1), psh(1), protolib(3).