code: func (b *NexthopRegisterBody) DecodeFromBytes(data []byte, version uint8) error {
  	offset := 0
  
  	// List of Registered Nexthops
  	b.Nexthops = []*RegisteredNexthop{}
  	for len(data[offset:]) > 0 {
  		nh := new(RegisteredNexthop)
  		err := nh.DecodeFromBytes(data[offset:])
  		if err != nil {
  			return err
  		}
  		b.Nexthops = append(b.Nexthops, nh)
  
  		offset += nh.Len()
  		if len(data) < offset {
  			break
  		}
  	}
  
  	return nil
  }
docs: // Reference: zserv_nexthop_register in zebra/zserv.c of Quagga1.2.x (ZAPI3)
  // Reference: zserv_rnh_register in zebra/zserv.c of FRR3.x (ZAPI4)
  // Reference: zread_rnh_register in zebra/zapi_msg.c of FRR5.x (ZAPI5)