/// <summary> /// Creates an instance from next header, checksum, sequence number, unsolicited, status, lifetime and options. /// </summary> /// <param name="nextHeader">Identifies the type of header immediately following this extension header.</param> /// <param name="checksum"> /// Contains the checksum of the Mobility Header. /// The checksum is calculated from the octet string consisting of a "pseudo-header" /// followed by the entire Mobility Header starting with the Payload Proto field. /// The checksum is the 16-bit one's complement of the one's complement sum of this string. /// </param> /// <param name="sequenceNumber">Copied from the sequence number field of the LRI message being responded to.</param> /// <param name="unsolicited"> /// When true, the LRA message is sent unsolicited. /// The Lifetime field indicates a new requested value. /// The MAG must wait for the regular LRI message to confirm that the request is acceptable to the LMA. /// </param> /// <param name="status">The acknowledgement status.</param> /// <param name="lifetime"> /// The time in seconds for which the local forwarding is supported. /// Typically copied from the corresponding field in the LRI message. /// </param> /// <param name="options">Zero or more TLV-encoded mobility options.</param> public IpV6ExtensionHeaderMobilityLocalizedRoutingAcknowledgement(IpV4Protocol? nextHeader, ushort checksum, ushort sequenceNumber, bool unsolicited, IpV6MobilityLocalizedRoutingAcknowledgementStatus status, ushort lifetime, IpV6MobilityOptions options) : base(nextHeader, checksum, sequenceNumber, lifetime, options) { Status = status; Unsolicited = unsolicited; }
/// <summary> /// Creates an instance from next header, checksum, sequence number, unsolicited, status, lifetime and options. /// </summary> /// <param name="nextHeader">Identifies the type of header immediately following this extension header.</param> /// <param name="checksum"> /// Contains the checksum of the Mobility Header. /// The checksum is calculated from the octet string consisting of a "pseudo-header" /// followed by the entire Mobility Header starting with the Payload Proto field. /// The checksum is the 16-bit one's complement of the one's complement sum of this string. /// </param> /// <param name="sequenceNumber">Copied from the sequence number field of the LRI message being responded to.</param> /// <param name="unsolicited"> /// When true, the LRA message is sent unsolicited. /// The Lifetime field indicates a new requested value. /// The MAG must wait for the regular LRI message to confirm that the request is acceptable to the LMA. /// </param> /// <param name="status">The acknowledgement status.</param> /// <param name="lifetime"> /// The time in seconds for which the local forwarding is supported. /// Typically copied from the corresponding field in the LRI message. /// </param> /// <param name="options">Zero or more TLV-encoded mobility options.</param> public IpV6ExtensionHeaderMobilityLocalizedRoutingAcknowledgement(IpV4Protocol?nextHeader, ushort checksum, ushort sequenceNumber, bool unsolicited, IpV6MobilityLocalizedRoutingAcknowledgementStatus status, ushort lifetime, IpV6MobilityOptions options) : base(nextHeader, checksum, sequenceNumber, lifetime, options) { Status = status; Unsolicited = unsolicited; }
internal static IpV6ExtensionHeaderMobilityLocalizedRoutingAcknowledgement ParseMessageData(IpV4Protocol nextHeader, ushort checksum, DataSegment messageData) { ushort sequenceNumber; ushort lifetime; IpV6MobilityOptions options; if (!ParseMessageDataToFields(messageData, out sequenceNumber, out lifetime, out options)) { return(null); } bool unsolicited = messageData.ReadBool(MessageDataOffset.Unsolicited, MessageDataMask.Unsolicited); IpV6MobilityLocalizedRoutingAcknowledgementStatus status = (IpV6MobilityLocalizedRoutingAcknowledgementStatus)messageData[MessageDataOffset.Status]; return(new IpV6ExtensionHeaderMobilityLocalizedRoutingAcknowledgement(nextHeader, checksum, sequenceNumber, unsolicited, status, lifetime, options)); }