'Function to check if floatingip need to be processed or skipped.
Skip if host and dest_host is none and the agent
requesting is not dvr_snat agent, and the fip has
not already been assigned \'dvr_snat_bound\' state.'

def _should_skip_floating_ip_processed_for_given_agent(self, floating_ip, fip_host, fip_dest_host, agent):

    agent_mode = self._get_agent_mode(agent)
    return ((fip_host is None) and (fip_dest_host is None) and (agent_mode in [const.L3_AGENT_MODE_LEGACY, const.L3_AGENT_MODE_DVR]) and (not floating_ip.get(l3_const.DVR_SNAT_BOUND)))
