def update_port(self, context, id, port):
        """Handle port update, including security groups and fixed IPs."""
        LOG.info(_("MidonetPluginV2.update_port called: id=%(id)s "
                   "port=%(port)r"), {'id': id, 'port': port})
        with context.session.begin(subtransactions=True):

            # update the port DB
            p = super(MidonetPluginV2, self).update_port(context, id, port)

            self._process_port_update(context, id, port, p)
            self._process_portbindings_create_and_update(context,
                                                         port['port'], p)
            self.api_cli.update_port(id, p)

        LOG.info(_("MidonetPluginV2.update_port exiting: p=%r"), p)
        return p