Exemplo n.º 1
0
    def __init__(self, raw=None, prev=None, **kw):
        packet_base.__init__(self)

        self.prev = prev

        self.op = 0
        self.htype = 0
        self.hlen = 0
        self.hops = 0
        self.xid = 0
        self.secs = 0
        self.flags = 0
        self.ciaddr = IP_ANY
        self.yiaddr = IP_ANY
        self.siaddr = IP_ANY
        self.giaddr = IP_ANY
        self.chaddr = None
        self.sname = b''
        self.file = b''
        self.magic = self.MAGIC
        self._raw_options = b''

        if raw is not None:
            self.parse(raw)
        else:
            self.options = util.DirtyDict()

        self._init(kw)
Exemplo n.º 2
0
 def parseOptions(self):
     self.options = util.DirtyDict()
     self.parseOptionSegment(self._raw_options)
     if dhcp.OVERLOAD_OPT in self.options:
         opt_val = self.options[dhcp.OVERLOAD_OPT]
         if len(opt_val) != 1:
             self.warn('DHCP overload option has bad len %u' %
                       (len(opt_val), ))
             return
         if opt_val == 1 or opt_val == 3:
             self.parseOptionSegment(self.file)
         if opt_val == 2 or opt_val == 3:
             self.parseOptionSegment(self.sname)