code: def add_redistribution(self, protocol, route_map_name=None):
          
          protocols = ['bgp', 'rip', 'static', 'connected']
          if protocol not in protocols:
              raise ValueError('redistributed protocol must be'
                               'bgp, connected, rip or static')
          if route_map_name is None:
              cmd = 'redistribute {}'.format(protocol)
          else:
              cmd = 'redistribute {} route-map {}'.format(protocol,
                                                          route_map_name)
          return self.configure_ospf(cmd)
docs: Adds a protocol redistribution to OSPF
  
             Args:
                 protocol (str):  protocol to redistribute
                 route_map_name (str): route-map to be used to
                                       filter the protocols
             Returns:
                 bool: True if the command completes successfully
             Exception:
                 ValueError:  This will be raised if the protocol pass is not one
                              of the following: [rip, bgp, static, connected]