<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _do_packet(self, packet, ip, port):
 """ React to incoming packet :param packet: Packet to handle :type packet: T >= paps.si.app.message.APPMessage :param ip: Client ip address :type ip: unicode :param port: Client port :type port: int :rtype: None """

        msg_type = packet.header.message_type

        if msg_type == MsgType.JOIN:
            self._do_join_packet(packet, ip, port)
        elif msg_type == MsgType.UNJOIN:
            self._do_unjoin_packet(packet, ip, port)
        elif msg_type == MsgType.UPDATE:
            self._do_update_packet(packet, ip, port)