def _add_redundancy_router_interfaces(self, context, router, itfc_info,<EOL>new_port, redundancy_router_ids=None,<EOL>ha_settings_db=None,<EOL>create_ha_group=True):
<EOL>router_id = router['<STR_LIT:id>']<EOL>if ha_settings_db is None:<EOL><INDENT>ha_settings_db = self._get_ha_settings_by_router_id(context,<EOL>router_id)<EOL><DEDENT>if ha_settings_db is None:<EOL><INDENT>return<EOL><DEDENT>e_context = context.elevated()<EOL>add_by_subnet = (itfc_info is not None and '<STR_LIT>' in itfc_info and<EOL>len(new_port['<STR_LIT>']) > <NUM_LIT:1>)<EOL>if (add_by_subnet is False or (itfc_info is None and<EOL>create_ha_group is True)):<EOL><INDENT>self._create_ha_group(e_context, router, new_port, ha_settings_db)<EOL><DEDENT>fixed_ips = self._get_fixed_ips_subnets(new_port['<STR_LIT>'])<EOL>for r_id in (redundancy_router_ids or<EOL>self._get_redundancy_router_ids(e_context, router_id)):<EOL><INDENT>if add_by_subnet is True:<EOL><INDENT>ports = self._core_plugin.get_ports(<EOL>e_context,<EOL>filters={'<STR_LIT>': [r_id],<EOL>'<STR_LIT>': [new_port['<STR_LIT>']]},<EOL>fields=['<STR_LIT>', '<STR_LIT:id>'])<EOL>redundancy_port = ports[<NUM_LIT:0>]<EOL>fixed_ips = redundancy_port['<STR_LIT>']<EOL>fixed_ip = {'<STR_LIT>': itfc_info['<STR_LIT>']}<EOL>fixed_ips.append(fixed_ip)<EOL>self._core_plugin.update_port(<EOL>e_context, redundancy_port['<STR_LIT:id>'],<EOL>{'<STR_LIT:port>': {'<STR_LIT>': fixed_ips}})<EOL><DEDENT>else:<EOL><INDENT>redundancy_port = self._create_hidden_port(<EOL>e_context, new_port['<STR_LIT>'], '<STR_LIT>', fixed_ips)<EOL>interface_info = {'<STR_LIT>': redundancy_port['<STR_LIT:id>']}<EOL>self.add_router_interface(e_context, r_id, interface_info)<EOL><DEDENT><DEDENT>
To be called in add_router_interface() AFTER interface has been
        added to router in DB.