Example #1
0
 def set_checksum(self, cks_v):
     if self.pi.o_kind != KIND_PKT:
         raise PltError("Object didn't come from a plt Packet")
     if not self.check_ip(12):
         raise PltError("Data too short to set IP checksum")
     if cks_v < 0 or cks_v > 0xFFFF:
         raise PltError("Checksum not 16-bit unsigned integer")
     lib.set_short(self.pi.l3p, 10, cks_v)
     return None
Example #2
0
 def set_traffic_class(self, new_val):
     version = self.check_inet(2, 2)
     if version == 4:
         self.pi.l3p[1] = new_val
     elif version == 6:
         val = lib.get_short(self.pi.l3p, 0)
         lib.set_short(self.pi.l3p, 0, (val & 0xF00F) | (new_val << 4))
     else:
         raise PltError("Data too short to set traffic_class")
     return None
Example #3
0
 def set_checksum(self, cks_v):
     self.check_tcp(18)
     if cks_v < 0 or cks_v > 0xFFFF:
         raise PltError("Checksum not 16-bit unsigned integer")
     lib.set_short(self.pi.dp, 16, cks_v)
     return None
Example #4
0
def set_short(ca, bx, x):  # Set 16-bit integer into cdata uint8_t[]
    lib.set_short(ca, bx, x)