| 1026 | |
| 1027 | |
| 1028 | class DestIP6Field(IP6Field, DestField): |
| 1029 | bindings = {} # type: Dict[Type[Packet], Tuple[str, Any]] |
| 1030 | |
| 1031 | def __init__(self, name, default): |
| 1032 | # type: (str, str) -> None |
| 1033 | IP6Field.__init__(self, name, None) |
| 1034 | DestField.__init__(self, name, default) |
| 1035 | |
| 1036 | def i2m(self, pkt, x): |
| 1037 | # type: (Optional[Packet], Optional[Union[str, Net6]]) -> bytes |
| 1038 | if x is None and pkt is not None: |
| 1039 | x = self.dst_from_pkt(pkt) |
| 1040 | return IP6Field.i2m(self, pkt, x) |
| 1041 | |
| 1042 | def i2h(self, pkt, x): |
| 1043 | # type: (Optional[Packet], Optional[Union[str, Net6]]) -> str |
| 1044 | if x is None and pkt is not None: |
| 1045 | x = self.dst_from_pkt(pkt) |
| 1046 | return super(DestIP6Field, self).i2h(pkt, x) |
| 1047 | |
| 1048 | |
| 1049 | class ByteField(Field[int, int]): |