code: func (s *NetlinkSocket) RequestMulti(req *NlMsgBuilder, consumer func(*NlMsgParser) error) error {
  	seq, err := s.send(req)
  	if err != nil {
  		return err
  	}
  
  	return s.Receive(func(msg *NlMsgParser) (bool, error) {
  		relevant, err := msg.checkResponseHeader(s.PortId(), seq)
  		if !relevant || err != nil {
  			return false, err
  		}
  
  		if msg.NlMsghdr().Type == syscall.NLMSG_DONE {
  			return true, processNlMsgDone(msg)
  		}
  
  		err = consumer(msg)
  		if err != nil {
  			return true, err
  		}
  
  		return false, nil
  	})
  }
docs: // Do a netlink request that yield multiple response messages.