code: def pack(self, value=None):
          
          if isinstance(value, type(self)):
              return value.pack()
  
          if self.pcp is None and self.cfi is None and self.vid is None:
              return b''
          self.pcp = self.pcp if self.pcp is not None else 0
          self.cfi = self.cfi if self.cfi is not None else 0
          self.vid = self.vid if self.vid is not None else 0
          self._tci = self.pcp << 13 | self.cfi << 12 | self.vid
          return super().pack()
docs: Pack the struct in a binary representation.
  
          Merge some fields to ensure correct packing.
  
          If no arguments are set for a particular instance, it is interpreted as
          abscence of VLAN information, and the pack() method will return an
          empty binary string.
  
          Returns:
              bytes: Binary representation of this instance.