def _default_read_frame(self, *, frame=None, mpkit=None):
from pcapkit.toolkit.default import (ipv4_reassembly, ipv6_reassembly,<EOL>tcp_reassembly, tcp_traceflow)<EOL>if not self._flag_m:<EOL><INDENT>frame = Frame(self._ifile, num=self._frnum+<NUM_LIT:1>, proto=self._dlink,<EOL>layer=self._exlyr, protocol=self._exptl, nanosecond=self._nnsec)<EOL>self._frnum += <NUM_LIT:1><EOL><DEDENT>if self._flag_v:<EOL><INDENT>print(f'<STR_LIT>')<EOL><DEDENT>frnum = f'<STR_LIT>'<EOL>if not self._flag_q:<EOL><INDENT>if self._flag_f:<EOL><INDENT>ofile = self._ofile(f'<STR_LIT>')<EOL>ofile(frame.info, name=frnum)<EOL><DEDENT>else:<EOL><INDENT>self._ofile(frame.info, name=frnum)<EOL><DEDENT><DEDENT>if self._ipv4:<EOL><INDENT>flag, data = ipv4_reassembly(frame)<EOL>if flag:<EOL><INDENT>self._reasm[<NUM_LIT:0>](data)  <EOL><DEDENT><DEDENT>if self._ipv6:<EOL><INDENT>flag, data = ipv6_reassembly(frame)<EOL>if flag:<EOL><INDENT>self._reasm[<NUM_LIT:1>](data)  <EOL><DEDENT><DEDENT>if self._tcp:<EOL><INDENT>flag, data = tcp_reassembly(frame)<EOL>if flag:<EOL><INDENT>self._reasm[<NUM_LIT:2>](data)  <EOL><DEDENT><DEDENT>if self._flag_t:<EOL><INDENT>flag, data = tcp_traceflow(frame, data_link=self._dlink)<EOL>if flag:<EOL><INDENT>self._trace(data)<EOL><DEDENT><DEDENT>if self._exeng == '<STR_LIT>':<EOL><INDENT>if self._flag_d:<EOL><INDENT>mpkit.frames[self._frnum] = frame<EOL><DEDENT>mpkit.current += <NUM_LIT:1><EOL><DEDENT>elif self._exeng == '<STR_LIT>':<EOL><INDENT>if self._flag_d:<EOL><INDENT>self._frame.append(frame)<EOL><DEDENT>self._frnum += <NUM_LIT:1><EOL><DEDENT>else:<EOL><INDENT>if self._flag_d:<EOL><INDENT>self._frame.append(frame)<EOL><DEDENT>self._proto = frame.protochain.chain<EOL><DEDENT>return frame<EOL>
Read frames with default engine.

        - Extract frames and each layer of packets.
        - Make Info object out of frame properties.
        - Append Info.
        - Write plist & append Info.