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
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
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
def set_short(ca, bx, x): # Set 16-bit integer into cdata uint8_t[] lib.set_short(ca, bx, x)