public Binding FindCurrentBinding(DhcpLink clientLink, DhcpV6ClientIdOption clientIdOption, DhcpV6IaNaOption iaNaOption, DhcpMessage requestMsg) { byte[] duid = clientIdOption.GetDuid(); long iaid = iaNaOption.GetIaId(); return(base.FindCurrentBinding(clientLink, duid, IdentityAssoc.NA_TYPE, iaid, requestMsg)); }
protected void AddIaNaOptionStatusToReply(DhcpV6IaNaOption iaNaOption, int statusCode) { DhcpV6IaNaOption replyIaNaOption = new DhcpV6IaNaOption(); replyIaNaOption.SetIaId(iaNaOption.GetIaId()); DhcpV6StatusCodeOption status = new DhcpV6StatusCodeOption(); status.SetStatusCode(statusCode); replyIaNaOption.PutDhcpOption(status); this.replyMsg.AddIaNaOption(replyIaNaOption); }
public Binding CreateSolicitBinding(DhcpLink clientLink, DhcpV6ClientIdOption clientIdOption, DhcpV6IaNaOption iaNaOption, DhcpMessage requestMsg, byte state, IPAddress clientV4IPAddress) { byte[] duid = clientIdOption.GetDuid(); long iaid = iaNaOption.GetIaId(); StaticBinding staticBinding = FindStaticBinding(clientLink.GetLink(), duid, IdentityAssoc.NA_TYPE, iaid, requestMsg); if (staticBinding != null) { return(base.CreateStaticBinding(clientLink, duid, IdentityAssoc.NA_TYPE, iaid, staticBinding, requestMsg)); } else { return(base.CreateBinding(clientLink, duid, IdentityAssoc.NA_TYPE, iaid, GetInetAddrs(iaNaOption), requestMsg, state, clientV4IPAddress)); } }