Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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));
            }
        }