/// <summary> /// Creates an instance from status, remove and mobile node identity. /// </summary> /// <param name="status"> /// Indicating the result of the dynamic DNS update procedure. /// This field must be set to 0 and ignored by the receiver when the DNS Update mobility option is included in a Binding Update message. /// When the DNS Update mobility option is included in the Binding Acknowledgement message, /// values of the Status field less than 128 indicate that the dynamic DNS update was performed successfully by the Home Agent. /// Values greater than or equal to 128 indicate that the dynamic DNS update was not completed by the HA. /// </param> /// <param name="remove"> /// Whether the Mobile Node is requesting the HA to remove the DNS entry identified by the FQDN specified in this option and the HoA of the Mobile Node. /// If false, the Mobile Node is requesting the HA to create or update a DNS entry with its HoA and the FQDN specified in the option. /// </param> /// <param name="mobileNodeIdentity"> /// The identity of the Mobile Node in FQDN format to be used by the Home Agent to send a Dynamic DNS update. /// </param> public IpV6MobilityOptionDnsUpdate(IpV6DnsUpdateStatus status, bool remove, DataSegment mobileNodeIdentity) : base(IpV6MobilityOptionType.DnsUpdate) { Status = status; Remove = remove; MobileNodeIdentity = mobileNodeIdentity; }
/// <summary> /// Creates an instance from status, remove and mobile node identity. /// </summary> /// <param name="status"> /// Indicating the result of the dynamic DNS update procedure. /// This field must be set to 0 and ignored by the receiver when the DNS Update mobility option is included in a Binding Update message. /// When the DNS Update mobility option is included in the Binding Acknowledgement message, /// values of the Status field less than 128 indicate that the dynamic DNS update was performed successfully by the Home Agent. /// Values greater than or equal to 128 indicate that the dynamic DNS update was not completed by the HA. /// </param> /// <param name="remove"> /// Whether the Mobile Node is requesting the HA to remove the DNS entry identified by the FQDN specified in this option and the HoA of the Mobile Node. /// If false, the Mobile Node is requesting the HA to create or update a DNS entry with its HoA and the FQDN specified in the option. /// </param> /// <param name="mobileNodeIdentity"> /// The identity of the Mobile Node in FQDN format to be used by the Home Agent to send a Dynamic DNS update. /// </param> public IpV6MobilityOptionDnsUpdate(IpV6DnsUpdateStatus status, bool remove, DataSegment mobileNodeIdentity) : base(IpV6MobilityOptionType.DnsUpdate) { Status = status; Remove = remove; MobileNodeIdentity = mobileNodeIdentity; }
internal override IpV6MobilityOption CreateInstance(DataSegment data) { if (data.Length < OptionDataMinimumLength) { return(null); } IpV6DnsUpdateStatus status = (IpV6DnsUpdateStatus)data[Offset.Status]; bool remove = data.ReadBool(Offset.Remove, Mask.Remove); DataSegment mobileNodeIdentity = data.Subsegment(Offset.MobileNodeIdentity, data.Length - Offset.MobileNodeIdentity); return(new IpV6MobilityOptionDnsUpdate(status, remove, mobileNodeIdentity)); }