Revision e52de724

b/nfdhcpd/nfdhcpd
616 616
        """
617 617
        ns = IPv6(payload.get_data())
618 618

  
619
        binding = None
620
        for b in self.clients.values():
621
          if b.eui64 == ns.tgt:
622
            binding = b
623
            break
619
        logging.debug("lladdr %s  src %sns.lladdr" , ns.lladdr, ns.src)
624 620

  
625
        if binding is None:
626
            logging.debug("Ignoring neighbour solicitation on"
627
                          " for eui64 %s", ns.tgt)
628
            # We don't know what to do with this packet, so let the kernel
629
            # handle it
630
            payload.set_verdict(nfqueue.NF_ACCEPT)
631
            return
621
        try:
622
          binding = self.clients[ns.lladdr]
623
        except:
624
          logging.debug("Ignoring neighbour solicitation for eui64 %s", ns.tgt)
625
          # We don't know what to do with this packet, so let the kernel
626
          # handle it
627
          payload.set_verdict(nfqueue.NF_ACCEPT)
628
          return
632 629

  
633
        payload.set_verdict(nfqueue.NF_DROP)
634 630

  
635 631
        subnet = binding.net6
636 632
        if subnet.net is None:
637 633
          logging.debug("No IPv6 network assigned for the interface")
634
          payload.set_verdict(nfqueue.NF_ACCEPT)
638 635
          return
639 636

  
637
        payload.set_verdict(nfqueue.NF_DROP)
638

  
640 639
        indevmac = self.get_iface_hw_addr(binding.indev)
641 640

  
642 641
        ifll = subnet.make_ll64(indevmac)

Also available in: Unified diff