Esempio n. 1
0
 def post_build(self, p, pay):
     if self.chksum is None:
         if isinstance(self.underlayer, IP):
             ck = in4_chksum(112, self.underlayer, p)
         elif isinstance(self.underlayer, IPv6):
             ck = in6_chksum(112, self.underlayer, p)
         else:
             warning("No IP(v6) layer to compute checksum on VRRP. Leaving null")  # noqa: E501
             ck = 0
         p = p[:6] + chb(ck >> 8) + chb(ck & 0xff) + p[8:]
     return p
 def post_build(self, p, pay):
     if self.chksum is None:
         if isinstance(self.underlayer, IP):
             ck = in4_chksum(112, self.underlayer, p)
         elif isinstance(self.underlayer, IPv6):
             ck = in6_chksum(112, self.underlayer, p)
         else:
             warning("No IP(v6) layer to compute checksum on VRRP. "
                     "Leaving null")
             ck = 0
         p = p[:6] + chb(ck >> 8) + chb(ck & 0xff) + p[8:]
     return p
Esempio n. 3
0
    def post_build(self, p, pay):
        p += pay
        tmp_len = self.len

        if tmp_len is None:
            tmp_len = len(p)
            p = p[:2] + struct.pack("!H", tmp_len) + p[4:]

        if self.chksum is None:
            chksum = in6_chksum(89, self.underlayer, p)
            p = p[:12] + struct.pack("!H", chksum) + p[14:]

        return p
Esempio n. 4
0
    def post_build(self, p, pay):
        p += pay
        tmp_len = self.len

        if tmp_len is None:
            tmp_len = len(p)
            p = p[:2] + struct.pack("!H", tmp_len) + p[4:]

        if self.chksum is None:
            chksum = in6_chksum(89, self.underlayer, p)
            p = p[:12] + struct.pack("!H", chksum) + p[14:]

        return p
Esempio n. 5
0
    def post_build(self, p, pay):
        p += pay
        l = self.len

        if l is None:
            l = len(p)
            p = p[:2] + struct.pack("!H", l) + p[4:]

        if self.chksum is None:
            chksum = in6_chksum(89, self.underlayer, p)
            p = p[:12] + chr(chksum >> 8) + chr(chksum & 0xff) + p[14:]

        return p
    def post_build(self, p, pay):
        p += pay
        l = self.len

        if l is None:
            l = len(p)
            p = p[:2] + struct.pack("!H", l) + p[4:]

        if self.chksum is None:
            chksum = in6_chksum(89, self.underlayer, p)
            p = p[:12] + chr(chksum >> 8) + chr(chksum & 0xff) + p[14:]

        return p